badge icon

This article was automatically translated from the original Turkish version.

Article

Model-Based Software Engineering

Model-Based Software Engineering (MBSwE) is an alternative approach to traditional document-centric methods, centering models in the software development process to carry out design, analysis, verification, and validation activities. In the 21st century, engineering systems—both software and hardware—are becoming increasingly large-scale and complex. This complexity introduces significant challenges in areas such as accuracy, traceability, quality assurance, and interdisciplinary alignment during system design and development.


Developing a new product, particularly in embedded and safety-critical systems, is a long, iterative, and error-prone process. The system design cycle relies on a series of analysis and synthesis stages at varying levels of detail and precision. Therefore, integrating system engineering methods with model-based approaches is critically important for ensuring accuracy and continuity.


The demands posed by complex systems have led to the emergence of the concept of Model-Based System Engineering (MBSE). MBSE anticipates the systematic use of models throughout the system lifecycle for defining requirements, creating architecture, conducting verification and validation, and enabling continuous improvement. The International Council on Systems Engineering (INCOSE) defines Model-Based System Engineering as "the formalized application of modeling to support system requirements, design, analysis, verification, and validation activities, beginning in the conceptual design phase and continuing throughout development."【1】


Adapting this approach to software engineering has given rise to Model-Based Software Engineering (MBSwE) and one of its application methods, Model-Based Design and Testing (MBDT). These methods enable early validation of requirements, evaluation of design decisions through simulation, reduction of development time via automatic code generation, and extension of verification and validation activities across all phases of the lifecycle. As a result, quality, reliability, and traceability in software and system engineering improve, while development costs and error rates decrease.

Model-Based System Engineering

Model-Based System Engineering (MBSE) is defined as a methodology that centers models instead of documents in systems engineering and systematically employs these models throughout the entire lifecycle. The key feature of MBSE is the integration of multidimensional system components—addressed by different disciplines—into a single modeling environment. This allows the system’s behavior, structure, requirements, and constraints to be managed through a single "single source of truth." This integrated structure prevents the inconsistencies and information losses commonly encountered in traditional document-based approaches.


The need for MBSE can be explained by the increasing complexity of modern systems and the intensification of interdisciplinary dependencies. This method is gaining increasing importance in systems engineering practices. First, it contributes to managing complexity by systematically defining interactions among subsystems in multi-component and multidisciplinary systems. Additionally, it enhances analytical and predictive capabilities by enabling early prediction of the consequences of potential design decisions through model-based simulations. It also supports design decisions by allowing systematic comparison among alternative solutions. By moving requirement validation and design verification to earlier stages of the lifecycle, MBSE makes these activities more effective. Finally, it strengthens communication and collaboration by ensuring all stakeholders develop a shared understanding through a common model.


MBSE is applied across various stages of systems engineering and in diverse fields. Examples include defining system architecture, functional and structural modeling, risk analysis, safety and cybersecurity assessments, simulation-based optimization, and continuous improvement initiatives. The growing adoption of MBSE in the aerospace and space sectors is particularly notable. NASA reports emphasize that MBSE is being strategically adopted by both industry and public institutions for developing complex space systems.

Model-Based Software Engineering

Model-Based Software Engineering (MBSwE) is a methodology that centers models in the software development process to perform design, analysis, verification, and validation activities. Unlike document-centric software engineering approaches, MBSwE aims to integrate the structural and behavioral components of software into a single modeling environment. The primary motivation behind MBSwE is to manage increasing software complexity, accelerate the development process, and strengthen quality assurance mechanisms.


MBSwE is most commonly discussed in conjunction with automatic code generation. Automatic code generation facilitates the direct derivation of source code from models, reducing inconsistencies between design and implementation. However, these technologies also have limitations. The literature reveals a scarcity of experimental studies on the impact of model-based software engineering and automatic code generation on software quality. This highlights the need for further research to determine to what extent the theoretical advantages of this approach are realized in practice.


An example of MBSwE implementation is the flight software used in a NASA mission.【2】 The software in this mission consisted of manually written code as well as automatically generated code from two different model-based approaches: a state diagram-based approach and a dictionary-based approach incorporating commands and telemetry data.


Approximately 18% of the mission software was automatically generated, 56% was newly developed, and the remainder was re-engineered or reused. This distribution demonstrates that model-based methods are not applied in isolation but rather as part of a hybrid structure alongside traditional software development approaches.

Object-Oriented Paradigm: UML and OCL

The object-oriented paradigm and the Unified Modeling Language (UML) have played a significant role in the development of MBSwE. UML is widely used as a standard visual language for modeling different aspects of software. However, UML is insufficient in terms of semantic definition (semantic gap). A prominent indicator of this gap is that relationships used in analysis—such as inheritance—carry different meanings in the design phase.


