Model-Based Engineering with AADL


Book Description

Conventional build-then-test practices are making today’s embedded, software-reliant systems unaffordable to build. In response, more than thirty leading industrial organizations have joined SAE (formerly, the Society of Automotive Engineers) to define the SAE Architecture Analysis & Design Language (AADL) AS-5506 Standard, a rigorous and extensible foundation for model-based engineering analysis practices that encompass software system design, integration, and assurance. Using AADL, you can conduct lightweight and rigorous analyses of critical real-time factors such as performance, dependability, security, and data integrity. You can integrate additional established and custom analysis/specification techniques into your engineering environment, developing a fully unified architecture model that makes it easier to build reliable systems that meet customer expectations. Model-Based Engineering with AADL is the first guide to using this new international standard to optimize your development processes. Coauthored by Peter H. Feiler, the standard’s author and technical lead, this introductory reference and tutorial is ideal for self-directed learning or classroom instruction, and is an excellent reference for practitioners, including architects, developers, integrators, validators, certifiers, first-level technical leaders, and project managers. Packed with real-world examples, it introduces all aspects of the AADL notation as part of an architecture-centric, model-based engineering approach to discovering embedded software systems problems earlier, when they cost less to solve. Throughout, the authors compare AADL to other modeling notations and approaches, while presenting the language via a complete case study: the development and analysis of a realistic example system through repeated refinement and analysis. Part One introduces both the AADL language and core Model-Based Engineering (MBE) practices, explaining basic software systems modeling and analysis in the context of an example system, and offering practical guidelines for effectively applying AADL. Part Two describes the characteristics of each AADL element, including their representations, applicability, and constraints. The Appendix includes comprehensive listings of AADL language elements, properties incorporated in the AADL standard, and a description of the book’s example system.




Embedded Systems


Book Description

Since the construction of the first embedded system in the 1960s, embedded systems have continued to spread. They provide a continually increasing number of services and are part of our daily life. The development of these systems is a difficult problem which does not yet have a global solution. Another difficulty is that systems are plunged into the real world, which is not discrete (as is generally understood in computing), but has a richness of behaviors which sometimes hinders the formulation of simplifying assumptions due to their generally autonomous nature and they must face possibly unforeseen situations (incidents, for example), or even situations that lie outside the initial design assumptions. Embedded Systems presents the state of the art of the development of embedded systems and, in particular, concentrates on the modeling and analysis of these systems by looking at “model-driven engineering”, (MDE2): SysML, UML/MARTE and AADL. A case study (based on a pacemaker) is presented which enables the reader to observe how the different aspects of a system are addressed using the different approaches. All three systems are important in that they provide the reader with a global view of their possibilities and demonstrate the contributions of each approach in the different stages of the software lifecycle. Chapters dedicated to analyzing the specification and code generation are also presented. Contents Foreword, Brian R. Larson. Foreword, Dominique Potier. Introduction, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet. Part 1. General Concepts 1. Elements for the Design of Embedded Computer Systems, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet. 2. Case Study: Pacemaker, Fabrice Kordon, Jérôme Hugues, Agusti Canals and Alain Dohet. Part 2. SysML 3. Presentation of SysML Concepts, Jean-Michel Bruel and Pascal Roques. 4. Modeling of the Case Study Using SysML, Loïc Fejoz, Philippe Leblanc and Agusti Canals. 5. Requirements Analysis, Ludovic Apvrille and Pierre De Saqui-Sannes. Part 3. MARTE 6. An Introduction to MARTE Concepts, Sébastien Gérard and François Terrier. 7. Case Study Modeling Using MARTE, Jérôme Delatour and Joël Champeau. 8. Model-Based Analysis, Frederic Boniol, Philippe Dhaussy, Luka Le Roux and Jean-Charles Roger. 9. Model-Based Deployment and Code Generation, Chokri Mraidha, Ansgar Radermacher and Sébastien Gérard. Part 4. AADL 10. Presentation of the AADL Concepts, Jérôme Hugues and Xavier Renault. 11. Case Study Modeling Using AADL, Etienne Borde. 12. Model-Based Analysis, Thomas Robert and Jérôme Hugues. 13. Model-Based Code Generation, Laurent Pautet and Béchir Zalila.




