Автор: Robert Heinrich, Francisco Duran, Carolyn Talcott
Издательство: Springer
Год: 2021
Страниц:
Язык: английский
Формат: pdf (true)
Размер: 10.0 MB
This book presents joint works of members of the software engineering and formal methods communities with representatives from industry, with the goal of establishing the foundations for a common understanding of the needs for more flexibility in model-driven engineering.
Conceptual modeling aims at raising the level of abstraction at which systems are described to cope with their increasing complexity. To this end, precise languages are used to represent the elements of the system that are relevant to the purposes of the modelers, abstracting away those that are not. These high-level representations of a system are known as software models, and their role in software engineering has been gaining relevance as soon as they were considered, stored, and managed like any other software artifacts.
Based on these principles, model-based engineering (MBE) is the software engineering discipline that advocates the use of these software models as primary artifacts for the software engineering process. In addition to the initial goals of being useful to capture user requirements and architectural concerns, and to generate code from them, software models are proving to be effective for many other engineering tasks. Model-based engineering approaches, such as model-driven modernization, models-at-runtime, or model-based testing, already provide useful concepts, mechanisms, and tools for the engineering of complex systems at the right level of abstraction. Software engineers have also realized the extensive possibilities that models offer when treated as actual software artifacts, and how they enable, for example, the development of powerful software engineering tools.
The composition of software tools to support a task-specific process is a need that often arises in projects of all sizes. Engineers, scientists, and others who have expertise in a certain domain often depend on the integration of a tool pathway to complete work-related tasks. For example, a business analyst may export data from a company-specific dashboard to conduct some analysis using a specialized secondary tool, with visualization of the results then handled by a third tool that best serves the particular requirements of a project.
The need to compose software tools is not new. Over a quarter-century ago, the “software component” wars between standardization efforts like OpenDoc, with direct competition from Microsoft’s Object Linking and Embedding (OLE)/Component Object Model (COM), rivalled that of the fervor of a religious debate. The need to compose and analyze information from different sources of origin has been a common need in computer-based solutions.
Although tool vendors offer what they advertise as all-encompassing tool suites, many of the tools used in practice are very rarely integrated across the engineering process. Often, the tools were not designed with composition in mind, resulting in isolated stovepipes. In such cases, engineers must force integration in a human intensive and error-prone manner. Solving the model composition problem across diverse tools is not easy and requires consideration of both syntax (e.g., file formats, APIs) and semantics (i.e., what is the meaning of a concept in each individual tool and how do concepts map across tools?). The different abstractions used in separate models may also lead to topics of uncertainty and ambiguity, such as when one model captures more detail than another model, leading to a lossy situation during a round-trip translation between models. Simple composition solutions are insufficient in the case of complex engineering tools and processes. The composition solution must also account for the evolution of the system, as tools and processes change over time. Scalability is also a concern. Adding a new tool to the analysis tools ecosystem should not break the process or require exponential effort.
This book is recommended to anyone who is involved in the important decisions that emerge when composing multiple analysis tools during software and systems modeling. The book is suitable for both practitioners and researchers, and may also serve as a textbook for a graduate course on model-based analysis tools.
Скачать Composing Model-Based Analysis Tools