=Paper=
{{Paper
|id=Vol-1508/paper4
|storemode=property
|title=AutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems
|pdfUrl=https://ceur-ws.org/Vol-1508/paper4.pdf
|volume=Vol-1508
|dblpUrl=https://dblp.org/rec/conf/models/AravantinosVTHS15
}}
==AutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems==
AutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems Vincent Aravantinos, Sebastian Voss, Sabine Teufl, Florian Hölzl, Bernhard Schätz fortiss GmbH Guerickestr. 25 80805 Munich, Germany Email: hoelzl@fortiss.org Abstract—This paper presents tooling concepts in AUTO - Since all of these views are projections of the underlying sys- FOCUS 3 supporting the development of software-intensive tem model, these views are directly integrated. Furthermore, embedded system design. AUTO FOCUS 3 is a highly integrated linking views allow an additional integration (like the mapping model-based tool covering the complete development process from requirements elicitation, deployment, the modelling of the of a component behavior to a hardware element, or a required hardware platform to code generation. This is achieved thanks partial execution to a completely defined behavior). Besides to precise static and dynamic semantics based on the FOCUS allowing a manageable precise description of a system under theory [1]. Models are used for requirements, for the software development, the system model also enables different analysis architecture (SA), for the hardware platform and for relations and synthesis mechanisms (like the compatibility analysis of a between those different viewpoints: traces from requirements to the SA, refinements between SAs, and deployments of the SA to partial and complete behavior or the deployment synthesis of the platform. This holistic usage of models allows the provision of components to a hardware platform). To support the different a wide range of analysis and synthesis techniques such as testing, tasks in a development process, the views are furthermore model checking and deployment and scheduling generation. organized in viewpoints. A viewpoint serves as a construct for In this paper, we demonstrate how tooling concepts on different managing the artifacts related to the different stakeholders of steps in the development process look like, based on these integrated models and implemented in AUTO FOCUS 3. the development process [2, Chapter 3]. The AUTO FOCUS 3 Index Terms—AutoFOCUS3, Seamless MBD, Model-Based viewpoints focus on the definition of the system requirements Development, Embedded Systems, Tooling Concept, Tool in a requirements analysis, the design of the software as a network of communicating components in form of a software I. I NTRODUCTION architecture, and the realization of the system as scheduled Embedded systems are increasingly developed in a model- tasks executed on networked processors in form of a hardware based fashion facilitating constructive and analytic quality architecture. assurance via abstract component-models of the system under The importance of integrated models, views and viewpoints development. A variety of different tools claim to support a is widely recognized and influenced the definition of many model-based approach; however, these tools mostly cover cer- methods and frameworks in systems, software and enterprise tain parts of the development process. In this paper, we demon- engineering [2], [3] and provides the basis for this paper. strate the advantage of integrated models and provide tooling The objective of AUTO FOCUS 3 is to implement tooling concepts for various design steps. Both together leverage the concepts which demonstrate that such an approach is indeed benefits of a seamless model-based approach based on well- feasible through a ready-to-use, open-source implementation defined semantics. The objective of this paper is to present in a pre-series quality. The current AUTO FOCUS 3 is a such tooling concepts in an entire tool (AUTO FOCUS 3) revised and improved version of earlier prototypes [4], [5] in its current advanced feature state, which is open source (the oldest dating back to 1996). Previous papers either report and freely available at http://af3.fortiss.org. The on particular aspects of the tool [6], [7], [8], [9], or on its use main contribution of this paper is to demonstrate the seamless in the context of industrial case studies [10], [11], [12]. The integration of the integrated models. underlying ideas of the current AUTO FOCUS 3 incarnation AUTO FOCUS 3 is built on a system model based on the FO- are presented in [13]. CUS theory [1] that allows to precisely describe a system, its AUTO FOCUS 3 is not tied to a specific development interface, behavior, and decomposition in component systems process, but most developments done with AUTO FOCUS 3 on different levels of abstraction. To manage the complexity would typically follow the following process or variations of describing such a system, different views are used for these thereof: aspects, providing dedicated description techniques for differ- 1) Requirements Analysis. Requirements are elicited, doc- ent structural aspects (like the decomposition of a component umented as structured text, organized, analyzed and in a network of subcomponents, or the hardware platform the refined, and incrementally formalized. Test suites with system is implemented on) as well as behavioral aspects (like coverage criteria can be generated from high-level spec- an exemplary execution of a system, or its complete behavior). ifications. 2) Software Architecture. The system is designed with a component-based language specifying the application software architecture and behavior of the system. The design is validated using simulation, testing (which can come as refinements from high-level generated tests) as well as formal verification based on model-checking. 3) Hardware Architecture. The software components are (possibly automatically) deployed on the platform, w.r.t. certain system requirements. Schedules optimizing one or more criteria are generated with the help of SMT solvers. The code is completely generated out of the previous models, according to the deployment and chosen schedule. Further- more, Safety Cases [14], which are documented bodies of evidence that provide a convincing and valid argument that a system is adequately safe for a given application in a given Fig. 1. Example structured requirement environment, can be modelled. A Safety Case may contain complex arguments that can be decomposed, corresponding to modular system artifacts which are generally dependent on artifacts from different viewpoints. The paper is organized as follows: Section II presents briefly the main modelling viewpoints that are offered by AUTO FOCUS 3 (requirements, software architecture, and hardware architecture). Section III presents the transversal viewpoints which facilitate to make the connections between the main viewpoints and thus yield a seamless integration. We also present the benefits resulting of this integration: formal Fig. 2. Message sequence charts analysis and verification, scheduling, hardware-specific code generation. Section IV presents related work. As shown in Fig. 3, AUTO FOCUS 3 provides user-friendly II. M ODEL - BASED T OOLING C ONCEPTS IN THE templates (see also [15]) to specify temporal logic expressions. D EVELOPMENT P ROCESS In this section we present shortly the three modelling viewpoints supporting the process mentioned in the previous Fig. 3. Temporal logic expression section. Once the requirements analysis is sufficiently advanced, it A. Requirements is possible to express formalized behaviors, e.g., in the form In AUTO FOCUS 3, requirements are specified model- of state automata. A state automaton typically covers a set of based: requirements are not just documented as plain text; requirements rather than a single requirement. the tool provides templates with named fields to define, for instance, the title of a requirement, its author, a description, a potential rationale or a review status (see Fig. 1). Furthermore, requirement sources and glossaries can be defined. Whenever they are referenced in a textual description of a requirement, the entries are automatically highlighted and the definition can be read in a pop-up. Requirements can be hierarchically grouped by packages and organized by trace links. Templates for scenarios and interface behavior help to detail requirements further. Requirements can not only be documented as text, but also formalized and represented by machine-processable models. Message sequence charts (MSC), see Fig. 2, can be used to describe desired or unwanted interactions of actors. Temporal logic expressions can be used to express desired and unwanted behavior of the system under development. Fig. 4. Requirements statistics and reports Tooling Support. AUTO FOCUS 3 supports the user in analyzing the requirements, for example through reports on the review status or statistics (Fig. 4). Simple queries on the requirements identify for example empty fields, duplicates and inconsistent status of requirements and their trace links. A report can be generated from AUTO FOCUS 3 that can be used for the validation of the requirements by the stakeholders of the system under development. State automata can be simulated; this is typically used in both the analysis and Fig. 8. Components and channels validation of requirements. B. Software Architecture Finally, components can be decomposed into sub- The software architecture of a system under development components to allow a hierarchically structured architecture. can be described using a classical component-based language Tooling Support. Due to the executable formal semantics with a formal (execution) semantics based on the FOCUS of the component-based modeling language, AUTO FOCUS 3 theory [1]: components execute in parallel according to a facilitates the simulation of the software architecture at all global, synchronous, and discrete time clock. levels, of a single state automaton (Fig. 9) as well as of composite components (Fig. 10) providing Model-in-the-Loop simulations. Test cases can be created and simulated (Fig. 11). Fig. 5. State automaton Fig. 9. Simulation of state automata The behavior of atomic components can be defined by state automata (Fig. 5), tables (Fig. 6) or simple imperative code (Fig. 7). Components interact with each other through typed input and output ports which are connected by fixed channels (Fig. 8). Fig. 6. Table Fig. 10. Simulation of composite components Furthermore, formal analyses like reachability analysis (see Fig. 12), non-determinism check, variable bounds checking and the verification of temporal logic patterns (see Fig. 13) are available: due to the formal semantics of FOCUS, AUTO - FOCUS 3 can embed a precise translation of the software architecture into the language of the NuSMV/nuXmv [16] model checker. Note that this is all done in a complete Fig. 7. Simple imperative code transparent way: the translation and call to the model checker are all done in the background to provide user-friendliness Fig. 11. Test suites Fig. 15. Hardware architecture for multicore, with shared memory workflow. The results of the model checker, namely their counterexamples, are also translated back in the same way which encompasses execution environments from bare metal e.g., a counter example to a temporal logic property can be hardware (e.g., chips and wires) over operating system envi- graphically simulated. ronments up to higher-level runtime environments (e.g., Java virtual machine with remote method invocation mechanism). For instance, the aforementioned hardware model for FIBEX comes also with an implementation for the Flexray protocol ([17]), a time-triggered communication protocol in the auto- motive domain. III. S EAMLESS I NTEGRATION An integration of all of the previously mentioned viewpoints in an integrated model, resp. tooling environment is an impor- tant asset for the user: it avoids the effort to integrate tools, defining their interfaces and dealing with conflicting, missing, Fig. 12. Unreachable state or badly documented tool-interfaces, semantics and standards. However, if these viewpoints remain completely independent or if the dependency between them remains informal as it is the case with most existing tools, then only very few benefits Fig. 13. Verification result result from its integration. Instead, AUTO FOCUS 3 allows for model integration leading to a consistent, integrated system C. Hardware Architecture design. In the following, we present these models as well as AUTO FOCUS 3 allows to model the hardware: processors analysis and synthesis techniques that demonstrate the benefits (or, in the automotive domain, ECUs – Engine Control Units), of AUTO FOCUS 3 resulting from this strong integration. buses, actuators and sensors can explicitly be modeled as A. Tracing Requirements to the Software Architecture well as their connections (Fig. 14). Multi-core platforms with Traces. The integration of requirements (Section II-A) and the software architecture (Section II-B) can be achieved in various ways. A first simple integration is the use of informal traces: for each requirement, traces to components of the software architecture can be added (see Fig. 16). These traces Fig. 14. Hardware architecture for generic ECUs Fig. 16. Traces to the software architecture shared memory are available (Fig. 15), as well as specific domain specific hardware e.g., a pacemaker platform was built indicate that the component(s) linked to the requirement shall specifically for building and deploying models of a pace- fulfill the requirement. Such traces are automatically visible maker. Similarly, automotive-specific hardware is supported (and navigable) at the level of the component architecture (Fig. via FIBEX import/export (an XML-based standardized format 17). These traces can be used to display information to the used for representing TDMA-networks). user. For example, a global visualization of the traces, both Hardware architecture models actually deal with more than between requirements and between requirements and elements just hardware: they typically include a platform architecture of the software architecture, is available and allows the user Fig. 17. Traces, seen from the software architecture to have an overall picture of the intra- and inter-viewpoint relations (Fig. 18). Fig. 18. Traces visualization Fig. 20. Connecting MSCs to components Refinements. Traces provide informal connections between holds for the messages which can be connected to ports of the model elements, which is to be expected since most require- corresponding components. ments are (at least at first, or partly) informal. However, as Once these connections are provided, AUTO FOCUS 3 explained in Section II-A, requirements elicitation can go far allows to verify, by translating the MSC into a temporal logic enough that a formalized behavior is obtained, e.g., that a formula and by using model checking (in the style of [20]), state automaton is given. In such cases, traces to the software that the given MSC is indeed feasible in the software architec- architecture can be enhanced into refinements describing not ture with the referenced components and ports. When feasible, only a mere connection, but even expressing a formal relation the resulting run can be simulated in AUTO FOCUS 3. between the requirements-level behavior description and a software-level implementation of it. A refinement is simply B. Deployment of the Software Architecture on the Platform defined by expressing how values at the requirement level Deployment of Software to Hardware Components. The shall be transformed into values at the software level and integration of the software (Section II-B) and hardware archi- vice versa (Fig. 19). Such refinements can then be used tecture (Section II-C) is done by using deployment models that describe the integration between different viewpoints. Such deployments map components from the software viewpoint to the hardware viewpoint. Furthermore, the deployment model not only contains the mapping of components but also the allocation of logical ports of a software component to their corresponding hardware “ports”, namely hardware sensors for Fig. 19. Refinement definition sensor values and hardware actuators for actuator outputs. Fig. 21 illustrates this deployment. Note that the hierarchical to automatically derive implementation-level test suites from structure of components makes it impossible to have such a requirements-level ones [18], [19] (which can be automatically simple GUI for deployments in AUTO FOCUS 3, making the generated according to some coverage criteria) or to verify actual interface different than the one presented in this figure. by model checking that a component indeed implements a Design Space Exploration for Model Synthesis. Once a functionality. deployment is defined, Design Space Exploration methods can Connecting MSCs to the Software Architecture. MSCs be applied to define the scheduling of the software components can be used in requirements in a semi-formal setting, i.e., the on their respective hardware components. AUTO FOCUS 3 MSC entities represent actors identified in the requirements. provides support to achieve this step by automated synthesis. Or they can be used in a completely formal setting: when Actually, even deployments can be automatically synthesized the requirement elicitation is advanced enough, MSC entities as well as complete hardware architectures, according to vari- can refer to components and the messages between entities ous system requirements, e.g. timing, safety, etc. To do so we can denote signals exchanged through channels. This can be use Design Space Exploration (DSE) techniques. In [21], we expressed directly in the MSC editor, e.g., Fig. 20 shows demonstrate how such a joint generation of deployments and how the properties of an MSC entity named “Merge Entity” schedules can be efficiently done for shared-memory multicore refers to a component named “MergeComponent”. The same architectures. Each solution of such a synthesis process already formalization encoding the deployment synthesis as a satisfia- bility problem over Boolean formulas and linear arithmetic constraints. A state-of-the-art satisfiability modulo theories (SMT) solver, namely Z3 [22], is used to compute these solutions. Using Design Space Exploration techniques during system development involves the software engineer/designer itself. The system designer is often not just interested in an automatically synthesized solution, but even more in various solutions that can be compared. Therefore, visualization tech- niques [23] are part of a Design Space Exploration approach that leverages to guide the system designer through the solu- tion space. Furthermore, we propose a tooling concept that includes a Design Space Exploration Workflow (Fig. 23) enabling to use intermediate results for next optimization steps, e.g. a Generated Deployment or a Scheduling Synthesis. C. Holistic Code Synthesis for Deployed Systems Fig. 21. Deployment (illustration) Once the software architecture, the platform architecture, and a (manually defined or automatically synthesized) de- ployment model are defined, AUTO FOCUS 3 provides the possibility to have holistic code generation. Fig. 22. Design Space Exploration results contains a possible deployment, which in turn already contains a valid schedule (cf. Fig. ??). This reduces the effort and complexity in a the workflow for the identification of valid system designs. Our approach relies on a symbolic encoding scheme, which enables to generate the desired models. The symbolic encoding Fig. 24. Generated C code for the deployed system is done by defining a precedence graph of components based on the software architecture as a set of tasks and messages The input to the generation facility is the mapping of and their connections including further information concerning software components to platform execution units. The result predefined allocations to hardware architecture. of the code generator is a full implementation of the system model including configuration files for the underlying operat- ing system as well as bus message catalogs and compile and build environment configurations (see Fig. 24). The code generator consists of two parts: the software ar- chitecture general purpose generator and the platform-specific target generator. The former translates the different types of software behavior specifications into an intermediate code model. From this intermediate representation the final system Fig. 23. Design Space Exploration Workflow code (see Fig. 25) is generated by the ECU specific code generator using the ECU target language (e.g. C, Java, VHDL). The proposed approach has proven to perform in a scalable Note that these specific generators can ignore the intermedi- fashion for practical sizes ([21]), as it relies on a symbolic ate implementation in cases the original behavior specification connected to their corresponding system artifacts (e.g., a safety goal to a requirement from the requirement viewpoint). This – for instance – enables to automatically guide the construction of the system architecture w.r.t. the safety claims, as we demonstrated in [26]. IV. R ELATED W ORK There are many model-based tools which target the devel- opment/architecting of embedded systems, but none of them, Fig. 25. Main loop of the ECU running the Merge component to our knowledge, presents all the features of AUTO FOCUS 3. Papyrus [27] with Moka1 allows the execution of models based on the fUML [28] Semantics. Code generation is, as far can be implemented more efficiently when applying a trans- as we know, only partly implemented, but considering the fast formation to the target language and/or hardware directly (e.g., growth of Papyrus and Moka, this is should only be a question a state-less computation component might be implemented of time. A more significant difference to AUTO FOCUS 3 efficiently on a FPGA sub-unit available to the ECU). is that AUTO FOCUS 3 integrates all the modules into a Every platform integrated in AUTO FOCUS 3 must provide unified software instead of being made of separate modules its extension to the target generator as well as a justification for diagram editing (Papyrus) and execution semantics (Moka). that it upholds the semantics of the model of computation This has a significant impact on the verification (either testing of the software architecture. Likewise, the software code or formal verification): in AUTO FOCUS 3, the semantics for parts must also be behaviorally equivalent to these formal execution and verification are intrinsically identical; in Papyrus semantics. Proving such semantic equivalences can be cum- additional work is required to synchronize the semantics of bersome [24], but is absolutely necessary in order to avoid Moka and the verification tool, for example Diversity2 – a breaking functional properties established by earlier validation verification tool typically used together with Papyrus. and verification methods. The widespread commercial tool IBM Rational Rhapsody3 has been offering for a long time a complete tool chain until D. Safety Cases code generation. Rhapsody has a precisely defined semantics To argue about the safety of systems, Safety Cases are [29]. It has even been used as a basis to provide integrated a proven technique that allows a systematic argumentation. formal verification [30]. However, it is not as tightly integrated Safety Cases may contain complex arguments that can be as AUTO FOCUS 3, not open source and is essentially used for decomposed corresponding to modular system artifacts which commercial use and not as a platform for research experiments are generally dependent on artifacts from different viewpoints: as AUTO FOCUS 3. The design space exploration viewpoint e.g., requiring redundancy for safety has an impact both on of AUTO FOCUS 3 is a research tooling concept which is software and on hardware architectures. Such assurance cases a good example of such an experiment which differenti- ates AUTO FOCUS 3 from Rhapsody. Similar considerations hold for Bridgepoint (or xtUML)4 , LieberLieber Embedded Engineer5 and the Enterprise Architect (EA)6 that supports many modeling languages such as UML or SysML. ADORA (Analysis and Description of Requirements and Architecture)7 is a research tool that supports an object-oriented method and a modeling language also called ADORA [31]. ADORA targets requirements and the software architecture of a system. Hardware is not included. Ptolemy II [32] is similar to AUTO FOCUS 3 in the sense Fig. 26. GSN-based Safety Cases that it is based on formal semantics and provides code genera- tion. Like AUTO FOCUS 3, it is an open source and academic are generally not well integrated with the different system tool which is used for research. However, Ptolemy targets models, resp. viewpoints. To provide a comprehensible and only the software architecture: neither requirements nor the reproducible argumentation and evidence for argument cor- hardware are integrated. This arises from the fact that the rectness, we make use of the integrated system model. Since 1 https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution AUTO FOCUS 3 provides such integrated models at its core, it 2 http://projects.eclipse.org/proposals/diversity 3 www-01.ibm.com/software/awdtools/rhapsody/ leverages the possibility to tightly connect these system models 4 https://xtuml.org/ with safety case artefacts in order to form a comprehensive 5 http://www.lieberlieber.com/en/embedded-engineer-for-enterprise- safety argumentation. In AUTO FOCUS 3 we provide safety architect/ case modelling based on Goal Structuring Notation (GSN) 6 http://www.sparxsystems.com/products/ea/index.html [25], as illustrated Fig. 26. Different safety case artifacts can be 7 http://www.ifi.uzh.ch/rerg/research/adora.html development of embedded systems is not the main focus of [11] M. Feilkas, F. Hölzl, C. Pfaller, S. Rittmann, B. Schätz, W. Schwitzer, Ptolemy. W. Sitou, M. Spichkova, and D. Trachtenherz, “A Refined Top- Down Methodology for the Development of Automotive Software The SCADE Suite8 is a commercial tool well-known in Systems: The KeylessEntry System Case Study,” Technische Universität the development of control software, for example in avionics. München, Tech. Rep. TUM-I1103, Februar 2011. While the SCADE Suite9 offers a lot of functionality with [12] W. Böhm, M. Junker, A. Vogelsang, S. Teufl, R. Pinger, and K. Rahn, “A formal systems engineering approach in practice: an experience report,” respect of simulation, verification and code generation, at the in 1st International Workshop on Software Engineering Research and moment it does not provide any support for requirements. Industrial Practices, SER&IPs, Hyderabad, India, June 2014, pp. 34–41. [13] B. Bernhard Schätz, “Model-based development of soft- ware systems: From models to tools.” Habilitation Thesis, V. C ONCLUSION Technische Universität München, 2009. [Online]. Available: http://www4.in.tum.de/ schaetz/papers/Habiliationsschrift.pdf In this paper, we presented AUTO FOCUS 3 and the tooling [14] P. Bishop and R. Bloomfield, “A methodology for safety case devel- concepts that it supports at different steps in the development opment,” in Safety-Critical Systems Symposium. Birmingham, UK: process. AUTO FOCUS 3 is based on a completely integrated Springer-Verlag, ISBN 3-540-76189-6, Feb 1998. [15] M. Dwyer, G. Avrunin, and J. Corbett, “Patterns in property specifica- model-based development approach from requirements elici- tions for finite-state verification,” in ICSE, 1999. tation to deployment on the platform of code which allows to [16] R. Cavada, A. Cimatti, M. Dorigatti, A. Griggio, A. Mariotti, A. Micheli, generate code completely (i.e., without further human modi- S. Mover, M. Roveri, and S. Tonetta, “The nuxmv symbolic model checker,” in Computer Aided Verification. Springer International fication) from the models. Based on well-defined semantics, Publishing, 2014, pp. 334–342. AUTO FOCUS 3 demonstrates how integrated models are [17] F. Consortium, “Flexray communications system protocol specification, enablers for a wide range of analysis and synthesis tech- version 2.1, revision A,” URL http://www.flexray.com, 2005. [18] D. Mou and D. Ratiu, “Binding requirements and component architec- niques such as testing, model checking and deployment and ture by using model-based test-driven development,” in Twin Peaks of scheduling synthesis. Tooling concepts in AUTO FOCUS 3 Requirements and Architecture (Twin Peaks), 2012. demonstrate how to make use of these techniques in a model- [19] J. O. Blech, D. Mou, and D. Ratiu, “Reusing test-cases on different levels of abstraction in a model based development tool,” in MBT, 2012, pp. based development process. 13–27. [20] S. Li, S. Balaguer, A. David, K. Larsen, B. Nielsen, and S. Pusinskas, R EFERENCES “Scenario-based verification of real-time systems using uppaal,” Formal Methods in System Design, vol. 37, no. 2-3, pp. 200–264, 2010. [1] M. Broy and K. Stølen, Specification and Development of Interactive [21] S. Voss and B. Schätz, “Scheduling shared memory multicore architec- Systems: Focus on Streams, Interfaces, and Refinement. Springer, 2001. tures in AF3 using Satisfiability Modulo Theories,” in MBEES, 2012, [2] K. Pohl, H. Hönninger, R. Achatz, and M. Broy, Model-Based Engi- pp. 49–56. neering of Embedded Systems: The SPES 2020 Methodology. Springer [22] L. De Moura and N. Bjørner, “Z3: An efficient SMT solver,” Tools and Publishing Company, Incorporated, 2012. Algorithms for the Construction and Analysis of Systems, pp. 337–340, 2008. [3] U.S. Office of Management and Budget and U.S. Office of E- [23] S. Voss, J. Eder, and F. Hölzl, “Design space exploration and Government and IT, “A Common Approach to Federal Enterprise its visualization in AUTOFOCUS3,” in Gemeinsamer Tagungsband Architecture.” der Workshops der Tagung Software Engineering, Kiel, Deutschland, [4] F. Huber, B. Schätz, A. Schmidt, and K. Spies, “AutoFocus - A Tool for 25.-26. Februar 2014 2014, pp. 57–66. [Online]. Available: http://ceur- Distributed Systems Specification,” in Formal Techniques in Real-Time ws.org/Vol-1129/paper33.pdf and Fault-Tolerant Systems (FTRTFT), ser. LNCS, vol. 1135. Springer [24] F. Hölzl, “The AutoFocus 3 C0 Code Generator,” Technische Universität Verlag, 1996, pp. 467–470. München, Tech. Rep. TUM-I0918, 2009. [5] F. Hölzl and M. Feilkas, “Autofocus 3: A scientific tool prototype [25] T. Kelly and R. Weaver, “The goal structuring notation – a safety for model-based development of component-based, reactive, distributed argument notation,” in Proc. of Dependable Systems and Networks 2004 systems,” in Proceedings of the 2007 International Dagstuhl Conference Workshop on Assurance Cases, 2004. on Model-based Engineering of Embedded Real-time Systems, ser. [26] S. Voss, C. Cârlan, B. Schätz, and T. Kelly, “Safety case driven model- MBEERTS’07. Berlin, Heidelberg: Springer-Verlag, 2010, pp. 317– based systems construction,” in EITEC, 2015. 322. [27] S. Gérard, C. Dumoulin, P. Tessier, and B. Selic, “Papyrus: A UML2 tool [6] S. Teufl, D. Mou, and D. Ratiu, “MIRA: A tooling-framework to for domain-specific language modeling,” in Model-Based Engineering experiment with model-based requirements engineering,” in 21st IEEE of Embedded Real-Time Systems - International Dagstuhl Workshop, International Requirements Engineering Conference, RE, Rio de Janeiro- Dagstuhl Castle, Germany, November 4-9 2007, pp. 361–368, revised RJ, Brazil, 2013, pp. 330–331. Selected Papers. [7] A. Campetelli, F. Hölzl, and P. Neubeck, “User-friendly model checking [28] T. O. M. Group, Semantics of a Foundational Subset for Executable integration in model-based development,” in 24th International Confer- UML Models (FUML). Pearson Higher Education, 2013. [Online]. ence on Computer Applications in Industry and Engineering (CAINE), Available: http://www.omg.org/spec/FUML/1.1 November 2011. [29] D. Harel and H. Kugler, “The rhapsody semantics of statecharts (or, on [8] S. Voss, J. Eder, and F. Hölzl, “Design space exploration and its the executable core of the uml),” in Integration of Software Specification visualization in AUTOFOCUS3,” in Gemeinsamer Tagungsband der Techniques for Applications in Engineering, ser. Lecture Notes in Workshops der Tagung Software Engineering, Kiel, Deutschland, 25.- Computer Science. Springer Berlin Heidelberg, 2004, vol. 3147, pp. 26. Februar 2014, pp. 57–66. 325–354. [9] T. Kelly, C. Carlan, and S. Voss, “Model-based safety cases in autofo- [30] I. Schinz, T. Toben, C. Mrugalla, and B. Westphal, “The rhapsody uml cus3,” in 1st International Workshop on Assurance Cases for Software- verification environment,” in Proceedings of the Software Engineering intensive Systems (ASSURE), 2013, tool demonstration. and Formal Methods, Second International Conference, ser. SEFM. [10] M. Feilkas, A. Fleischmann, F. Hölzl, C. Pfaller, K. Scheidemann, Washington, DC, USA: IEEE Computer Society, 2004, pp. 174–183. M. Spichkova, and D. Trachtenherz, “A top-down methodology for the [31] M. Glinz, S. Berner, and S. Joos, “Object-oriented modeling with adora,” development of automotive software,” Technische Universität München, Inf. Syst., vol. 27, no. 6, pp. 425–444, Sep. 2002. Tech. Rep. TUM-I0902, January 2009. [32] J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuen- dorffer, S. R. Sachs, and Y. Xiong, “Taming heterogeneity - the ptolemy 8 http://www.esterel-technologies.com/products/scade-suite/ approach,” Proceedings of the IEEE, vol. 91, no. 1, pp. 127–144, 2003. 9 http://www.esterel-technologies.com/products/scade-suite/