MontiArc - Architectural Modeling and Simulation of Interactive Distributed Systems


Book Description

Formal ADLs offer great potential to analyse the architecture of a system, predict the overall performance by using simulations, and allow to automatically generate parts of the implementation. Nevertheless, ADLs are rather not used in industrial practice since several problems hinder to exploit their potential to the full extend. This thesis elaborates the design of an ADL that copes with these impediments of ADLs in practice. Therefore, the design of a lightweight ADL is derived which also provides well defined extension points to be adapted to a certain domain or development process. Furthermore, it is investigated how architectural modeling can be enriched with agile development methods to support incremental modeling and the validation of system architectures. Therefore, a set detailed of requirements for architectural modeling and the simulation of system architectures is defined and MontiArc, a concrete ADL to model logical architectures of distributed, interactive systems, is derived. The language is based on the mathematical FOCUS [BS01] framework, which allows to simulate modeled systems in an event-based style. Code generators and a simulation framework provide means to continuously refine and test architectural models. To add new features or adapt the language to a new domain, a corresponding language extension method is presented to extend the syntax, language processing tools, and code generators of the ADL. A lightweight model library concept is presented which allows to develop and reuse component models and their implementation in a controlled and transparent way. The developed language, the simulator, and the language extension techniques have been examined in several case studies which either used or extended MontiArc.




Large-Scale Complex IT Systems. Development, Operation and Management


Book Description

This book presents the thoroughly refereed and revised post-workshop proceedings of the 17th Monterey Workshop, held in Oxford, UK, in March 2012. The workshop explored the challenges associated with the Development, Operation and Management of Large-Scale complex IT Systems. The 21 revised full papers presented were significantly extended and improved by the insights gained from the productive and lively discussions at the workshop, and the feedback from the post-workshop peer reviews.




Modelling Foundations and Applications


Book Description

This book constitutes the proceedings of the 13th European Conference on Modelling Foundations and Applications, ECMFA 2017, held as part of STAF 2017, in Marburg, Germany, in July 2017. The 18 papers presented in this volume were carefully reviewed and selected from 48 submissions. The papers are organized in the following topical sections: meta-modeling and language engineering; model evolution and maintenance; model-driven generative development; model consistency management; model verification and analysis; and experience reports, case studies and new applications scenarios.







Agile Modeling with UML


Book Description

This book focuses on the methodological treatment of UML/P and addresses three core topics of model-based software development: code generation, the systematic testing of programs using a model-based definition of test cases, and the evolutionary refactoring and transformation of models. For each of these topics, it first details the foundational concepts and techniques, and then presents their application with UML/P. This separation between basic principles and applications makes the content more accessible and allows the reader to transfer this knowledge directly to other model-based approaches and languages. After an introduction to the book and its primary goals in Chapter 1, Chapter 2 outlines an agile UML-based approach using UML/P as the primary development language for creating executable models, generating code from the models, designing test cases, and planning iterative evolution through refactoring. In the interest of completeness, Chapter 3 provides a brief summary of UML/P, which is used throughout the book. Next, Chapters 4 and 5 discuss core techniques for code generation, addressing the architecture of a code generator and methods for controlling it, as well as the suitability of UML/P notations for test or product code. Chapters 6 and 7 then discuss general concepts for testing software as well as the special features which arise due to the use of UML/P. Chapter 8 details test patterns to show how to use UML/P diagrams to define test cases and emphasizes in particular the use of functional tests for distributed and concurrent software systems. In closing, Chapters 9 and 10 examine techniques for transforming models and code and thus provide a solid foundation for refactoring as a type of transformation that preserves semantics. Overall, this book will be of great benefit for practical software development, for academic training in the field of Software Engineering, and for research in the area of model-based software development. Practitioners will learn how to use modern model-based techniques to improve the production of code and thus significantly increase quality. Students will find both important scientific basics as well as direct applications of the techniques presented. And last but not least, the book will offer scientists a comprehensive overview of the current state of development in the three core topics it covers.




Model-Based Engineering of Collaborative Embedded Systems


Book Description

This Open Access book presents the results of the "Collaborative Embedded Systems" (CrESt) project, aimed at adapting and complementing the methodology underlying modeling techniques developed to cope with the challenges of the dynamic structures of collaborative embedded systems (CESs) based on the SPES development methodology. In order to manage the high complexity of the individual systems and the dynamically formed interaction structures at runtime, advanced and powerful development methods are required that extend the current state of the art in the development of embedded systems and cyber-physical systems. The methodological contributions of the project support the effective and efficient development of CESs in dynamic and uncertain contexts, with special emphasis on the reliability and variability of individual systems and the creation of networks of such systems at runtime. The project was funded by the German Federal Ministry of Education and Research (BMBF), and the case studies are therefore selected from areas that are highly relevant for Germany’s economy (automotive, industrial production, power generation, and robotics). It also supports the digitalization of complex and transformable industrial plants in the context of the German government's "Industry 4.0" initiative, and the project results provide a solid foundation for implementing the German government's high-tech strategy "Innovations for Germany" in the coming years.




Modeling with UML


Book Description

This book presents a variant of UML that is especially suitable for agile development of high-quality software. It adjusts the language UML profile, called UML/P, for optimal assistance for the design, implementation, and agile evolution to facilitate its use especially in agile, yet model based development methods for data intensive or control driven systems. After a general introduction to UML and the choices made in the development of UML/P in Chapter 1, Chapter 2 includes a definition of the language elements of class diagrams and their forms of use as views and representations. Next, Chapter 3 introduces the design and semantic facets of the Object Constraint Language (OCL), which is conceptually improved and syntactically adjusted to Java for better comfort. Subsequently, Chapter 4 introduces object diagrams as an independent, exemplary notation in UML/P, and Chapter 5 offers a detailed introduction to UML/P Statecharts. Lastly, Chapter 6 presents a simplified form of sequence diagrams for exemplary descriptions of object interactions. For completeness, appendixes A–C describe the full syntax of UML/P, and appendix D explains a sample application from the E-commerce domain, which is used in all chapters. This book is ideal for introductory courses for students and practitioners alike.




Simulation, Modeling, and Programming for Autonomous Robots


Book Description

This book constitutes the refereed proceedings of the 4th International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR 2014, held in Bergamo, Italy, in October 2014. The 49 revised full papers presented were carefully reviewed and selected from 62 submissions. The papers are organized in topical sections on simulation, modeling, programming, architectures, methods and tools, and systems and applications.




The Essence of Software Engineering


Book Description

This open access book includes contributions by leading researchers and industry thought leaders on various topics related to the essence of software engineering and their application in industrial projects. It offers a broad overview of research findings dealing with current practical software engineering issues and also pointers to potential future developments. Celebrating the 20th anniversary of adesso AG, adesso gathered some of the pioneers of software engineering including Manfred Broy, Ivar Jacobson and Carlo Ghezzi at a special symposium, where they presented their thoughts about latest software engineering research and which are part of this book. This way it offers readers a concise overview of the essence of software engineering, providing valuable insights into the latest methodological research findings and adesso’s experience applying these results in real-world projects.




Modelling Foundations and Applications


Book Description

This book constitutes the proceedings of the 13th European Conference on Modelling Foundations and Applications, ECMFA 2017, held as part of STAF 2017, in Marburg, Germany, in July 2017. The 18 papers presented in this volume were carefully reviewed and selected from 48 submissions. The papers are organized in the following topical sections: meta-modeling and language engineering; model evolution and maintenance; model-driven generative development; model consistency management; model verification and analysis; and experience reports, case studies and new applications scenarios.