Formal Techniques for Distributed Systems


Book Description

This book constitutes the refereed proceedings of the 12th IFIP WG 6.1 International Conference on Formal Methods for Open Object-Based Distributed Systems, FMOODS 2010, and the 30th IFIP WG 6.1 Formal Techniques for Networked and Distributed Systems, FORTE 2010, held in Amsterdam, The Netherlands, in June 2010. The 13 revised full papers presented together with 6 short papers and the abstract of one invited talk were carefully reviewed and selected from 38 submissions. The papers are organized in topical sections on formal UML modeling; components and architecture; timed process algebra; timed and hybrid automata; program logics and analysis; and reasoning about distributed systems.




Cyber-Physical System Design from an Architecture Analysis Viewpoint


Book Description

Providing a wide variety of technologies for ensuring the safety and dependability of cyber-physical systems (CPS), this book offers a comprehensive introduction to the architecture-centric modeling, analysis, and verification of CPS. In particular, it focuses on model driven engineering methods including architecture description languages, virtual prototyping, and formal analysis methods. CPS are based on a new design paradigm intended to enable emerging software-intensive systems. Embedded computers and networks monitor and control the physical processes, usually with the help of feedback loops where physical processes affect computations and vice versa. The principal challenges in system design lie in this constant interaction of software, hardware and physics. Developing reliable CPS has become a critical issue for the industry and society, because many applications such as transportation, power distribution, medical equipment and tele-medicine are dependent on CPS. Safety and security requirements must be ensured by means of powerful validation tools. Satisfying such requirements, including quality of service, implies having formally proven the required properties of the system before it is deployed. The book is concerned with internationally standardized modeling languages such as AADL, SysML, and MARTE. As the effectiveness of the technologies is demonstrated with industrial sample cases from the automotive and aerospace sectors, links between the methods presented and industrial problems are clearly understandable. Each chapter is self-contained, addressing specific scientific or engineering problems, and identifying further issues. In closing, it includes perspectives on future directions in CPS design from an architecture analysis viewpoint.




Foundations of Multi-Paradigm Modelling for Cyber-Physical Systems


Book Description

This open access book coherently gathers well-founded information on the fundamentals of and formalisms for modelling cyber-physical systems (CPS). Highlighting the cross-disciplinary nature of CPS modelling, it also serves as a bridge for anyone entering CPS from related areas of computer science or engineering. Truly complex, engineered systems-known as cyber-physical systems-that integrate physical, software, and network aspects are now on the rise. However, there is no unifying theory nor systematic design methods, techniques or tools for these systems. Individual (mechanical, electrical, network or software) engineering disciplines only offer partial solutions. A technique known as Multi-Paradigm Modelling has recently emerged suggesting to model every part and aspect of a system explicitly, at the most appropriate level(s) of abstraction, using the most appropriate modelling formalism(s), and then weaving the results together to form a representation of the system. If properly applied, it enables, among other global aspects, performance analysis, exhaustive simulation, and verification. This book is the first systematic attempt to bring together these formalisms for anyone starting in the field of CPS who seeks solid modelling foundations and a comprehensive introduction to the distinct existing techniques that are multi-paradigmatic. Though chiefly intended for master and post-graduate level students in computer science and engineering, it can also be used as a reference text for practitioners. This work was published by Saint Philip Street Press pursuant to a Creative Commons license permitting commercial use. All rights not granted by the work's license are retained by the author or authors.




Data-Driven Science and Engineering


Book Description

A textbook covering data-science and machine learning methods for modelling and control in engineering and science, with Python and MATLAB®.




CMMI for Development


Book Description

