Domain-driven Design


Book Description

"Domain-Driven Design" incorporates numerous examples in Java-case studies taken from actual projects that illustrate the application of domain-driven design to real-world software development.




Model-Driven Software Development


Book Description

Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP. MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations. This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver: * A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories. * Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture. * Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering. * Essential management knowledge covering economic and organizational topics, from a global perspective. Get started and benefit from some practical support along the way!




Practical Model-Driven Enterprise Architecture


Book Description

Bridge the gap between theory and reality by implementing real-world examples using the Sparx EA tool and ArchiMate® 3.1 specification to develop sophisticated enterprise architecture models serving every unit in your organization Key Features • Discover the various artifacts that enterprise architects need to develop for stakeholders to make sound decisions • Build a functional enterprise architecture repository that is rich in information, references, and metamodels • Learn how to use Sparx Enterprise Architect from scratch Book Description Most organizations face challenges in defining and achieving evolved enterprise architecture practices, which can be a very lengthy process even if implemented correctly. Developers, for example, can build better solutions only if they receive the necessary design information from architects, and decision-makers can make appropriate changes within the organization only if they know the implications of doing so. The book starts by addressing the problems faced by enterprise architecture practitioners and provides solutions based on an agile approach to enterprise architecture, using ArchiMate® 3.1 as an industry standard and Sparx EA as the modeling tool. You'll learn with the help of a fictional organization that has three business units, each expecting something different from you as the enterprise architect. You'll build the practice, satisfy the different requirements of each business unit, and share the knowledge with others so they can follow your steps. Toward the end, you'll learn how to put the diagrams and the content that you have developed into documents, presentations, and web pages that can be published and shared with any stakeholder. By the end of this book, you'll be able to build a functional enterprise architecture practice that supports every part of your organization. You'll also have developed the necessary skills to populate your enterprise architecture repository with references and artifacts. What you will learn • Discover how enterprise architects can contribute to projects and departments within organizations • Use Sparx Enterprise Architect to build a rich architecture repository • Learn about the ArchiMate® 3.1 specification as you apply it in real-world projects • Use the focused metamodel technique to build the information necessary for maintaining your repository's consistency and accuracy • Understand the importance of keeping architectural artifacts simple yet eye-catching • Define an operational model that fits your initial needs and expands as required Who this book is for This book is for enterprise architects at all architectural layers and practices of any maturity level. Many of the artifacts suggested in this book are inspired by The Open Group Architecture Framework (TOGAF®); however, familiarity with TOGAF® is not required. Whether you work within the business, applications, data, or technology layers, this book covers examples that apply to your work. Although not mandatory, experience modeling in Sparx Systems Enterprise Architect using any modeling language will be helpful. No prior knowledge of ArchiMate® is required to get started with this book.




Model-Driven Software Development


Book Description

Abstraction is the most basic principle of software engineering. Abstractions are provided by models. Modeling and model transformation constitute the core of model-driven development. Models can be refined and finally be transformed into a technical implementation, i.e., a software system. The aim of this book is to give an overview of the state of the art in model-driven software development. Achievements are considered from a conceptual point of view in the first part, while the second part describes technical advances and infrastructures. Finally, the third part summarizes experiences gained in actual projects employing model-driven development. Beydeda, Book and Gruhn put together the results from leading researchers in this area, both from industry and academia. The result is a collection of papers which gives both researchers and graduate students a comprehensive overview of current research issues and industrial forefront practice, as promoted by OMG’s MDA initiative.




Model-Based System Architecture


Book Description

Presents modeling approaches that can be performed in SysML and other modeling languages This book combines the emerging discipline of systems architecting with model-based approaches using SysML. The early chapters of the book provide the fundamentals of systems architecting; discussing what systems architecting entails and how it benefits systems engineering. Model-based systems engineering is then defined, and its capabilities to develop complex systems on time and in a feasible quality are discussed. The remainder of the book covers important topics such as: architecture descriptions; architecture patterns; perspectives, viewpoints, views and their relation to system architecture; the roles of a system architect, their team, and stakeholders; systems architecting processes; agile approaches to systems architecting; variant modeling techniques; architecture frameworks; and architecture assessment. The book's organization allows experts to read the chapters out of sequence. Novices can read the chapters sequentially to gain a systematic introduction to system architecting. Model-Based System Architecture: Provides comprehensive coverage of the Functional Architecture for Systems (FAS) method created by the authors and based on common MBSE practices Covers architecture frameworks, including the System of Systems, Zachman Frameworks, TOGAF®, and more Includes a consistent example system, the “Virtual Museum Tour” system, that allows the authors to demonstrate the systems architecting concepts covered in the book Model-Based System Architecture is a comprehensive reference for system architects and systems engineers in technology companies. This book will also serve as a reference to students and researchers interested in functional architectures. Tim Weilkiens is the CEO at the German consultancy oose Innovative Informatik and co-author of the SysML specification. He has introduced model-based systems engineering to a variety of industry sectors. He is author of several books about modeling and the MBSE methodology SYSMOD. Jesko G. Lamm is a Senior Systems Engineer at Bernafon, a Swiss manufacturer for hearing instruments. With Tim Weilkiens, Jesko G. Lamm founded the Functional Architectures working group of the German chapter of INCOSE. Stephan Roth is a coach, consultant, and trainer for systems and software engineering at the German consultancy oose Innovative Informatik. He is a state-certified technical assistant for computer science from Physikalisch-Technische Lehranstalt (PTL) Wedel and a certified systems engineer (GfSE)®- Level C. Markus Walker works at Schindler Elevator in the research and development division as elevator system architect. He is an INCOSE Certified Systems Engineering Professional (CSEP) and is engaged in the committee of the Swiss chapter of INCOSE.




