@inproceedings{, author = {Terzimehić, Tarik and Groh, Eddie and Zoitl, Alois}, title = {Composing Services with SMT-Based Deployment Optimization and Service Merging Heuristic}, booktitle = {28th International Conference on Emerging Technologies and Factory Automation (ETFA)}, publisher = {IEEE}, year = {2023}, month = sep, timestamp = 2023.09.13, location = {Sinaia, Romania}, abstract = {The complexity of Industry 4.0 systems makes it challenging to manually synthesize and optimize architecture level decisions, such as service deployment and composition. To address this challenge, we propose an approach that utilizes a satisfiability modulo theories (SMT) solver to (semi-)automate service deployment and composition synthesis. Thereby, we conceptualize, formalize, and implement the complete workflow from input service workflows to valid and optimized service deployments and compositions. We demonstrate the practical application of our approach in an Industry 4.0 scenario, specifically the flexible production of new products. We evaluate the effectiveness of the proposed approach by investigating its benefits in terms of engineering effort, complexity of the resulting IEC 61499-based applications, and improvement of communication coupling quality attribute (QA).}, doi = {10.1109/ETFA54631.2023.10275652}, keywords = {Industry 4.0, IEC 61499, deployment synthesis, service composition, optimization, SMT, Design-Space Exploration, DSE, Model-based Systems engineering, MbSE}, } @article{, author = {Dantas, Yuri Gil and Munaro, Tiziano and C{\^{a}}rlan, Carmen and Nigam, Vivek and Barner, Simon and Fan, Shiqing and Pretschner, Alexander and Sch{\"{o}}pp, Ulrich and Tverdyshev, Sergey}, title = {A Toolchain for Synthesizing and Validating Safety Architectures}, publisher = {Springer}, journal = {SN Computer Science}, volume = {4}, number = {4}, pages = {335}, year = {2023}, month = apr, timestamp = 2023.04.15, abstract = {Autonomous vehicles handle complicated tasks that may lead to harm when performed incorrectly. These harms, in particular when caused by system faults, may be avoided by the deployment of safety architectural patterns, such as the Heterogeneous Duplex pattern. Our goal is to provide safety engineers with computer-aided support for synthesizing architectures with safety architecture patterns. To this end, we build on our previous work in which we proposed a model-based system engineering plugin to enable the model-driven approach using safety architecture patterns. This article proposes a toolchain for synthesizing the structure and switching logic of safety architectures, as well as for validating them through simulation-based fault-injection. We validate our toolchain using an industrial use-case for autonomous driving systems, namely, a Highway Pilot system.}, issn = {2661-8907}, doi = {10.1007/s42979-023-01712-5}, keywords = {Model-based systems engineering, Toolchain, Safety architecture patterns, Reconfiguration, Simulation, MbSE, AutoFOCUS3, DSE}, } @inproceedings{, author = {Terzimehić, Tarik and Barner, Simon and Dantas, Yuri Gil and Sch{\"{o}}pp, Ulrich and Nigam, Vivek and Ke, Pei}, title = {Safety-Aware Deployment Synthesis and Trade-Off Analysis of Apollo Autonomous Driving Platform}, booktitle = {9th International Workshop on Automotive System/Software Architectures ({WASA}) co-located with {ICSA} 2023}, publisher = {IEEE}, year = {2023}, month = mar, abstract = {The adoption of autonomous cars requires operational critical functions even in the event of HW faults and/or SW defects, and protection of safety-critical functions against security threats. Defining appropriate safe and secure architectures is challenging and costly. In previous work, we have proposed tools to automate the recommendation of safety and security patterns for safety-critical systems. However, safety and security measures may (negatively) influence system performance, besides introducing additional development effort. We present a design space exploration approach, a model-based engineering workflow and tool prototype for automated guidance on trade-off decisions when applying safety and security patterns on a given (unsafe) baseline architecture. Based on models that abstract the vehicle’s functionality and its software and hardware components, as well as an engine for the automated pattern recommendation, we investigate the optimization of HW/SW deployments, and provide a trade-off analysis for different architecture candidates. We implemented our approach in an open-source tool and evaluate it with a model of the Apollo autonomous driving platform.}, doi = {10.1109/ICSA-C57050.2023.00070}, keywords = {Autonomous vehicles, Apollo, model-driven development, system architecture, safety, model-based systems engineering, MbSE, design-space exploration, DSE, AutoFOCUS3, AF3}, } @inproceedings{, author = {Dantas, Yuri Gil and Munaro, Tiziano and C{\^{a}}rlan, Carmen and Nigam, Vivek and Barner, Simon and Fan, Shiqing and Pretschner, Alexander and Sch{\"{o}}pp, Ulrich and Tverdyshev, Sergey}, title = {A Model-based System Engineering Plugin for Safety Architecture Pattern Synthesis}, booktitle = {Proceeding of the 10th International Conference on Model-Driven Engineering and Software Development (MODELSWARD)}, publisher = {SCITEPRESS}, pages = {36--47}, year = {2022}, month = feb, abstract = {Safety architecture patterns are abstract representations to address faults in the system architecture. In the current state of practice, the decision of which safety architecture pattern to deploy and where in the system architecture is carried out manually by a safety expert. This decision may be time consuming or even lead to human errors. This paper presents Safety Pattern Synthesis, a tool for automating the recommendation of safety architecture patterns during the design of safety-critical systems: 1) Safety Pattern Synthesis recommends patterns to address faults in the system architecture (possibly resulting in more than one architectural solution), 2) the user selects the system architecture with patterns based on, e.g., the criteria provided by Safety Pattern Synthesis, and 3) Safety Pattern Synthesis provides certain requirements that shall be considered in the overall safety engineering process. The proposed tool has been implemented as a plugin in the model-based system engineering tool called AutoFOCUS3. Safety Pattern Synthesis is implemented in Java while using a logic-programming engine as a backend to reason about the safety of the system architecture. This paper provides implementation details about Safety Pattern Synthesis and its applicability in an industrial case study taken from the automotive domain.}, isbn = {978-989-758-550-0}, doi = {10.5220/0010831700003119}, keywords = {Model-based Systems Engineering, MbSE, Safety Architecture Patterns, Automation, Tooling, DSE}, } @inproceedings{, author = {Terzimehić, Tarik and Dorofeev, Kirill and Voss, Sebastian}, title = {Exploring Architectural Design Decisions in Industry 4.0: A Literature Review and Taxonomy}, booktitle = {ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)}, publisher = {IEEE}, journal = {ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS)}, year = {2021}, month = oct, abstract = {Architectural design decisions, such as service deployment and composition, plant layout synthesis, or production planning, are an indispensable and overarching part of an industrial manufacturing system design. In the fourth industrial revolution (Industry 4.0), frequent production changes trigger their synthesis, and preferably optimization. Yet, knowledge on architecture synthesis and optimization has been scattered around other domains, such as generic software engineering. We take a step towards synthesizing current knowledge on architectural design decisions in Industry 4.0. We developed a taxonomy describing architectural models, design decisions, and optimization possibilities. The developed taxonomy serves as a guideline for comparing different possibilities (e.g., application of different optimization algorithms) and selecting appropriate ones for a given context. Furthermore, we reviewed and mapped 30 relevant research works to the taxonomy, identifying research trends and gaps. We discuss interesting, and yet uncovered topics that emerged from our review.}, doi = {10.1109/MODELS50736.2021.00026}, keywords = {architecture synthesis, optimization, taxonomy, design-space exploration, DSE, model-based systems engineering, MbSE, Industry 4.0}, } @inproceedings{, author = {Terzimehić, Tarik and Dorofeev, Kirill and Bergemann, Sebastian and Zoitl, Alois and Voss, Sebastian}, title = {Towards Service Deployment and Composition in Industry 4.0}, booktitle = {IEEE International Conference on Emerging Technologies And Factory Automation (ETFA)}, publisher = {IEEE}, journal = {IEEE International Conference on Emerging Technologies And Factory Automation (ETFA)}, year = {2021}, month = sep, abstract = {The fourth industrial revolution (Industry 4.0) anticipates unplanned changes of production processes. Production changes may trigger synthesis, and preferably optimization, of architecture-level decisions, such as service deployment and composition. Performing such architecture-level decisions manually is difficult due to the ever-rising complexity of Industry 4.0 systems. In order to (semi-)automate the architecture synthesis and optimization, we propose an approach of service deployment and composition by using existing domain models. Our contribution is threefold: (1) We suggest a workflow with domain models for architecture synthesis in the industrial automation. (2) We display the formalization on a part of the workflow and provide an initial prototype of service deployment synthesis using a satisfiability modulo theories (SMT) solver. (3) We envision a way of service composition and code generation, and prototypically implemented it as conclusion of the suggested workflow. We demonstrate the practical use of the proposed approach in the Industry 4.0 scenario, i.e., flexible production of new products.}, doi = {10.1109/ETFA45728.2021.9613327}, keywords = {Industry 4.0, IEC 61499, deployment synthesis, service composition, code generation, model-based systems engineering, MbSE, design-space exploration, DSE}, } @article{, author = {Eder, Johannes and Voss, Sebastian and Bayha, Andreas and Ipatiov, Alexandru and Khalil, Maged}, title = {Hardware architecture exploration: automatic exploration of distributed automotive hardware architectures}, journal = {Software and Systems Modeling}, volume = {19}, pages = {911--934}, year = {2020}, month = jul, abstract = {As the engineering of distributed embedded systems is getting more and more complex, due to increasingly sophisticated functionalities demanding more and more powerful hardware, model-based development of software-intensive embedded systems has become a de facto standard in recent years. Among other advantages, it enables design space exploration methods allowing for frontloading techniques which support a system architect already at early stages of development. In this paper, we want to present an approach which is capable of automatically generating automotive E/E architectures (electric/electronic architecture; in-car network of processing units and buses). Based on the concept of viewpoints, we will introduce dedicated technical meta-models, a language to formally describe a hardware architecture exploration problem and an automatic exploration approach using satisfiability modulo theories. We will furthermore introduce a dedicated methodology and show how an exploration integrates into a system development process. In the end, we will evaluate our approach by applying it to an industrial use case provided by Continental.}, doi = {10.1007/s10270-020-00786-6}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, deployment synthesis, HW/SW co-design, model-based systems engineering, MbSE, case study}, } @inproceedings{, author = {Terzimehić, Tarik and Wenger, Monika and Voss, Sebastian and Gr{\"{u}}ner, Sten and Elfham, Haitham}, title = {SMT-Based Deployment Calculation in Industrial Automation Domain}, booktitle = {Proceedings of the {IEEE} International Conference on Emerging Technologies And Factory Automation ({ETFA})}, publisher = {IEEE}, year = {2019}, month = sep, abstract = {The desired flexibility of industrial automation systems foresees among others flexible deployment and execution of control applications on distributed control nodes. This task can be performed more efficiently by an automated deployment algorithm yielding a valid deployment and optimizing nonfunctional objectives. Although extensively investigated, automated deployment approaches for the automotive domain cannot be translated to industrial control applications, due to a different execution semantics. Thus, in this paper, we present a method of satisfiability modulo theories (SMT)-based automated deployment of the industrial automation systems. We formalize and implement domain-relevant constraints and objectives. Our contribution is threefold: 1) we formalize the functional coupling and end-to-end deadline constraints and objectives while considering the semantics of control applications, 2) we encode the deployment problem into an SMT form, and 3) we validate the approach on an abstract example and a domain-relevant use case. The results obtained in this paper will allow application engineers to fulfill functional and real-time requirements by automatically solving the deployment problem.}, doi = {10.1109/ETFA.2019.8868247}, keywords = {BaSys 4.0, Model-based systems engineering, MbSE, deployment, Industry 4.0, IEC 61499, SMT, E2E latency, functional coupling, design-space exploration, DSE}, } @inproceedings{Diewald2019, author = {Diewald, Alexander and Barner, Simon and Saidi, Selma}, title = {Combined Data Transfer Response Time and Mapping Exploration in MPSoCs}, booktitle = {10th International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems ({WATERS}) co-located with {ECRTS}}, year = {2019}, month = jul, abstract = {Recent embedded applications such as Autonomous Driver Assistance Systems (ADAS) require large computational resources that increase the need for HW accelerators, e.g., in system-on-chip-based platforms. Synthesising optimal task/data mappings and schedules for such platforms becomes increasingly challenging, even more in safety-critical contexts. For designing real-time heterogeneous systems, response time computation and the resolution of task mapping problems are required as demanded in the WATERS 2019 challenge. Our contribution to address the challenge is to extend a design space exploration (DSE) formulation of mapping applications on MPSoCs architectures to consider DMA-based data (pre)-fetching. The approach is performed in two steps. First, we determine task mappings to a heterogeneous MPSoC platform using a multi-objective evolutionary algorithm (MOEA)-based DSE. In order to check the feasibility of an allocation, and to rate its quality, we use a SMT solver to construct schedules whose latency is close to the achievable minimum. Our task response time analysis considers the effects of memory access times and DMAs to supply the SMT scheduler with data fetching latencies. The MOEA-DSE, the SMT scheduler, and the response time calculation are integrated into the AutoFOCUS 3 tool that has been extended with an importer for the AMALTHEA model that specifies the challenge use case.}, howpublished = {10th International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems ({WATERS}) co-located with {ECRTS}}, keywords = {AutoFOCUS3, design-space exploration, DSE, deployment synthesis, mapping, model-based systems engineering, MbSE}, url = {https://archives.ecrts.org/fileadmin/WebsitesArchiv/ecrts2019/waters/waters-program/}, } @inproceedings{eder2018exploration, author = {Eder, Johannes}, title = {Exploration of hardware topologies based on functions, variability and timing}, booktitle = {Proceedings of the 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings}, publisher = {ACM}, pages = {145--149}, year = {2018}, month = oct, abstract = {This paper gives an overview over a dissertation project in the area of design space exploration for distributed, embedded systems. As the engineering of distributed embedded systems is getting more and more complex due to increasingly sophisticated functionalities demanding more and more powerful hardware, automation is required in order cope with this rising complexity. Using a model based systems engineering approach enables design space exploration methods which provide such automations, given a formalization of the problem in order to be solvable e.g. by SMT solvers. In this thesis we want to provide an automated synthesis of hardware topologies (E/E architectures) based on the functions which are deployed onto this topology and constraints and optimization objectives which are derived from the requirements of the system. The synthesis shall consider variability aspects (possible variants) of the hardware elements. Additionally, timing aspects of the deployed shall be regarded such that the solution of the synthesis is a hardware topology, a deployment of functions onto this topology and a schedule of these functions. The thesis shall be evaluated by using an automotive industrial use case of realistic size.}, doi = {10.1145/3270112.3275333}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{eder2018deployment, author = {Eder, Johannes and Bayha, Andreas and Voss, Sebastian and Ipatiov, Alexandru and Khalil, Maged}, title = {From deployment to platform exploration: automatic synthesis of distributed automotive hardware architectures}, booktitle = {Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems}, pages = {438--446}, year = {2018}, month = oct, organization = {ACM}, abstract = {In order to cope with the rising complexity of today's systems, model-based development of software-intensive embedded systems has become a de-facto standard in recent years. In a previous work, we demonstrated how such a model-based approach can enable automatization of certain development steps, namely the deployment of logical (platform-independent) system models to technical (platform-specific) system models. Together with Continental, we especially focused on industrial applicability. In this work, we demonstrate how we extended, again in cooperation with Continental, the previous approach in order to enable a synthesis of the topology of technical platforms (E/E architectures) together with a deployment. We furthermore introduced variability concepts in order to model variants of technical platforms which is an industrial required need. Our approach is thus capable of calculating a platform architecture and its topology which is optimized in terms of the deployment of logical system models, constraints, optimization objectives and choses the optimal variant for all technical models.}, doi = {10.1145/3239372.3239385}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE, case study}, } @inproceedings{, author = {Terzimehić, Tarik}, title = {Optimization and Reconfiguration of IEC 61499-based Software Architectures}, booktitle = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS) - Doctoral Symposium}, journal = {ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS) - Doctoral Symposium}, year = {2018}, month = oct, abstract = {The fourth industrial revolution (Industry 4.0) strives for an optimized and flexible production process to reduce configuration costs. To achieve such a production process, first architecture-level decisions (i.e. deployment configuration, scheduling, etc.) are optimized. Following, these optimized architectural configurations are applied to dynamically reconfigure industrial control applications. To calculate software configurations, current research applies Design Space Exploration (DSE) techniques embedded into the IEC 61499 model-based approach. However, this research either applies simple and non-applicable constraints and objectives for real-life problems or considers architectural optimization solely at the design phase. Thus, reconfiguring industrial control applications is still an exhausting and manual task that requires production process' downtime. In this Ph.D. thesis, I handle the automatically optimized reconfiguration of the industrial automation systems. In particular, I propose applying DSE to calculate architectural configurations of IEC 61499-based control applications. To define different configuration problems from real-world situations, I identify domain-specific constraints and objectives. Furthermore, I will tackle the problem of runtime reconfiguration by applying several optimization strategies in various context scenarios and investigating an incremental search for new optimal configurations.}, doi = {doi.org/10.1145/3270112.3275336}, keywords = {Architectural Optimization, DSE, MbSE, model-based systems engineering, Industry 4.0, IEC 61499}, } @inbook{, author = {Migge, J{\"{o}}rn and Balbastre, Patricia and Barner, Simon and Chauvel, Franck and Craciunas, Silviu S. and Diewald, Alexander and Durrieu, Guy and Haugen, Oystein and Syed, Ali Abbas Jaffari and Pagetti, Claire and Oliver, Ramon Serna and Vasilevskiy, Anatoly}, editor = {Ahmadian, Hamidreza and Obermaisser, Roman and P{\'{e}}rez, Jon}, title = {Algorithms and Tools}, booktitle = {Distributed Real-Time Architecture for Mixed-Criticality Systems}, publisher = {{CRC} Press}, pages = {98}, year = {2018}, month = aug, timestamp = 2018.08.21, abstract = {This chapter introduces the algorithms and tools to support the design and verification activities of the model driven development process. In addition, the scheduling and configuration algorithms are described to support different scheduling domains of the DREAMS architecture. This chapter begins with Section 5.1.2, which describes variability and design space exploration in the design of mixed-criticality systems. In Section 5.2, scheduling algorithms at different levels, e.g., partition level, task level, on-chip and off-chip communication are elaborated. Adaptation strategies is another topic which is covered in Section 5.3. Recovery strategies, transition modes for faster switching and algorithms for online admission of tasks in offline scheduling tables are described in this section. Timing analysis is described in Section 5.4 at different levels and Section 5.5 describes by the tools. At the Section 5.6 three toolchain use cases are presented that help to apply the toolchain.}, isbn = {978-0-8153-6064-3}, doi = {10.1201/9781351117821-5}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{, author = {Terzimehić, Tarik and Voss, Sebastian and Wenger, Monika}, title = {Using Design Space Exploration to Calculate Deployment Configurations of IEC 61499-based Systems}, booktitle = {14th IEEE International Conference on Automation Science and Engineering (IEEE CASE 2018)}, publisher = {IEEE}, journal = {14th IEEE International Conference on Automation Science and Engineering (IEEE CASE 2018)}, year = {2018}, month = aug, abstract = {Continuous digitalization in the industry leads to new, highly complex systems that increase configuration costs. In particular, software and hardware changes cause major downtime. To dynamically reconfigure control system and avoid downtime, it is necessary to calculate valid or optimal deployment configurations. Previous research applies Design Space Exploration (DSE) techniques embedded into model-based design methodologies to calculate deployment configurations. However, current research either aims domains other than industrial automation or applies simple and, for real-life problems, not applicable constraints and objectives. Thus, the deployment of software components to hardware components is still an exhausting and manual task. In this work, we take first steps towards an automatically optimized deployment of the industrial automation systems. In particular, we propose applying DSE to calculate deployment configurations of IEC 61499-based control applications. In order to reduce the exploration space, we identify domain-specific constraints and objectives. Furthermore, we extend the IEC 61499 System and Application models' descriptions by proposing relevant hardware and software annotations. We exhibit the applicability of the identified annotations, constraints and objectives on the example of an Industry 4.0 relevant case study.}, doi = {10.1109/COASE.2018.8560591}, keywords = {IEC 61499, control system, design-space exploration, DSE, deployment, Industry 4.0, Model-based Systems Engineering, MbSE}, } @inproceedings{voss2018handling, author = {Voss, Sebastian and Eder, Johannes}, title = {Handling system complexity in sCPS: usable design space exploration}, booktitle = {2018 IEEE/ACM 4th International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS)}, pages = {2--5}, year = {2018}, month = may, organization = {IEEE}, abstract = {With a growing demand for complex features in smart cyber physical systems, the design of such system is getting increasingly complex. These features demand sound and scalable approaches to deal with the increasing design space. Consequently, standards (e.g. like ISO26262) propose methods and techniques for the systematic development of (in this case: automotive) systems. The growing amount of functionality correspondingly require more powerful electronic platforms and thus methods to deal with the integration. In this paper, we describe drivers for complexity and illustrate how formal methods, namely design space exploration techniques, can be applied to deal with this complexity. This approach is based on requirements defined by the given standards and supports the system designer by a (semi-) automatic approach to handle the complexity in system design - already in early design phases.}, doi = {10.1145/3196478.3196489}, keywords = {AutoFOCUS3, design-space exploration, DSE, deployment synthesis, mapping, model-based systems engineering, MbSE}, } @inproceedings{, author = {Terzimehić, Tarik and Voss, Sebastian and Wenger, Monika and Aravantinos, Vincent}, title = {Applying DSE for Solving the Deployment Problem in Industry 4.0}, booktitle = {14th Dagstuhl Workshop on Model-Based Development of Embedded Systems (MBEES)}, publisher = {fortiss GmbH}, journal = {14th Dagstuhl Workshop on Model-Based Development of Embedded Systems (MBEES)}, year = {2018}, month = apr, keywords = {Model-based Systems Engineering, MbSE, design-space exploration, DSE}, } @inproceedings{Diewald2018, author = {Diewald, Alexander and Barner, Simon and Voss, Sebastian}, title = {Architecture Exploration for Safety-Critical Systems}, booktitle = {Proceedings of the DATE Workshop on New Platforms for Future Cars: Current and Emerging Trends (NPCAR)}, year = {2018}, month = mar, abstract = {Future cars will host massively more functionality that comes along with the introduction of new technologies such as neural networks and data fusion, which are enablers for autonomous driving, but which require massive processing capabilities. Hence, new architectures are required that can handle the contradicting requirements for efficiency and safety compliance. The increased complexity and size of upcoming target architectures raise the need for advanced design methodologies and tool support. In this work, we present an approach that combines model-driven development (MDD) with design space exploration (DSE) that can explore suitable architectures of safety functions and platforms also in early design phases and enables trade-off decisions. The DSE uses optimization decomposition for complexity reduction and reusability while respecting the dependencies implied by development processes.}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{eder2017bringing, author = {Eder, Johannes and Zverlov, Sergey and Voss, Sebastian and Khalil, Maged and Ipatiov, Alexandru}, title = {Bringing DSE to life: exploring the design space of an industrial automotive use case}, booktitle = {2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS)}, pages = {270--280}, year = {2017}, month = sep, organization = {IEEE}, abstract = {In order to cope with the rising complexity of today's systems, model-based development of software-intensive embedded systems has become a de-facto standard in recent years. Such a development approach enables a variety of frontloading methods. Design space exploration is one of those techniques. However, in order to properly perform a valid exploration, a system model has to have a certain quality. This requires dedicated, meaningful models as an input according to well-known design principles, which entails the structuring of models according to different viewpoints and usage of dedicated models for each of these viewpoints.In this work, we demonstrate how, based on an industrial application model represented in SysML, design space exploration methods can be efficiently applied to enable the synthesis of deployments from a logical (platform-independent) system models to technical (platform-specific) system models. Moreover, we will demonstrate the applicability of this approach by a project conducted with Continental.}, doi = {10.1109/MODELS.2017.36}, keywords = {AutoFOCUS3, design-space exploration, DSE, deployment synthesis, mapping, model-based systems engineering, MbSE, case study}, } @inproceedings{, author = {Barner, Simon and Diewald, Alexander and Migge, J{\"{o}}rn and Syed, Ali Abbas Jaffari and Fohler, Gerhard and Faug{\`{e}}re, Madeleine and Gracia P{\'{e}}rez, Daniel}, title = {DREAMS Toolchain: Model-Driven Engineering of Mixed-Criticality Systems}, booktitle = {Proceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS '17)}, publisher = {IEEE}, pages = {259--269}, year = {2017}, month = sep, abstract = {Mixed-criticality systems (MCS) aim at boosting the integration density in safety-critical systems, resulting into efficient systems, while simultaneously providing increased performance. The DREAMS project provides a cross-domain architectural style for MCS based on networked, virtualized multi-cores controlled by hierarchical resource managers. However, the availability of a platform is only one side of the coin: deploying mixed-critical applications to shared resources typically requires design-time configurations (e.g., to ensure real-time constraints or separation constraints mandated by safety regulations). These configurations are the outcome of complex optimization problems which are intractable in a manual process that also hardly can guarantee the consistency of all deployable artefacts nor their traceability to the requirements. However, existing toolchains lack support for MCS integration, and particularly DREAMS' advanced platform capabilities. We present an integrated model-driven toolchain and the underlying metamodels covering all relevant aspects of MCS including applications, timing, platforms, deployments, configurations and annotations for extra-functional properties such as safety. The approach focuses on the left branch of the V-cycle, and ranges from product-line and design space exploration to resource allocation and configuration generation. We report on the integration of exploration tools and a reconfiguration graph synthesizer, and evaluate the resulting toolchains in two use cases consisting of a product-line of wind power control applications and an avionic subsystem respectively.}, doi = {10.1109/MODELS.2017.28}, keywords = {Multicore processing, Resource management, Safety, Tools, Mixed-Criticalitity Systems, , Product-Lines, AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{, author = {Eder, Johannes and Voss, Sebastian}, title = {Usable Design Space Exploration in {AutoFOCUS3}}, booktitle = {Joint Proceedings of the 12th Educators Symposium (EduSymp 2016) and 3rd International Workshop on Open Source Software for Model Driven Engineering (OSS4MDE 2016) co-located with MODELS 2016}, publisher = {CEUR-WS}, pages = {51--58}, year = {2016}, month = oct, abstract = {Software-intensive embedded systems are characterized by an increasing number of features that implement complex functionalities. To effectively manage this complexity, development processes in general, and model-based approaches in particular, support the development of such systems as model-based approaches have been considered a central design approach to deal with increasing complexity in software and hardware development. A valid system design and configuration, especially a safety-critical system design, has to fulfill a corresponding set of requirements describing all desired system constraints and objectives. In general, these constraints may be contradicting and correspond to different dimensions (e.g. timing, safety, energy, cost, etc.). Thus, considering all system constraints during system design is a manually unsolvable task. To support the system designer, usable Design Space Exploration methods are needed. Therefore, a proper tool implementation is needed that supports the usability. In this paper, we describe a Design Space Exploration process which aims to explore the architectural design space during system design. This process has been implemented in the open source CASE tool AutoFOCUS3 with the focus on usability.}, keywords = {AutoFOCUS3, design-space exploration, DSE, model-based systems engineering, MbSE}, url = {http://ceur-ws.org/Vol-1835/paper08.pdf}, } @inproceedings{Barner2016, author = {Barner, Simon and Diewald, Alexander and Eizaguirre, Fernando and Vasilevskiy, Anatoly and Chauvel, Franck}, title = {Building Product-lines of Mixed-Criticality Systems}, booktitle = {Proceedings of the Forum on Specification and Design Languages (FDL 2016)}, publisher = {IEEE}, year = {2016}, month = sep, address = {Bremen, Germany}, abstract = {Mixed-Criticality Systems (MCS) reconcile safety-critical requirements with multi-core architectures, by offering spatial and temporal isolation while preserving other extra-functional properties such as optimised energy consumption or minimised latencies. MCS designers struggle to manually balance the offered functionalities with pertinent implementation choices in order to ensure that the system eventually meets all constraints. Existing attempts to further automate this process focus on specific concerns, and fail to account for variation in system functionalities. Our contribution is to integrate product-lines that capture functional variations with evolutionary optimisation to explore possible implementations and their impact on extra-functional properties. Our solution is a model-driven process (and a tool prototype) to automatically select functionally different products that balance well the various concerns of interest. We illustrate how this process applies to the construction of wind turbines.}, doi = {10.1109/FDL.2016.7880378}, keywords = {Product-lines, cyber-physical systems, MCS, evolutionary optimisation, mixed-criticality systems, multicore architectures, wind turbines, Energy consumption, AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{voss2016schedule, author = {Voss, Sebastian and Eder, Johannes and Sch{\"{a}}tz, Bernhard}, title = {Schedule synthesis for multi-period SW components}, booktitle = {SAE 2016 World Congress and Exhibition}, publisher = {SAE International}, year = {2016}, month = apr, institution = {SAE Technical Paper}, abstract = {The growing complexity of functionalities in automotive vehicles and their safety-criticality, including timing requirements, demands sound and scalable approaches to deal with the increasing design space. Most often, such complex automotive systems are composed of a set of functions that are characterized by multi-period timing behaviors, e.g., due to environment constraints limiting sensing/acting frequencies, or various worst case execution times of software components.As safety-critical systems must perform the desired behavior within guaranteed time bounds, a valid system configuration is needed including a time-correct schedule that fulfills all timing requirements. This contribution proposes a systematic and correct schedule synthesis of complex multi-rate automotive software systems that ensures precise timing behavior of software components.The proposed synthesis approach - guaranteeing given timing requirements, based on preemptive, time-triggered scheduling - optimizes non-harmonic task sets by minimizing context switches between these tasks. This approach is integrated into the AUTOFOCUS 3 tool-chain, using its models of a software component architecture as well as of a hardware platform, combined with precalculated interrupt sets and a symbolic encoding scheme to synthesize schedules meeting the given multi-rate timing requirements. The approach is demonstrated using an Adaptive Cruise Control System.}, issn = {2688-3627}, doi = {10.4271/2016-01-0012}, keywords = {AutoFOCUS3, design-space exploration, DSE, scheduling, model-based systems engineering, MbSE}, } @inproceedings{Diewald2016, author = {Diewald, Alexander and Voss, Sebastian and Barner, Simon}, title = {A Lightweight Design Space Exploration and Optimization Language}, booktitle = {Proceedings of the 19th International Workshop on Software and Compilers for Embedded Systems (SCOPES '16)}, publisher = {ACM}, pages = {190--193}, year = {2016}, address = {New York, NY, USA}, location = {Sankt Goar, Germany}, abstract = {The solution of many engineering and scientific problems requires the exploration of a huge n-dimensional design space. Typical approaches rely on an abstract problem model consisting of a system model (description of the problem's variable couplings) and an optimization specification defining the objectives as well as the constraints bounding the design space. Advances in solver technologies enabled to efficiently search the solution space, however the diversity of the approaches led to problem descriptions that are difficult to reuse, as well as to solutions that are hard to compare. Our Exploration Meta-Model (EMM) addresses this issue by providing a unified language for optimization specifications that is a well-defined basis for model-based implementations of solver-independent design-space exploration (DSE) tool-chains. The EMM is a light-weight framework that allows to a) describe optimization specifications independent of particular optimization methods and solvers, b) relate solutions and optimization specifications, and c) define domain profiles that provide high-level optimization specifications that ease the adoption of automated DSE by domain experts. The applicability of our framework to different optimization methods is demonstrated by applying it to the generic vector optimization problem and to single-objective linear programs. The EMM's support to relate optimization results to input specifications is exercised for the Opt4J framework. Finally, a profile for real-time embedded systems demonstrates how the EMM can be tailored to specific domains.}, isbn = {978-1-4503-4320-6}, doi = {10.1145/2906363.2906367}, keywords = {AutoFOCUS3, design-space exploration, DSE, model-based systems engineering, MbSE}, } @inproceedings{schaetz2015, author = {Sch{\"{a}}tz, Bernhard and Zverlov, Sergey and Voss, Sebastian}, title = {Automating Design-Space Exploration: Optimal Deployment of Automotive SW-Components in an ISO26262 Context}, booktitle = {Design Automation Conference (DAC), 2015 52st ACM/EDAC/IEEE}, year = {2015}, abstract = {With a growing demand for complex, safety-critical features in automotive vehicles, functional safety is a key issues of automotive software development. Consequently, standards like ISO26262 propose methods and techniques for the systematic development of automotive software. Furthermore, the growing amount of functionality - including active safety systems or automated driver assistance functions - on the control of the vehicle dynamics and the correspondingly used more powerful electronic platforms requires methods supporting the development of systems in an increasingly complex design space. In this contribution, an approach is presented that supports the allocation of software functions to hardware elements in an automated fashion, respecting the separation constraints concerning assurances levels.}, doi = {10.1145/2744769.2747912}, keywords = {AutoFOCUS3, design-space exploration, DSE, deployment synthesis, mapping, model-based systems engineering, MbSE}, } @inproceedings{voss2014design, author = {Voss, Sebastian and Eder, Johannes and H{\"{o}}lzl, Florian}, title = {Design Space Exploration and its Visualization in AutoFOCUS3}, booktitle = {Software Engineering (Workshops)}, pages = {57--66}, year = {2014}, month = feb, abstract = {Software-intensive embedded systems are characterized by an increasing number of features that implement complex safety-critical functionalities. These systems are more and more developed in a model-based fashion that has been considered as a central design approach to deal with the increase in software complexity. These kinds of embedded systems always require multiple constraints both functional and non-functional ones. AutoFOCUS3 is a model-based development framework using tightly integrated models that enable to perform design space exploration for multi-criteria problems. Finding suitable deployments, meaning the (efficient) assignment of software components to hardware components, is one of these problems. This paper illustrates how such a Design Space Exploration approach in a model-based framework can support the system designer in a (semi-) automatic way, enabling to compare different valid design solutions, w.r.t. a set of given system requirements. We propose a visualization technique to efficiently guide the system designer through such a calculated solutions space. The presented approach has been implemented in the AutoFOCUS3 framework.}, keywords = {AutoFOCUS3, design-space exploration, DSE, model-based systems engineering, MbSE}, url = {http://ceur-ws.org/Vol-1129/paper33.pdf}, } @inproceedings{, author = {Zverlov, Sergey and Voss, Sebastian}, title = {Synthesis of Pareto Efficient Technical Architectures for Multi-core Systems}, booktitle = {Computer Software and Applications Conference Workshops (COMPSACW), 2014 IEEE 38th International}, year = {2014}, abstract = {In the area of embedded systems exists a continuous need for more computing power while still fulfilling a large set of constraints in - for instance - timing, safety, cost and energy consumption. Since single-core technologies seem to reach their limits, multi-core systems became the trend in this area. This paper describes a synthesis approach of application-specific homogeneous multi-core architectures, which are optimized towards timing, number of cores and energy consumption. Our method finds the optimal number of cores of the multi-processor system, along with the mapping of tasks onto these cores with the corresponding schedules and the frequency for each core. Since the optimization criteria are concurrent, the results are presented as a Pareto front. The approach is integrated in the model-based tooling framework, called Auto FOCUS3. As input our approach uses the information from the logical architecture of AF3, which represents a component based structure view of the system under development. The approach is based on the Branch & Bound algorithm, which was adapted for our three-dimensional optimization problem.}, doi = {10.1109/COMPSACW.2014.63}, keywords = {AutoFOCUS3, design-space exploration, DSE, architecture synthesis, HW/SW co-design, model-based systems engineering, MbSE}, } @inproceedings{, author = {Voss, Sebastian and Sch{\"{a}}tz, Bernhard}, title = {Deployment and Scheduling Synthesis for Mixed-Critical Shared Memory Applications}, booktitle = {Proceedings of the Engineering Computer-Based Systems Conference ({ECBS} '13)}, publisher = {IEEE}, pages = {100--109}, year = {2013}, month = apr, address = {Phoenix, AZ, USA}, abstract = {This paper presents an efficient approach for generating suitable system architectures for embedded systems efficiently. Thereby, we focus on a joint generation of schedules and deployment for mixed-criticality multicore architectures using shared memory. The presented approach computes task and message schedules that are optimized with respect to a global discrete time base. As part of the solution, our approach generates an optimized assignment of tasks to computation resources (cores) concerning local memory constraints of cores and criticality constraints of tasks.This approach is integrated into the Auto FOCUS3 tool-chain, using a formally defined model of computation with explicit data-flow and discrete-time semantics to develop multi-criticality embedded systems. Our approach relies on a symbolic encoding scheme, based on a system model that is derived from the system architecture. This paper provides a formalization describing the scheduling problem as a satisfiability problem using boolean formulas and linear arithmetic constraints. A state-of-the-art satisfiability modulo theory (SMT) solver is used to compute the joint schedule and deployment for such architectures. This paper demonstrates that state-of-the art satisfiability modulo theory solvers can be used to efficiently compute (safety-oriented) deployments including real-time task and communication schedules for mixed-criticality applications.}, doi = {10.1109/ECBS.2013.23}, keywords = {deployment synthesis, mapping, scheduling, shared-memory applications, SMT, AutoFOCUS3, design-space exploration, DSE, model-based systems engineering, MbSE}, } @inproceedings{, author = {Voss, Sebastian and Sch{\"{a}}tz, Bernhard}, title = {Scheduling shared memory multicore architectures in {AutoFOCUS3} using Satisfiability Modulo Theories}, booktitle = {{Tagungsband - Dagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme VIII, MBEES 2012}}, year = {2012}, month = feb, abstract = {This paper presents an approach to task and message scheduling for multicore architectures using a shared memory. A shared memory architecture is used in most of the current multicore systems. The presented approach is integrated in the AUTOFOCUS 3 toolchain that allows to automatically compute schedules for this architecture to fulfill certain system requirements. AUTOFOCUS 3 models are based on a formally defined system model using explicit data-flow and discrete-time semantics. Our approach relies on a symbolic encoding scheme, based on a scheduling model, that we generate out of AUTOFO-CUS 3 system architectures. This encoding scheme relies on the AUTOFOCUS 3 semantics of strong-and weak-causal com-ponents and enables to generate schedules, that fulfill certain system properties. In this paper we focus on finding optimized schedules with respect to the global discrete time base. This paper provides a formalization that describes the scheduling problem as a satisfiability problem using boolean formulas and linear arithmetical constraints. A state-of-the-art satisfiability modulo theories (SMT) solver is then used to compute these schedules. This paper demonstrates that state-of-the art satisfiability modulo theories solver can be used to to compute a schedule that fulfills certain system requirements and meet the challenges of providing both a convenient modeling language and the performance to solve industrialized-sized design problems.}, keywords = {AutoFOCUS3, design-space exploration, DSE, scheduling, model-based systems engineering, MbSE}, url = {http://www.in.tu-clausthal.de/fileadmin/homes/GI/Documents/MBEES12Proceedings.pdf}, }