=Paper= {{Paper |id=Vol-2245/gemoc_paper_3 |storemode=property |title=Tool-Support of Socio-Technical Coordination in the Context of Heterogeneous Modeling |pdfUrl=https://ceur-ws.org/Vol-2245/gemoc_paper_3.pdf |volume=Vol-2245 |authors=Francis Bordeleau,Benoit Combemale,Romina Eramo,Mark van den Brand,Manuel Wimmer |dblpUrl=https://dblp.org/rec/conf/models/BordeleauCEBW18 }} ==Tool-Support of Socio-Technical Coordination in the Context of Heterogeneous Modeling== https://ceur-ws.org/Vol-2245/gemoc_paper_3.pdf
                     Tool-Support of Socio-Technical Coordination
                      in the Context of Heterogeneous Modeling
                                        A Research Statement and Associated Roadmap

             Francis Bordeleau                               Benoit Combemale                                        Romina Eramo
       Ecole de Technologie Superieur,                University of Toulouse, CNRS IRIT                         University of L’Aquila
            Universite du Quebec                               Toulouse, France                                     L’Aquila, Italy
              Montreal, Canada                            benoit.combemale@irit.fr                             romina.eramo@univaq.it
        francis.bordeleau@etsmtl.ca

                                   Mark van den Brand                                Manuel Wimmer
                            Eindhoven University of Technology                        TU Wien
                                Eindhoven, The Netherlands                         Vienna, Austria
                                   m.g.j.v.d.brand@tue.nl                       wimmer@big.tuwien.ac.at

ABSTRACT                                                                   typically developed using different modeling techniques, languages,
The growing complexity of everyday life systems (and devices)              and tools. Using the automotive industry as an example, the devel-
over the last decades has forced the industry to use and investigate       opment of cars has evolved in the last decades from pure mechanical
different development techniques to manage the many different              engineering to multidisciplinary engineering where engineers from
aspects of the systems. In this context, the use of model driven           different domains (including software engineering, electrical en-
engineering (MDE) has emerged and is now common practice for               gineering, safety engineering, and mechanical engineering) are
many engineering disciplines. However, this comes with important           involved. From an MDE perspective, tools like Matlab/Simulink are
challenges. As set of main challenges relates to the fact that different   used to describe continuous behavior of a component or system,
modeling techniques, languages, and tools are required to deal with        while modeling languages like UML or SysML are used to describe
the different system aspects, and that support is required to ensure       system architecture and discrete behavior (using state machines or
consistence and coherence between the different models. This paper         activity diagrams), and other modeling techniques, languages and
identifies a number of the challenges and paints a roadmap on how          tools are used for other aspects. Over the years, the MDE commu-
tooling can support a multi-model integrated way of working.               nity has placed the main focus on the development of techniques,
                                                                           languages and tools to support specific modelling context and do-
CCS CONCEPTS                                                               mains, but little focus has been placed on the development of proper
                                                                           methodologies and tooling to support the development, mainte-
• Software and its engineering → Software notations and
                                                                           nance, and evolution of a set of related models in the context of
tools;
                                                                           cross- or multi-disciplinary modeling [4]. Important issues include:
KEYWORDS                                                                   - How can we ensure coherence and consistency between models
                                                                             defined using different modeling languages (that are based on
Heterogenous modeling, model consistency, domain specific lan-
                                                                             different metamodels)?
guages
                                                                           - How can we maintain coherence and consistency between mod-
                                                                             els that are independently defined and evolved throughout the
1    INTRODUCTION                                                            development process by different engineers and teams?
The fast growing, ever increasing, complexity of everyday life sys-        - How can we govern the evolution of the system and associated
tems (and devices) over the last decades has forced the industry to          models?
use and investigate different development techniques to manage the            To complement previous general discussions about the global-
many different aspects of the systems. In this context, model driven       ization of modeling languages1 [3] or multilingual programming
engineering (MDE) has emerged as an effective solution [10] as it al-      environments [12], we focus in this discussion paper on the im-
lows leveraging abstraction and automation. Among other things, it         portance of the tool-support for the socio-technical coordination
provides automated transformation/generation techniques, which             within the development of complex software-intensive systems.
allow increasing productivity and reduce time to market, and anal-         Indeed, since languages are pivot in between the various engineers
ysis/validation/simulation techniques, which allow increasing sys-         and the technical artefacts they have to build with, we envision
tem quality. The use of MDE has been steadily increasing and is            that the tool-support of the relationships between those languages
now common practice for many engineering disciplines [13].                 helps both to support the seamless coordination of the stakeholders,
   However, this comes with important challenges. A set of im-             and to automate the coordination of the technical artefacts.
portant challenges are related to the fact the development of the
different aspects of a system require engineers from different disci-      1 See [3] for a comprehensive description of the related Grand Challenge of the Global-

plines, with different skills and expertise, and that these aspects are    ization of Modeling Languages.
   In the following section, we motivate the language-support of            existing tools, via APIs, repositories, etc., to administrate and main-
both stakeholders and technical artefacts built during the devel-           tain the relations and dependencies. We envision that the relations
opment process of complex systems. Then, in Section 3, we look              and dependencies on the model level represent the organisation
ahead and provide a research and technology roadmap to meet the             structure and/or the workflow of product development.
requirements.                                                                  As a second step, we can proceed with the definition of the
                                                                            role of the different modeling techniques, languages and tools that
2    LAYERING IN HETEROGENEOUS                                              will be used to model the different aspects of the systems and
     MODELING                                                               the definition of the semantic relationships between the different
The excavation of domain concepts depends on the engineers work-            models and model elements. The identification of relations can
ing in different technological spaces when developing (complex)             be done in two directions (see Fig. 1), from models upwards and
systems. The dependencies and relations between the models used             from people downwards. The optimal results is obtained when both
by these engineers are defined by the relations between the domain          directions are taken into consideration.
concepts at the domain (i.e., metamodel) level. The model driven            2.1    From Models to People
technology space is defined by the architectural layering of M0             We restrict ourselves to the relationships between models across
through M3. We will take a slightly different viewpoint. We are             disciplines. The relationships within models and across models
not interested in the level M3 (meta-metamodel) level, but are in-          within a specific discipline are often maintained via the current
terested in the organisational relations or the relations created via       tooling used by the domain engineers.
workflow dependencies in product development.                                  The construction of inter-relations among models from different
                                                                            disciplines can only be done if the models use clearly related domain
                                                                            concepts. If both domains use the same name for a concept then this
                                                                            can be a strong indication that the objects adhering to this concept
                                                                            are related. Of course, a sanity check on the semantic level is still
                                                                            required. The corresponding metamodels should use the same name
                                                                            as well. These common concepts have to be acknowledged by the
                                                                            domain engineers or the (system) architect.
                                                                            2.2    From People to Models
                                                                            Objects that adhere to domain concepts with implicit relationships
                                                                            are much harder to establish. There could be a temporal depen-
                                                                            dency based on the fact that objects are created, updated or deleted
                                                                            more or less in sync, but advanced repository mining techniques
                                                                            are needed for this. These implicit relationships have to be made
                                                                            explicit on the level of the domain engineers and (system) architects.
Figure 1: Language-Oriented Socio-Technical Coordination                    Engineers and architects have to map the domain concepts and have
                                                                            to administer the relationships explicitly. These relationships have
   To answer the questions mentioned in Section 1, we propose to            to be established in the supporting tooling and maintained during
focus in this paper about the language and the tooling issues. As a         the development, maintenance and destruction of the models.
first step, we need to focus on the definition of the overall domain           This type of functionality is typically tool agnostic. We can not
model that defines the top level system concepts independently              expect that existing modeling environments offer this type of func-
of the specific modeling techniques, languages and tools that will          tionality out-of-the-box. Overarching tooling is needed to deal with
be used in the development process. At this stage the goal is to            multidisciplinary models and their relationships.
define the overarching conceptual framework that will govern the
development of the system. As Melvin Conway 2 had observed, how             3     ROADMAP
organizations were structured would have a strong impact on any             For realizing overarching tooling for multidisciplinary modeling
systems they created. In this task the (system) architect plays an          projects, several challenges have to be tackled. First, more explicit
important role, the architect has the overall view on the project and       connection points are needed for models which in turn allow for
the technical and non-technical dependencies between the domain             a more systematic interlinking and integration of models. Second,
engineering disciplines. The excavation of domain concepts needs            rich linking support is needed which is capable to work across
to be done with care and involves a close investigation whether             discipline boundaries. Third, governance for evolving linked models
the definition of domain concepts used in different disciplines can         is required to ensure effective and efficient engineering processes.
be mapped onto each other. The identification of common domain
concepts is necessary in order to establish relations and dependen-         3.1    Model Interfaces
cies on the model level and to be administrated and maintained              Current approaches to connect models assume to define links poten-
via tooling. Adapting existing domain specific tooling is costly; an        tially between every model element available in the models. While
alternative is to develop generic tooling that communicates with            this allows for general solutions to connect models, more pragmatic
2 Conway’s law: https://en.wikipedia.org/wiki/Conway%27s_law                solutions are needed for large-scale projects. The interface(s) of a
                                                                        2
model to other discipline(s) have to be explicitly defined in order            must be managed to ensure coherence and consistency between
to coordinate work without having to explore and interpret full                the models. This requires a tooling infrastructure that provides a
models. First work going in this direction is emerging [11] where              cross-model change impact capability that accounts for the mainte-
the interaction points between metamodels and models are expli-                nance and evolution of the trace links. This means, that trace links
cated. However, a strong requirement to be further explored in                 have to be versioned and that they may need meta-information on
the future is how much control can be enforced on the existing                 current validity (invalid trace links may point out inconsistencies
tools to manage such interfaces on both, the provider and customer             between the models) and who is maintaining the links [6]. Based
side. Finally, model interfaces must support IP management, and                on this meta-information, a life-cycle model for inconsistencies
correspond to the integration concerns for supporting functional               may be established. One may tolerate, ignore, or resolve them, but
chains.                                                                        awareness is needed all the time as inconsistencies have to live
                                                                               with the evolving models and co-evolve.
3.2    Model Linking
Traceability relationships may help stakeholders to understand the             4     CONCLUSION
associations and dependencies that exist among heterogeneous
                                                                               In this paper, we elaborated on our vision about the language-
models and their correspondences [8, 14]. In MDE, the definition of
                                                                               support of the socio-technical coordination required in the develop-
traceability focuses on models as the primary artifacts and refers
                                                                               ment of modern complex software-intensive systems. More specifi-
to traceability (or trace) links: in particular, a trace link is a rela-
                                                                               cally, we first discuss the need for explicit relationships between the
tionship between one or more source model elements and one or
                                                                               domain models of the various languages involved. Then, we argue
more target model elements, whereas a trace model is a structured
                                                                               for more focus in the community on tool-support for the coordina-
set of trace links, e.g., between source and target models. Trace
                                                                               tion at the levels of language users and the actual heterogeneous
links may be defined between entire artefacts (e.g., a requirements
                                                                               models. For such a purpose, we derive a roadmap of concrete and
document and a design model) or between parts of artefacts. We
                                                                               actionable challenges to be further addressed by the community.
propose the use of trace links as the basis for defining and inform-
                                                                                  We hope this paper raises interesting discussions, and initiates
ing related stakeholders about correspondences between models.
                                                                               and federates various related research activities. Collections of
Furthermore, trace links incorporate consistency relations between
                                                                               benchmarks and case studies are also required for further evaluating
the connected models. As it is difficult to keep a software system
                                                                               and positioning the different approaches and intents.
consistent at all times, tools need to have different policies for
consistency enforcement. Thus, traceability may support consis-                REFERENCES
tency restoration policies. In MDE, this can be implemented by                  [1] M. Barbero, F. Jouault, and J. Bézivin. 2008. Model Driven Management of
updating unidirectional transformations and synchronizing bidi-                     Complex Systems: Implementing the Macroscope’s Vision. In IEEE Int. Conference
rectional transformations, and it can be also supported by means of                 and Workshop on Engineering of Computer Based Systems (ECBS 2008). 277–286.
                                                                                [2] A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. [n. d.]. JTL: A Bidi-
constraints [2, 7]. Among the existing approaches that work with                    rectional and Change Propagating Transformation Language. In International
correspondences, it is worth mentioning multi-view modeling [9],                    Conference on Software Language Engineering (SLE).
that supports distinct views on a shared model, and megamodeling                [3] B. Combemale, B.H.C. Cheng, R.B. France, J.M. Jézéquel, and year=2015 B. Rumpe,
                                                                                    series=Lecture Notes in Computer Science. [n. d.]. Globalizing Domain-Specific
[1], that proposes a technique for managing dependencies among                      Languages: International Dagstuhl Seminar.
models in a heterogeneous system.                                               [4] B. Combemale, J. Deantoni, B. Baudry, R.B. France, J.M. Jézéquel, and J. Gray.
                                                                                    2014. Globalizing Modeling Languages. Computer (2014), 10–13.
   The framework we are outlining aims at supporting stakehold-                 [5] A. Van Deursen, P. Klint, and J. Visser. 2000. Domain-specific languages: An
ers that need to coordinate their activities without impacting their                annotated bibliography. 35, 6 (2000), 26–36.
own current way to work. Typically, when designers work with                    [6] S. Feldmann, M. Wimmer, K. Kernschmidt, and B. Vogel-Heuser. 2016. A com-
                                                                                    prehensive approach for managing inter-model inconsistencies in automated
heterogeneous models, they considered employing different mod-                      production systems engineering. In IEEE International Conference on Automation
eling languages that are tailored to specific system aspects or a                   Science and Engineering (CASE). 1120–1127.
specific application area, i.e., domain specific languages (DSLs) [5].          [7] S. Hidaka, M. Tisi, J. Cabot, and Z. Hu. 2016. Feature-based classification of
                                                                                    bidirectional transformation approaches. Software & Systems Modeling 15, 3
Stakeholders coordination does not require to know any languages                    (2016), 907–928.
that are used, but rather the concepts that are involved in their               [8] R.F. Paige, N. Drivalos, D.S. Kolovos, K.J. Fernandes, C. Power, G.K. Olsen, and
                                                                                    S. Zschaler. 2011. Rigorous identification and encoding of trace-links in model-
activities. To this end, we need to create an external infrastructure               driven engineering. Software and System Modeling 10, 4 (2011), 469–487.
to relate heterogeneous models in different tools. If heterogeneous             [9] J.E. Rivera, J.R. Romero, and A. Vallecillo. 2008. Behavior, Time and Viewpoint
software artifacts, tools, stakeholders are to interoperate effectively,            Consistency: Three Challenges for MDE. In Models in Software Engineering,
                                                                                    Workshops and Symposia at MODELS 2008. Reports and Revised Selected Papers.
they must have a common understanding of each other’s informa-                      60–65.
tion structures, which requires a common language (i.e., a common              [10] D.C. Schmidt. 2006. Guest Editor’s Introduction: Model-Driven Engineering.
metamodel for traceability) describing how common concepts are                      Computer 39, 2 (2006), 25–31.
                                                                               [11] D. Strüber, S. Jurack, T. Schäfer, S. Schulz, and G. Taentzer. 2016. Managing Model
related one with the other.                                                         and Meta-Model Components with Export and Import Interfaces. In Workshop
                                                                                    on Scalable Model Driven Engineering at STAF 2016. 31–36.
                                                                               [12] T. van der Storm and J.J. Vinju. 2013. Towards Multilingual Programming Envi-
3.3    Model Governance                                                             ronments. Science of Computer Programming (2013).
Besides the technical aspects discussed in the previous sections, the          [13] J. Whittle, J. Hutchinson, and M. Rouncefield. 2014. The State of Practice in
                                                                                    Model-Driven Engineering. Software, IEEE 31, 3 (2014), 79–85.
development and evolution of a set of related models also require              [14] S. Winkler and J. Pilgrim. [n. d.]. A Survey of Traceability in Requirements
the establishment of a clear governance that defines who is respon-                 Engineering and Model-driven Development. 9, 4 ([n. d.]), 529–565.
sible for updating the different models and how model changes
                                                                           3