Visual Illustrating Semantic Gap in UML Diagrams (Generated by Artificial Intelligence)

To address this issue, the Object Constraint Language (OCL) is used alongside UML to express formal constraints. Although OCL is a syntactically powerful tool, it has not achieved widespread adoption among software developers and is only marginally covered in UML textbooks. This situation demonstrates that semantic issues remain a critical barrier in the software development process.

Relationship with Model-Driven Engineering

MBSwE can be viewed within the broader framework of Model-Driven Engineering (MDE). MDE represents a shift from code-centric to model-centric development and is regarded in software engineering as an "semantic revolution." This paradigm aims to enhance software quality and sustainability by reflecting developers’ problem-solving experiences onto pre-defined models. However, MDE’s goals of formalization and automation are sometimes disrupted by inconsistencies between semantic and syntactic types. The ability of UML symbols to be interpreted differently throughout the process is a major issue that undermines automation objectives.

Model-Based Design and Testing

Model-Based Design and Testing (MBDT) is a methodology that places models at the center of all stages in software and embedded system development, from requirements to verification and validation. In traditional methods, requirements are typically expressed through textual documents; in MBDT, these requirements are formulated as "executable requirement models (ERMs)." This enables early validation of requirements and significantly reduces errors arising from misinterpretation or communication gaps among stakeholders.


MBDT is not merely a tool for accelerating software development; it is also an approach that ensures functional correctness from the very beginning of the lifecycle. In this regard, it offers a more effective and integrated structure compared to traditional approaches that defer verification and validation (V&V) to the end of the process.

Process Phases

Requirements Gathering and Analysis

In this phase, system requirements are expressed not only through documents but also through executable models. Thanks to the Executable Requirement Model (ERM), early validation of requirements becomes possible, communication with stakeholders becomes clearer and more consistent, and many documents that would otherwise require manual preparation can be automatically generated based on the ERM.

Design

The output of the requirements phase, the ERM, serves as direct input to the design phase. In this stage, system architecture, interfaces, functions, and procedures are expressed using modeling tools. The accuracy of the design model is tested through simulations or continuous prototyping. Applying standardized design rules ensures that models are simple, readable, and reusable. Additionally, plant models that emulate real-world processes are created to enhance the feasibility of the design.

Implementation

Design models are converted into executable source code through automatic code generation tools. In this phase, code modifications are made directly on the model rather than on the code itself. Furthermore, automating code generation, integration, and build processes enhances the consistency of the development lifecycle. The preference for tools enabling platform-independent code generation, such as Embedded Coder, strengthens the flexibility of the process. This eliminates inconsistencies that may arise during manual coding and significantly reduces development time.

Verification and Validation

One of the most important contributions of MBDT is extending verification and validation activities beyond the end of the lifecycle to encompass all phases. This process, initiated by the Executable Requirement Model (ERM), continues through stages such as Software-in-the-Loop Testing, Processor-in-the-Loop Testing, and Hardware-in-the-Loop Testing.


Verification and Validation Workflow in Model-Based Design (Umut Durak)

These methods ensure continuous testing of the alignment between model and code and the integrity of the system. If an error is detected, the process returns to the design model for revision; upon successful resolution, integration and target hardware testing are completed to ensure system correctness.

Citations

  • [1]

    Karayazı, T., Varol, Y. B., Koçak, S., & Temel, R. "Model Tabanlı Sistem Mühendisliği Tekniklerini Kullanarak Uygulama Yazılım Mimarisi Tasarlanması: Dış Işıklandırma Grubu ve Kısa Far Özelliği Üzerine Vaka Çalışması". 2023. İstanbul. Erişim Adresi.

  • [2]

    Goseva-Popstojanova, K., Kyanko, T., & Nkwocha, N. "Benefits and challenges of model-based software engineering: Lessons learned based on qualitative and quantitative findings." In 2019 IEEE 30th International Symposium on Software Reliability Engineering (ISSRE) (pp. 413-423). IEEE. (2019, October). Erişim Adresi.

Author Information

Avatar
AuthorBeyza Nur TürküDecember 1, 2025 at 9:11 AM

Tags

Discussions

No Discussion Added Yet

Start discussion for "Model-Based Software Engineering" article

View Discussions

Contents

  • Model-Based System Engineering

  • Model-Based Software Engineering

    • Object-Oriented Paradigm: UML and OCL

    • Relationship with Model-Driven Engineering

  • Model-Based Design and Testing

    • Process Phases

      • Requirements Gathering and Analysis

      • Design

      • Implementation

      • Verification and Validation

Ask to Küre