A Model-Based Systems Engineering Framework for developing Knowledge Based Engineering Applications

More Info
expand_more

Abstract

Knowledge Based Engineering (KBE) is a particularly relevant technology for addressing the increasing complexity of engineering systems, the need for rapid time-to-market, and the need for achieving reductions in the costs of product development. KBE applications can be effective means of automating repetitive engineering design tasks, enabling engineers to enhance their designs through optimization and innovation. However, the current development process of KBE applications can be improved, as it has shortcomings that limit a wider adoption of KBE technology. Currently, two primary approaches are employed in the development of KBE applications. The first approach involves directly coding the engineering knowledge within the application itself, while the second approach entails modeling the engineering knowledge outside the application and subsequently converting it into executable code, manually. Both approaches result in applications that are perceived, to varying degrees, as “black boxes”. This makes it challenging to understand how the application reaches its conclusions, which can hinder the end-user's trust in the application and limit its acceptance. To date, a suitable methodology to effectively support KBE app development is lacking, which has considerable implications on the time required for application development, as well as the quality of the applications in terms of traceability of requirements and domain knowledge within the KBE application code, the applications' maintainability and scalability, and (eventually) the ability to preserve and efficiently reuse engineering knowledge.
To address the outlined shortcomings of the current KBE app development process, this thesis proposes a novel framework for the development of KBE applications, based on Model-Based Systems Engineering (MBSE) concepts, to model domain knowledge and requirements, and to support (semi-)automatic generation of KBE apps through visual editing, as opposed to standard coding. The key objectives of this framework are to improve knowledge capture and formalization, requirements traceability, and knowledge reuse in KBE applications. In the proposed framework, the knowledge required for developing a KBE application is first captured in a formal knowledge model that uses the industry-standard Systems Modeling Language (SysML). Source code is then automatically generated for the targeted KBE system (ParaPy) using a model-to-code tool developed in this research. Traceability of requirements onto the various elements of the KBE app architecture is also provided, thereby reducing the typical black-box effect of KBE applications. Furthermore, the framework allows to reuse knowledge from previously generated knowledge models, enabling effective project-to-project knowledge transfer.
This thesis presents the development of three distinct KBE applications using the proposed framework, with the aim of evaluating it in terms of ease of modeling, development time, and quality of the automatically generated (skeleton) code. Preliminary results show that the learning curve to modeling is intuitive and easy enough to learn; the time required for generating the knowledge models is lower than current modeling processes; the automatically generated code is error-free, well-structured, and complies with existing coding standards, providing a correct starting point for further app development, while resulting in time savings in the development of the app skeleton.