Explore chapters and articles related to this topic
Model-Based Development of Automotive Embedded Systems
Published in Nicolas Navet, Françoise Simonot-Lion, Automotive Embedded Systems Handbook, 2017
Martin Törngren, DeJiu Chen, Diana Malvius, Jakob Axelsson
A few definitions or interpretations of MBD interestingly include the keyword “driven.” Is, can, or should the development be driven by models—and in what sense? One tentative answer is provided from the fields of product data management (PDM) and mechanical engineering. The term model-driven in these fields relates to the use of different types of models including technical product models (to represent different aspects of the product during design such as vehicle geometry and dynamics), product information models (to describe product configurations, parts, and metadata), and development process models (describing development stages, actions, events, and roles of persons involved). When a model of the development process is designed and implemented within a PDM system it can actually drive design, for example, notifying a tester as soon as a design is finished, or causing the software to be automatically rebuilt once a valid configuration can be established. This notion of model-driven engineering thus encompasses several types of product models as well as process models. For the purposes of this chapter we have chosen the term MBD which we find more adequate considering the current maturity of the area.
DEVS as a Semantic Domain for Programmed Graph Transformation
Published in Gabriel A. Wainer, Pieter J. Mosterman, Discrete-Event Modeling and Simulation, 2018
Eugene Syriani, Hans Vangheluwe
Model-driven approaches are becoming increasingly important in the area of software engineering. In model-driven development, models are constructed to conform to meta-models. A meta-model defines the (possibly infinite) set of all well-formed model instances. As such, a meta-model specifies the syntax and static semantics of models. Meta-models are often described as the Unified Modeling Language (UML) Class Diagrams. In model-driven engineering, meta-modeling goes hand-in-hand with model transformation.
Reverse Engineering the Organizational Processes: A Multiformalism Approach
Published in Wasim Ahmed Khan, Ghulam Abbas, Khalid Rahman, Ghulam Hussain, Cedric Aimal Edwin, Functional Reverse Engineering of Machine Tools, 2019
Rugaber and Stirewalt (2004) define reverse engineering as the process of comprehending software and producing a model of it at a high abstraction level. Reverse engineering can help better handle foreign code and better understand systems’ structure and functions. They propose to use a formal specification or industrial practice of model-driven engineering techniques, such as the Unified Modeling Language (UML) and Object Constraint Language (OCL), as well as automatic code generation for reverse engineering.
Knowledge-based cyber-physical systems for assembly automation
Published in Production & Manufacturing Research, 2019
Munir Merdan, Timon Hoebert, Erhard List, Wilfried Lepuschitz
As most CPS involve the cooperation of a high number of components (Kang, Kapitanova, & Son, 2012), explicitly programming the relationships between the system components and considering the quantity of interrelationships related to failures poses significant challenges (Wang & Lin, 2009). In this context, automatic configuration is proposed as a reasonable means for making a system scalable and robust in the presence of changes and for supporting dynamic adaptation (Kramer & Magee, 2007). Hence, technologies and methodologies are required for supporting the development process of large-scale CPS with physically distributed resources (Wolf, 2009). Model-driven engineering is a software development methodology which exploits domain models as a solution to handle the complexity of software development by raising the abstraction level and automating labor-intensive and error-prone tasks (Vyatkin, 2013). The approach has been promoted as a promising methodology for designing control applications of CPS (Balaji, Al Faruque, Dutt, Gupta, & Agarwal, 2015; Thramboulidis, Bochalis, & Bouloumpasis, 2017). Models allow domain specific software descriptions reflecting the heterogeneity of the developed system and may serve as primary development artifacts, which increases the softwares comprehensibility and reusability (Ringert, Roth, Rumpe, & Wortmann, 2015). Besides, defined models are meant to be much more human-oriented than common code artefacts, which are naturally machine-oriented and software can be defined with concepts that are not necessarily dependent on the underlying platform or technology (Ciccozzi & Spalazzese, 2016). Furthermore, to develop a self-configurable CPS, a model-based approach may well be beneficial (Hehenberger et al., 2016). Self-configuration refers to the automatic deployment of a system configuration in response to changes in the environment. This system configuration is allocated to available hardware resources for instance by an autonomic service manager without any developer efforts (Dai, Dubinin, Christensen, Vyatkin, & Guan, 2017). Achieving a reliable auto-configuration management is an important challenge that has to be solved for enabling plug-and-play components, which autonomously embed themselves in the CPS without any special initialization procedure or elaborate human involvement (Reinhart et al., 2010). By using automatic configuration instead of manually adapting control software, engineering time and costs are reduced while increasing the softwares quality (Fischer, Vogel-Heuser, & Friedrich, 2015). This is especially of significance concerning the deployment and maintenance of nodes in large networks of small devices, e.g. sensor networks, as their manual configuration is rather impractical (Lanthaler, n.d.; Vicaire, Hoque, Xie, & Stankovic, 2012).