CMMI® for Development (CMMI-DEV) describes best practices for the development and maintenance of products and services across their lifecycle. By integrating essential bodies of knowledge, CMMI-DEV provides a single, comprehensive framework for organizations to assess their development and maintenance processes and improve performance. Already widely adopted throughout the world for disciplined, high-quality engineering, CMMI-DEV Version 1.3 now accommodates other modern approaches as well, including the use of Agile methods, Lean Six Sigma, and architecture-centric development. CMMI® for Development, Third Edition, is the definitive reference for CMMI-DEV Version 1.3. The authors have revised their tips, hints, and cross-references, which appear in the margins of the book, to help you better understand, apply, and find information about the content of each process area. The book includes new and updated perspectives on CMMI-DEV in which people influential in the model’s creation, development, and transition share brief but valuable insights. It also features four new case studies and five contributed essays with practical advice for adopting and using CMMI-DEV. This book is an essential resource–whether you are new to CMMI-DEV or are familiar with an earlier version–if you need to know about, evaluate, or put the latest version of the model into practice. The book is divided into three parts. Part One offers the broad view of CMMI-DEV, beginning with basic concepts of process improvement. It introduces the process areas, their components, and their relationships to each other. It describes effective paths to the adoption and use of CMMI-DEV for process improvement and benchmarking, all illuminated with fresh case studies and helpful essays. Part Two, the bulk of the book, details the generic goals and practices and the twenty-two process areas now comprising CMMI-DEV. The process areas are organized alphabetically by acronym for easy reference. Each process area includes goals, best practices, and examples. Part Three contains several useful resources, including CMMI-DEV-related references, acronym definitions, a glossary of terms, and an index.




Model-Based Safety and Assessment


Book Description

This book constitutes the proceedings of the 7th International Symposium on Model-Based Safety and Assessment, IMBSA 2020, held in Lisbon, Portugal, in September 2020. The conference was held virtually due to the COVID-19 pandemic. The 15 revised full papers and 4 short papers presented were carefully reviewed and selected from 30 initial submissions. The papers are organized in topical sections on safety models and languages; state-space modeling; dependability analysis process; safety assessment in automotive domain; AI and safety assurance.




A Practical Guide to SysML


Book Description

A Practical Guide to SysML: The Systems Modeling Language is a comprehensive guide to SysML for systems and software engineers. It provides an advanced and practical resource for modeling systems with SysML. The source describes the modeling language and offers information about employing SysML in transitioning an organization or project to model-based systems engineering. The book also presents various examples to help readers understand the OMG Systems Modeling Professional (OCSMP) Certification Program. The text is organized into four parts. The first part provides an overview of systems engineering. It explains the model-based approach by comparing it with the document-based approach and providing the modeling principles. The overview of SYsML is also discussed. The second part of the book covers a comprehensive description of the language. It discusses the main concepts of model organization, parametrics, blocks, use cases, interactions, requirements, allocations, and profiles. The third part presents examples that illustrate how SysML supports different model-based procedures. The last part discusses how to transition and deploy SysML into an organization or project. It explains the integration of SysML into a systems development environment. Furthermore, it describes the category of data that are exchanged between a SysML tool and other types of tools, and the types of exchange mechanisms that can be used. It also covers the criteria that must be considered when selecting a SysML. Software and systems engineers, programmers, IT practitioners, experts, and non-experts will find this book useful.*The authoritative guide for understanding and applying SysML*Authored by the foremost experts on the language*Language description, examples, and quick reference guide included




Documenting Software Architectures


Book Description

Software architecture—the conceptual glue that holds every phase of a project together for its many stakeholders—is widely recognized as a critical element in modern software development. Practitioners have increasingly discovered that close attention to a software system’s architecture pays valuable dividends. Without an architecture that is appropriate for the problem being solved, a project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated the project is unlikely to succeed. Documenting Software Architectures, Second Edition, provides the most complete and current guidance, independent of language or notation, on how to capture an architecture in a commonly understandable form. Drawing on their extensive experience, the authors first help you decide what information to document, and then, with guidelines and examples (in various notations, including UML), show you how to express an architecture so that others can successfully build, use, and maintain a system from it. The book features rules for sound documentation, the goals and strategies of documentation, architectural views and styles, documentation for software interfaces and software behavior, and templates for capturing and organizing information to generate a coherent package. New and improved in this second edition: Coverage of architectural styles such as service-oriented architectures, multi-tier architectures, and data models Guidance for documentation in an Agile development environment Deeper treatment of documentation of rationale, reflecting best industrial practices Improved templates, reflecting years of use and feedback, and more documentation layout options A new, comprehensive example (available online), featuring documentation of a Web-based service-oriented system Reference guides for three important architecture documentation languages: UML, AADL, and SySML