Model-driven Simulation and Training Environments for Cybersecurity


Book Description

This book constitutes the refereed post-conference proceedings of the Second International Workshop on Model-Driven Simulation and Training Environments for Cybersecurity, MSTEC 2020, held in Guildford, UK, in September 2020 in conjunction with the 24th European Symposium on Research in Computer Security, ESORICS 2020. The conference was held virtually due to the COVID-19 pandemic. The MSTEC Workshop received 20 submissions from which 10 full papers were selected for presentation. The papers are grouped in thematically on: cyber security training modelling; serious games; emulation & simulation studies; attacks; security policies.




Data Mesh


Book Description

Many enterprises are investing in a next-generation data lake, hoping to democratize data at scale to provide business insights and ultimately make automated intelligent decisions. In this practical book, author Zhamak Dehghani reveals that, despite the time, money, and effort poured into them, data warehouses and data lakes fail when applied at the scale and speed of today's organizations. A distributed data mesh is a better choice. Dehghani guides architects, technical leaders, and decision makers on their journey from monolithic big data architecture to a sociotechnical paradigm that draws from modern distributed architecture. A data mesh considers domains as a first-class concern, applies platform thinking to create self-serve data infrastructure, treats data as a product, and introduces a federated and computational model of data governance. This book shows you why and how. Examine the current data landscape from the perspective of business and organizational needs, environmental challenges, and existing architectures Analyze the landscape's underlying characteristics and failure modes Get a complete introduction to data mesh principles and its constituents Learn how to design a data mesh architecture Move beyond a monolithic data lake to a distributed data mesh.




Model-based System and Architecture Engineering with the Arcadia Method


Book Description

Arcadia is a system engineering method based on the use of models, with a focus on the collaborative definition, evaluation and exploitation of its architecture. This book describes the fundamentals of the method and its contribution to engineering issues such as requirements management, product line, system supervision, and integration, verification and validation (IVV). It provides a reference for the modeling language defined by Arcadia. The author discusses the range of applications, from the assessment of different architectures and their suitability, to the collaboration between system engineering, specialties such as safety or security, subsystems engineering teams, software and hardware. This is illustrated by several examples of representative models which constitute a common thread. - Offers a comprehensive examination of systems engineering, including the use of models to support it - Not only yet another book on modeling, but rather a journey in systems engineering, enlightening the use of models to support it. - Focuses on solitary modeling tasks while also covering prime collaborations between engineering stakeholders - Examines modeling techniques to capture and share architecture and to early verify it against need and non-functional constraints - Addresses subjects not usually covered by model-based system engineering (MBSE) methods, such as co-engineering with specialties, system/sub-system co-engineering, integration verification and validation - Features a powerful, dedicated tool (Capella) - Covers a range of topics, including an introduction to system engineering issues, an introduction to MBSE, a presentation of the method for beginners and a handy reference manual for advanced users




Security Compliance in Model-driven Development of Software Systems in Presence of Long-Term Evolution and Variants


Book Description

For ensuring a software system's security, it is vital to keep up with changing security precautions, attacks, and mitigations. Although model-based development enables addressing security already at design-time, design models are often inconsistent with the implementation or among themselves. An additional burden are variants of software systems. To ensure security in this context, we present an approach based on continuous automated change propagation, allowing security experts to specify security requirements on the most suitable system representation. We automatically check all system representations against these requirements and provide security-preserving refactorings for preserving security compliance. For both, we show the application to variant-rich software systems. To support legacy systems, we allow to reverse-engineer variability-aware UML models and semi-automatically map existing design models to the implementation. Besides evaluations of the individual contributions, we demonstrate the approach in two open-source case studies, the iTrust electronics health records system and the Eclipse Secure Storage.




New Trends in Software Methodologies, Tools and Techniques


Book Description

"Papers presented at the Eighth International Conference on New Trends in Software Methodologies, Tools and Techniques, (SoMeT 09) held in Prague, Czech Republic ... from September 23rd to 25th 2009."--P. v.