Model-Driven Software Development
Author: Markus Völter, Thomas Stahl, Jorn Bettin, Arno Haase, Simon Helsen
Publisher: John Wiley & Sons
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!
Model-Driven Software Development
Author: Sami Beydeda, Matthias Book, Volker Gruhn
Publisher: Springer Science & Business Media
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.
Aimed at 2nd and 3rd year/MSc courses, Model Driven Software Development using UML and Java introduces MDD, MDA and UML, and shows how UML can be used to specify, design, verify and implement software systems using an MDA approach. Structured to follow two lecture courses, one intermediate (UML, MDA, specification, design, model transformations) and one advanced (software engineering of web applications and enterprise information systems), difficult concepts are illustrated with numerous examples, and exercises with worked solutions are provided throughout.
This book discusses how model-based approaches can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis. The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away. The book is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios, and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes. The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects. The second edition of the book features: a set of completely new topics, including: full example of the creation of a new modeling language (IFML), discussion of modeling issues and approaches in specific domains, like business process modeling, user interaction modeling, and enterprise architecture complete revision of examples, figures, and text, for improving readability, understandability, and coherence better formulation of definitions, dependencies between concepts and ideas addition of a complete index of book content In addition to the contents of the book, more resources are provided on the book's website http://www.mdse-book.com, including the examples presented in the book.
"This book displays how to effectively map and respond to the real-world challenges and purposes which software must solve, covering domains such as mechatronic, embedded and high risk systems, where failure could cost human lives"--Provided by publisher.
Covers important concepts, issues, trends, methodologies, and technologies in quality assurance for model-driven software development.
Software product lines provide a systematic means of managing variability in a suite of products. They have many benefits but there are three major barriers that can prevent them from reaching their full potential. First, there is the challenge of scale: a large number of variants may exist in a product line context and the number of interrelationships and dependencies can rise exponentially. Second, variations tend to be systemic by nature in that they affect the whole architecture of the software product line. Third, software product lines often serve different business contexts, each with its own intricacies and complexities. The AMPLE (http://www.ample-project.net/) approach tackles these three challenges by combining advances in aspect-oriented software development and model-driven engineering. The full suite of methods and tools that constitute this approach are discussed in detail in this edited volume and illustrated using three real-world industrial case studies.
As organizations and research institutions continue to emphasize model-driven engineering (MDE) as a first-class approach in the software development process of complex systems, the utilization of software in multiple domains and professional networks is becoming increasingly vital. Advances and Applications in Model-Driven Engineering explores this relatively new approach in software development that can increase the level of abstraction of development of tasks. This publication covers the issues of bridging the gaps between various disciplines within software engineering and computer science. Professionals, researchers, and students will discover the most current tools and techniques available in the field to maximize efficiency of model-driven software development.
The next enterprise computing era will rely on the synergy between both technologies: semantic web and model-driven software development (MDSD). The semantic web organizes system knowledge in conceptual domains according to its meaning. It addresses various enterprise computing needs by identifying, abstracting and rationalizing commonalities, and checking for inconsistencies across system specifications. On the other side, model-driven software development is closing the gap among business requirements, designs and executables by using domain-specific languages with custom-built syntax and semantics. It focuses on using modeling languages as programming languages. Among many areas of application, we highlight the area of configuration management. Consider the example of a telecommunication company, where managing the multiple configurations of network devices (routers, hubs, modems, etc.) is crucial. Enterprise systems identify and document the functional and physical characteristics of network devices, and control changes to those characteristics. Applying the integration of semantic web and model-driven software development allows for (1) explicitly specifying configurations of network devices with tailor-made languages, (2) for checking the consistency of these specifications (3) for defining a vocabulary to share device specifications across enterprise systems. By managing configurations with consistent and explicit concepts, we reduce cost and risk, and enhance agility in response to new requirements in the telecommunication area. This book examines the synergy between semantic web and model-driven software development. It brings together advances from disciplines like ontologies, description logics, domain-specific modeling, model transformation and ontology engineering to take enterprise computing to the next level.
CD-ROM contains: iUMLite software, documentation, tutorials and example databases.
This book discusses how model-based approaches can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away.The book is organized into two main parts. The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes.The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects.The book is targeted to a diverse set of readers, spanning: professionals, CTOs, CIOs, and team managers that need to have a bird's eye vision on the matter, so as to take the appropriate decisions when it comes to choosing the best development techniques for their company or team; software analysts, developers, or designers that expect to use MDSE for improving everyday work productivity, either by applying the basic modeling techniques and notations or by defining new domain-specific modeling languages and applying end-to-end MDSE practices in the software factory; and academic teachers and students to address undergrad and postgrad courses on MDSE.In addition to the contents of the book, more resources are provided on the book's website, including the examples presented in the book.Table of Contents: Introduction / MDSE Principles / MDSE Use Cases / Model-Driven Architecture (MDA) / Integration of MDSE in your Development Process / Modeling Languages at a Glance / Developing your Own Modeling Language / Model-to-Model Transformations / Model-to-Text Transformations / Managing Models / Summary
Model-driven Development for Embedded Software: Application to Communications for Drone Swarm describes the principles of model-oriented design used in the aeronautical field, specifically for the UAV (Unmanned Aerial Vehicle). The book focuses on designing an embedded system for drones to carry out ad hoc communication within a drone fleet. In this context, an original methodology for rapid prototyping of embedded systems is presented. This approach saves time for the verification and formal validation phases, contributing to certification of the Unmanned Aerial System (UAS). The book also addresses the more traditional verification phases that must be performed to verify accuracy of the system. This evaluation is carried out in simulation and by real experimentation. The various tools necessary for the implementation of this methodology are described to allow the reader to be able to implement independently. Finally, to illustrate the contribution of this original methodology, an example of embedded system development is presented in which the different phases of the methodology are explained to conceive, validate and test a new secure routing protocol developed for communications within a fleet of drones. Describes the principles of model-oriented design used in the aeronautical field Presents an original methodology of rapid prototyping of embedded systems Presents a mode of development for embedded systems in the different phases
Model Driven Architecture (MDA) is a new methodologyf rom OMG that uses modeling languages like UML along with programming languages like Java to build software architectures PriceWatersCoopers' prestigious Technology Center just predicted that MDA will be one of the most important methodologies in the next two years Written by the lead architect of the specification who provides inside information on how MDA has worked in the real world Describes MDA in detail and demonstrates how it can work with existing methodologies and technologies such as UML,MOF, CWM, and Web services
This book constitutes thoroughly revised and selected papers from the Second International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2014, held in Lisbon, Portugal, in January 2014. The 10 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 88 submissions. They are organized in topical sections named: invited papers; modeling languages, tools and architectures; and methodologies, processes and platforms.