Although computational modelling is a common activity in science and engineering, the actual construction or assembling of computational models on the basis of domain knowledge sources has not received much R&D attention as it is primarily considered to be a programming activity. In this paper we show that an important class of computational models in design and analysis can be represented and manipulated as abstract structures that can be assembled from smaller elements or model fragments, no matter the application or discipline. So, on the basis of user provided data and a knowledge base containing computational model fragments, program interfaces and design data (Knowledge-based), executable computational schemes (Computational Model) can be constructed (Assembling) for a wide range of design and analysis applications.
KCMA identifies knowledge coding, model fragment selection, model assembling and execution as generic tasks. Before any calculation can be performed, a knowledge engineer captures relevant (computational) domain knowledge and stores it as model fragments in a knowledge base. The first step in the assembling of any computational model is the validation and selection model fragments, governed by a designer of analyst if necessary or desired. The final tasks are the assembling of the selected, validated model fragments into a computational model and its subsequent execution. For this purpose, we developed a computational domain and data model and strategies for user interaction and reasoning with numerical model fragments. The reasoning steps, heuristics and properties of model fragments were extracted from a variety of applications, of which some are presented in this paper. The developed Model Assembler and the Telitab data model are the cornerstones of KCMA as implemented in our shell system Quaestor. Quaestor supports scientists and engineers with knowledge management, numerical and nominal modelling and computational application of this knowledge.
The KCMA applications presented in this paper are powerful and cost-effective information systems in science and engineering. These systems formed by collections of knowledge and software components are maintained and extended by domain specialists, and not necessarily by ICT professionals. System development is reduced to a process of domain knowledge acquisition and software component maintenance. Component selection and assembling into software solutions for dedicated applications, traditionally a software engineering activity is largely automated, leaving sufficient ability to users to govern and control the assembling or modelling process. Not being bothered by algorithmic issues, the focus is now on the quality and validity of the system components and the underlying knowledge, i.e. the relationships between the parameters describing the domain.
cfd/simulation/desk studiesmeasurements and controldata sciencesoftware engineering