Towards a Body of Knowledge for Model-Based Software Engineering
Total Page:16
File Type:pdf, Size:1020Kb
Towards a Body of Knowledge for Model-Based Software Engineering Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sébastien Mosser, Richard Paige, Alfonso Pierantonio, Arend Rensink, Rick Salay, Gabi Taentzer, et al. To cite this version: Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sébastien Mosser, et al.. Towards a Body of Knowledge for Model-Based Software Engineering. MODELS ’18 ACM/IEEE 21st Inter- national Conference on Model Driven Engineering Languages and Systems, Oct 2018, Copenhague, Denmark. hal-01886114 HAL Id: hal-01886114 https://hal.archives-ouvertes.fr/hal-01886114 Submitted on 2 Oct 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Towards a Body of Knowledge for Model-Based Software Engineering Federico Ciccozzi Michalis Famelis Gerti Kappel Mälardalen University Université de Montréal CDP, TU Wien Västerås, Sweden Montreal, Canada Vienna, Austria [email protected] [email protected] [email protected] Leen Lambers Sebastien Mosser Richard F. Paige Hasso-Plattner-Institut Université Côte d’Azur, CNRS, I3S University of York Potsdam, Germany Sophia Antipolis, France York, UK [email protected] [email protected] [email protected] Alfonso Pierantonio Arend Rensink Rick Salay University of L’Aquila University of Twente University of Toronto L’Aquila, Italy Enschede, The Netherlands Toronto, Canada [email protected] [email protected] [email protected] Gabi Taentzer Antonio Vallecillo Manuel Wimmer Philipps-Universität Marburg Universidad de Málaga CDL-MINT, TU Wien Marburg, Germany Málaga, Spain Vienna, Austria [email protected] [email protected] [email protected] ABSTRACT ACM Reference Format: Model-based Software Engineering (MBSE) is now accepted as a Federico Ciccozzi, Michalis Famelis, Gerti Kappel, Leen Lambers, Sebastien Software Engineering (SE) discipline and is being taught as part of Mosser, Richard F. Paige, Alfonso Pierantonio, Arend Rensink, Rick Salay, Gabi Taentzer, Antonio Vallecillo, and Manuel Wimmer. 2018. Towards a more general SE curricula. However, an agreed core of concepts, Body of Knowledge for Model-Based Software Engineering. In ACM/IEEE mechanisms and practices — which constitutes the Body of Knowl- 21th International Conference on Model Driven Engineering Languages and edge of a discipline — has not been captured anywhere, and is only Systems (MODELS ’18 Companion), October 14–19, 2018, Copenhagen, Den- partially covered by the SE Body of Knowledge (SWEBOK). With mark. ACM, New York, NY, USA, 8 pages. https://doi.org/10.1145/3270112. the goals of characterizing the contents of the MBSE discipline, 3270121 promoting a consistent view of it worldwide, clarifying its scope with regard to other SE disciplines, and defining a foundation for a 1 INTRODUCTION curriculum development on MBSE, this paper provides a proposal Model-based Software Engineering (MBSE) is becoming widely for an extension of the contents of SWEBOK with the set of funda- accepted as a software engineering (SE) discipline that promotes mental concepts, terms and mechanisms that should constitute the the use of models and model transformations, as the fundamental MBSE Body of Knowledge. elements of all software development processes. As its adoption grows and it becomes part of more general SE curricula, there is CCS CONCEPTS the need to define an agreed core of the concepts, elements, mecha- • Social and professional topics → Software engineering ed- nisms and practices that MBSE encompasses. Such a compendium ucation; Model curricula; corresponds to the concept of “Body of Knowledge” (BoK) used in many engineering disciplines, and which comprises the complete KEYWORDS set of concepts, terms and activities that make up a professional Model-Based Software Engineering, Body of Knowledge. domain, being a fundamental part of any profession [19]. Similarly to the objectives of other existing BoKs, the goal of a BoK for MBSE (hereinafter MBEBOK) would be threefold: (a) to Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed characterize the contents of the MBSE discipline and to promote a for profit or commercial advantage and that copies bear this notice and the full citation consistent view of MBSE worldwide; (b) to clarify the scope and on the first page. Copyrights for components of this work owned by others than the the place of MBSE within SE and with respect to other disciplines author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission such as computer science and system engineering; and (c) to de- and/or a fee. Request permissions from [email protected]. fine a foundation for curriculum development and for individual MODELS ’18 Companion, October 14–19, 2018, Copenhagen, Denmark certification and licensing material. © 2018 Copyright held by the owner/author(s). Publication rights licensed to ACM. ACM ISBN 978-1-4503-5965-8/18/10...$15.00 In 2004, the IEEE Computer Society published the “Guide to the https://doi.org/10.1145/3270112.3270121 Software Engineering Body of Knowledge” (hereinafter SWEBOK), MODELS ’18 Companion, October 14–19, 2018, Copenhagen, Denmark F. Ciccozzi et al. which was updated in 2014 [6] and provides a comprehensive and • A terminology that defines the set of main concepts ofthe agreed description of the BoK for SE. It was also adopted by ISO/IEC discipline, as used by their practitioners. It constitutes the as ISO/IEC TR 19759:2005. However, although it embraces the con- accepted ontology for the specific domain. cept of model and modelling in Software Engineering (its Chapter • A structured list of the main knowledge areas, skills and 9 is entirely devoted to that), it does not provide a complete and accepted practices of the discipline, covering all the basic detailed catalogue of all the core concepts needed to portray MBSE knowledge that any practitioner should posses. and its usage. In particular, currently it does not detail the funda- A BoK should always be descriptive, but not prescriptive: inten- mental concepts, techniques, methodologies and tool types that tionally, it should not impose any particular method or tool, or any any MBSE practitioner should be aware of, or the skills required to specific practice. master them. With respect to what should be considered as “generally recog- In January 2018, during the discussions that took place as part nized” or as a “good practice” of a discipline, the Project Manage- of the First Winter Modeling Meeting (WMM’18) in San Vigilio di ment Body of Knowledge (PMBOK) [20] offers more precise de- Marebbe, Italy, the authors of this paper decided to start working scriptions. First, “generally recognized" means that the knowledge on the main contents of a Guide to MBEBOK. Instead of starting and practices described are generally applicable to many different from scratch, we decided to analyse and extend the current contents kinds of projects in many situations, and there is consensus about of the SWEBOK, and in particular its Chapter 9, trying to respect their value and usefulness. In turn, when we say “Good practice" its structure but complementing it with what we considered the it means that there is general agreement that the application of fundamental concepts and terms for MBSE. these skills, tools, and techniques can enhance the chances of suc- This paper reports the results of those efforts and provides a cess over a wide range of projects. It does not mean, however, that proposal for a set of fundamental concepts, terms and mechanisms the precise knowledge or practice should always be applied to all that should constitute the MBEBOK. projects; the organization and/or project management team should The paper is structured in 5 sections. After this introduction, be the ultimate responsible for determining what practices are more Section 2 discusses what a BoK is, and briefly presents the SWEBOK appropriate for a given project in a certain situation. and its current coverage of software models. Then, Section 3 identi- Currently there are a number of BoKs for various software- fies the basic MBSE concepts that are not included in the SWEBOK. related disciplines; some are mature documents with a rigorous Section 4 describes some issues that were identified during the review and revision process (e.g., SWEBOK), whilst others are evolv- development of the contents of the MBEBOK, and for which a dis- ing (e.g., SLEBOK): cussion within the community would be needed. Finally, Section 5 concludes the paper and outlines some future activities. A final • Software Engineering Body of Knowledge (SWEBOK) [6] Annex provides an initial Glossary of MBSE terms, with the key • Systems Engineering Body of Knowledge (SEBOK) [2] definitions of the main concepts of the discipline. Such a glossary is • Data Management Body of Knowledge (DMBOK) [10] pivotal to achieve the goals of the MBEBOK, being to provide a con- • Enterprise Architecture Body of Knowledge (EABOK) [12] sistent view of MBSE and a foundation for curriculum development • Business Analysis Body of Knowledge (BABOK) [13] and individual certification. • Project Management Body of Knowledge (PMBOK) [20] • Automation Body of Knowledge (ABOK) [22] 2 BACKGROUND • Software Language Engineering BoK (SLEBOK) [25] 2.1 Bodies of Knowledge 2.2 The Software Engineering BoK (SWEBOK) A Body of Knowledge (BoK) is a set of concepts, terminology and In 2004, the IEEE Computer Society established for the first time tasks that constitute a professional domain.