IEEE Transactions on Software Engineering, Apr 1, 2021
Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and pro... more Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the state of the practice may help researchers to steer their research and practitioners to improve their daily work. Objective: In this paper, we present our findings from an interview-based survey conducted with practitioners working in 18 different companies from 6 European countries. From a practitioner's point of view, the paper shows what barriers and benefits the management of NFRs as part of the MDD process can bring to companies, how NFRs are supported by MDD approaches, and which strategies are followed when (some) types of NFRs are not supported by MDD approaches. Results: Our study shows that practitioners perceive MDD adoption as a complex process with little to no tool support for NFRs, reporting productivity and maintainability as the types of NFRs expected to be supported when MDD is adopted. But in general, companies adapt MDD to deal with NFRs. When NFRs are not supported, the generated code is sometimes changed manually, thus compromising the maintainability of the software developed. However, the interviewed practitioners claim that the benefits of using MDD outweight the extra effort required by these manual adaptations. Conclusion: Overall, the results indicate that it is important for practitioners to handle NFRs in MDD, but further research is necessary in order to lower the barrier for supporting a broad spectrum of NFRs with MDD. Still, much conceptual and tool implementation work seems to be necessary to lower the barrier of integrating the broad spectrum of NFRs in practice.
MegaM@Rt2 is a large European project dedicated to the provisioning of a model-based methodology ... more MegaM@Rt2 is a large European project dedicated to the provisioning of a model-based methodology and supporting tooling for system engineering at a wide scale. It notably targets the continuous development and runtime validation of such complex systems by developing a framework addressing a large set of engineering processes and application domains. This collaborative project involves 27 partners from 6 different countries, 9 industrial case studies as well as over 30 different software tools from project partners (and others). In the context of the MegaM@Rt2 project, we elaborated on a pragmatic model-driven approach to specify the case study requirements, design the high-level architecture of a framework, perform the gap analysis between the industrial needs and current state-of-the-art, and plan a first framework development roadmap accordingly. The present paper describes the generic tool-supported approach that came out as a result. It also details its concrete application in the MegaM@Rt2 project. In particular, we discuss the collaborative modeling process, the requirement definition tooling , the approach for components modeling, as well as the traceability and document generation. In addition, we show how we used the proposed solution to specify the MegaM@Rt2 framework's conceptual tool components centered around three complementary tool sets: the MegaM@Rt2 System Engineering Tool Set, the MegaM@Rt2 Runtime Analysis Tool Set and the MegaM@Rt2 Model & Traceability Management Tool Set. The paper ends with a discussion on the practical lessons we have learned from this work so far.
Journal on Software and System Modeling (SoSyM), Springer Verlag, 2019
When dealing with complex systems, information is very often fragmented across many different mod... more When dealing with complex systems, information is very often fragmented across many different models expressed within a variety of (modeling) languages. To provide the relevant information in an appropriate way to different kinds of stakeholders, (parts of) such models have to be combined and potentially revamped by focusing on concerns of particular interest for them. Thus, mechanisms to define and compute views over models are highly needed. Several approaches have already been proposed to provide (semi-)automated support for dealing with such model views. This paper provides a detailed overview of the current state-of-the-art in this area. To achieve this, we relied on our own experiences of designing and applying such solutions in order to conduct a literature review on this topic. As a result, we discuss the main capabilities of existing approaches and propose a corresponding research agenda. We notably contribute a feature model describing what we believe to be the most important characteristics of the support for views on models. We expect this work to be helpful to both current and potential future users and developers of model view techniques, as well as to any person generally interested in model-based software and systems engineering.
Reverse engineering is still a challenging process, notably because of the growing number, hetero... more Reverse engineering is still a challenging process, notably because of the growing number, heterogeneity, complexity, and size of software applications. While the analysis of their structural elements has been intensively investigated, there is much less work covering the reverse engineering of their behavioral aspects. To further stimulate research on this topic, we propose fREX as an open framework for reverse engineering of executable behaviors from existing software code bases. fREX currently provides model discovery support for behavior embedded in Java code, employs the OMG's fUML standard language as executable pivot format for dynamic analysis, and uses model transformations to bridge Java and fUML. Thus, fREX also aims at contributing to explore the relationship between programming languages (e.g., Java) and executable mod-eling languages (e.g., fUML). In this paper, we describe the proposed fREX framework and its current reverse engineering support covering some core Java features. In addition we discuss how the framework can be used for performing different kinds of dynamic analysis on existing software, as well as how it could be extended in the future.
Modeling complex systems involves dealing with several heterogeneous and interrelated models defi... more Modeling complex systems involves dealing with several heterogeneous and interrelated models defined using a variety of languages (UML, ER, BPMN, DSLs, etc.). These models must be frequently combined in different cross-domain perspectives to provide stakeholders the view of the system they need to best perform their tasks. Several model composition approaches have already been proposed addressing this problem. Nevertheless, they present some important limitations concerning efficiency, interoperability and synchronization between the base models and the composed ones. As an alternative we introduce EMF Views, an approach coming with a dedicated language and tooling for defining views on potentially heterogeneous models. Similarly to views in databases, model views are not materialized but instead redirect all model access and manipulation requests to the base models from which they are obtained. This is realized in a transparent way for both the modeler and the other modeling tools using the concerned (meta)models.
Modeling in real industrial projects implies dealing with different models , metamodels and suppo... more Modeling in real industrial projects implies dealing with different models , metamodels and supporting tools. They continuously have to be adapted to changing requirements, involving (often costly) problems in terms of traceability, coherence or interoperability. To this intent, solutions ensuring a better adaptability and flexibility of modeling tools are needed. As metamodels are cornerstones in such tools, metamodel extension capabilities are fundamental. However , current modeling frameworks are not flexible or dynamic enough. Thus, following the ongoing OMG MOF Extension Facility (MEF) RFP, this paper proposes a generic lightweight metamodel extension mechanism developed as part of the MoNoGe collaborative project. A base list of metamodel extension operators as well as a DSL for easily using them are introduced. Two different implementations of this extension mechanism (including a model-level support when (un)applying metamodel extensions) are also described, respectively based on Eclipse/EMF and the Modelio modeling environment.
Tool development has always been a fundamental activity of Software Engineering. Nowadays, open s... more Tool development has always been a fundamental activity of Software Engineering. Nowadays, open source is changing the way this is done in many organizations. Traditional ways of doing things are progressively enhanced or even sometimes replaced by new organizational schemes, benefiting as much as possible from the properties of open source (OS). This is especially true in innovative areas such as Model Driven Engineering (MDE) in which new tools are constantly created, developed and disseminated, many of them coming from research teams. This poses some hard questions: What is the actual impact of OS in terms of tool development? How to best take advantage of OS communities? And what are the opportunities for research teams in this context? Capitalizing on experiences in developing MDE OS tools on top of the Eclipse platform and its license model, we try to give some insights on these questions in this paper.
Model Driven Engineering (MDE) is often applied to support software engineering processes (i.e., ... more Model Driven Engineering (MDE) is often applied to support software engineering processes (i.e., from reverse to forward engineering, including maintenance and/or evolution tasks). However, as promoted by the Model Driven Organization (MDO) initiative, it can also be relevant in more business-oriented and strategic decision-making activities such as Enterprise Architecture (EA). EA is the process of translating business vision and strategy into effective change by better describing the enterprise's future state and thus enable its evolution. Even if several approaches have already proposed different kinds of support to deal with the company's EA, an integrated MDE framework combining EA data federation, EA standard adaptation and multiple viewpoint support is still missing. This paper reports on our ongoing experience of building the TEAP MDE framework (based on the TOGAF standard and SmartEA tooling) notably addressing these three challenges in an industrial EA context.
The Eclipse-MDT MoDisco open source project is part of the Indigo Eclipse Simultaneous Release. H... more The Eclipse-MDT MoDisco open source project is part of the Indigo Eclipse Simultaneous Release. Here we describe how MoDisco can play a role in the evolution of (legacy) software, focusing on the latest project news.
Nowadays, almost all companies, independently of their size and type of activity, are facing the ... more Nowadays, almost all companies, independently of their size and type of activity, are facing the problematic of having to manage, maintain or even replace their legacy systems. Many times, the first problem they need to solve is to really understand what are the functionalities, architecture, data, etc of all these often huge legacy applications. As a consequence, reverse engineering still remains a major challenge for software engineering today. This paper introduces MoDisco, a generic and extensible open source reverse engineering solution. MoDisco intensively uses MDE principles and techniques to improve existing approaches for reverse engineering.
Research groups develop plenty of tools aimed at solving real industrial problems. Unfortunately,... more Research groups develop plenty of tools aimed at solving real industrial problems. Unfortunately, most of these tools remain as simple proof-of-concept tools that companies consider too risky to use due to their lack of proper user interface, documentation, completeness, support, etc that companies expect from commercial-quality level tools. Based on our tool development experience in the AtlanMod research team, specially regarding the evolution of our ATL model transformation tool, we argue in this paper that the best solution for research teams aiming to create high-quality and widely-used tools is to industrialize their research prototypes through a partnership with a technology provider.
Service-orientation and model-driven engineering are two of the most dominant software engineerin... more Service-orientation and model-driven engineering are two of the most dominant software engineering paradigms nowadays. This position paper explores the synergies between them and show how they can benefit from each other. In particular, the paper introduces the notion of Model-ing as a Service (MaaS) as a way to provide modeling and model-driven engineering services from the cloud.
IEEE Transactions on Software Engineering, Apr 1, 2021
Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and pro... more Context: Managing Non-Functional Requirements (NFRs) in software projects is challenging, and projects that adopt Model-Driven Development (MDD) are no exception. Although several methods and techniques have been proposed to face this challenge, there is still little evidence on how NFRs are handled in MDD by practitioners. Knowing more about the state of the practice may help researchers to steer their research and practitioners to improve their daily work. Objective: In this paper, we present our findings from an interview-based survey conducted with practitioners working in 18 different companies from 6 European countries. From a practitioner's point of view, the paper shows what barriers and benefits the management of NFRs as part of the MDD process can bring to companies, how NFRs are supported by MDD approaches, and which strategies are followed when (some) types of NFRs are not supported by MDD approaches. Results: Our study shows that practitioners perceive MDD adoption as a complex process with little to no tool support for NFRs, reporting productivity and maintainability as the types of NFRs expected to be supported when MDD is adopted. But in general, companies adapt MDD to deal with NFRs. When NFRs are not supported, the generated code is sometimes changed manually, thus compromising the maintainability of the software developed. However, the interviewed practitioners claim that the benefits of using MDD outweight the extra effort required by these manual adaptations. Conclusion: Overall, the results indicate that it is important for practitioners to handle NFRs in MDD, but further research is necessary in order to lower the barrier for supporting a broad spectrum of NFRs with MDD. Still, much conceptual and tool implementation work seems to be necessary to lower the barrier of integrating the broad spectrum of NFRs in practice.
MegaM@Rt2 is a large European project dedicated to the provisioning of a model-based methodology ... more MegaM@Rt2 is a large European project dedicated to the provisioning of a model-based methodology and supporting tooling for system engineering at a wide scale. It notably targets the continuous development and runtime validation of such complex systems by developing a framework addressing a large set of engineering processes and application domains. This collaborative project involves 27 partners from 6 different countries, 9 industrial case studies as well as over 30 different software tools from project partners (and others). In the context of the MegaM@Rt2 project, we elaborated on a pragmatic model-driven approach to specify the case study requirements, design the high-level architecture of a framework, perform the gap analysis between the industrial needs and current state-of-the-art, and plan a first framework development roadmap accordingly. The present paper describes the generic tool-supported approach that came out as a result. It also details its concrete application in the MegaM@Rt2 project. In particular, we discuss the collaborative modeling process, the requirement definition tooling , the approach for components modeling, as well as the traceability and document generation. In addition, we show how we used the proposed solution to specify the MegaM@Rt2 framework's conceptual tool components centered around three complementary tool sets: the MegaM@Rt2 System Engineering Tool Set, the MegaM@Rt2 Runtime Analysis Tool Set and the MegaM@Rt2 Model & Traceability Management Tool Set. The paper ends with a discussion on the practical lessons we have learned from this work so far.
Journal on Software and System Modeling (SoSyM), Springer Verlag, 2019
When dealing with complex systems, information is very often fragmented across many different mod... more When dealing with complex systems, information is very often fragmented across many different models expressed within a variety of (modeling) languages. To provide the relevant information in an appropriate way to different kinds of stakeholders, (parts of) such models have to be combined and potentially revamped by focusing on concerns of particular interest for them. Thus, mechanisms to define and compute views over models are highly needed. Several approaches have already been proposed to provide (semi-)automated support for dealing with such model views. This paper provides a detailed overview of the current state-of-the-art in this area. To achieve this, we relied on our own experiences of designing and applying such solutions in order to conduct a literature review on this topic. As a result, we discuss the main capabilities of existing approaches and propose a corresponding research agenda. We notably contribute a feature model describing what we believe to be the most important characteristics of the support for views on models. We expect this work to be helpful to both current and potential future users and developers of model view techniques, as well as to any person generally interested in model-based software and systems engineering.
Reverse engineering is still a challenging process, notably because of the growing number, hetero... more Reverse engineering is still a challenging process, notably because of the growing number, heterogeneity, complexity, and size of software applications. While the analysis of their structural elements has been intensively investigated, there is much less work covering the reverse engineering of their behavioral aspects. To further stimulate research on this topic, we propose fREX as an open framework for reverse engineering of executable behaviors from existing software code bases. fREX currently provides model discovery support for behavior embedded in Java code, employs the OMG's fUML standard language as executable pivot format for dynamic analysis, and uses model transformations to bridge Java and fUML. Thus, fREX also aims at contributing to explore the relationship between programming languages (e.g., Java) and executable mod-eling languages (e.g., fUML). In this paper, we describe the proposed fREX framework and its current reverse engineering support covering some core Java features. In addition we discuss how the framework can be used for performing different kinds of dynamic analysis on existing software, as well as how it could be extended in the future.
Modeling complex systems involves dealing with several heterogeneous and interrelated models defi... more Modeling complex systems involves dealing with several heterogeneous and interrelated models defined using a variety of languages (UML, ER, BPMN, DSLs, etc.). These models must be frequently combined in different cross-domain perspectives to provide stakeholders the view of the system they need to best perform their tasks. Several model composition approaches have already been proposed addressing this problem. Nevertheless, they present some important limitations concerning efficiency, interoperability and synchronization between the base models and the composed ones. As an alternative we introduce EMF Views, an approach coming with a dedicated language and tooling for defining views on potentially heterogeneous models. Similarly to views in databases, model views are not materialized but instead redirect all model access and manipulation requests to the base models from which they are obtained. This is realized in a transparent way for both the modeler and the other modeling tools using the concerned (meta)models.
Modeling in real industrial projects implies dealing with different models , metamodels and suppo... more Modeling in real industrial projects implies dealing with different models , metamodels and supporting tools. They continuously have to be adapted to changing requirements, involving (often costly) problems in terms of traceability, coherence or interoperability. To this intent, solutions ensuring a better adaptability and flexibility of modeling tools are needed. As metamodels are cornerstones in such tools, metamodel extension capabilities are fundamental. However , current modeling frameworks are not flexible or dynamic enough. Thus, following the ongoing OMG MOF Extension Facility (MEF) RFP, this paper proposes a generic lightweight metamodel extension mechanism developed as part of the MoNoGe collaborative project. A base list of metamodel extension operators as well as a DSL for easily using them are introduced. Two different implementations of this extension mechanism (including a model-level support when (un)applying metamodel extensions) are also described, respectively based on Eclipse/EMF and the Modelio modeling environment.
Tool development has always been a fundamental activity of Software Engineering. Nowadays, open s... more Tool development has always been a fundamental activity of Software Engineering. Nowadays, open source is changing the way this is done in many organizations. Traditional ways of doing things are progressively enhanced or even sometimes replaced by new organizational schemes, benefiting as much as possible from the properties of open source (OS). This is especially true in innovative areas such as Model Driven Engineering (MDE) in which new tools are constantly created, developed and disseminated, many of them coming from research teams. This poses some hard questions: What is the actual impact of OS in terms of tool development? How to best take advantage of OS communities? And what are the opportunities for research teams in this context? Capitalizing on experiences in developing MDE OS tools on top of the Eclipse platform and its license model, we try to give some insights on these questions in this paper.
Model Driven Engineering (MDE) is often applied to support software engineering processes (i.e., ... more Model Driven Engineering (MDE) is often applied to support software engineering processes (i.e., from reverse to forward engineering, including maintenance and/or evolution tasks). However, as promoted by the Model Driven Organization (MDO) initiative, it can also be relevant in more business-oriented and strategic decision-making activities such as Enterprise Architecture (EA). EA is the process of translating business vision and strategy into effective change by better describing the enterprise's future state and thus enable its evolution. Even if several approaches have already proposed different kinds of support to deal with the company's EA, an integrated MDE framework combining EA data federation, EA standard adaptation and multiple viewpoint support is still missing. This paper reports on our ongoing experience of building the TEAP MDE framework (based on the TOGAF standard and SmartEA tooling) notably addressing these three challenges in an industrial EA context.
The Eclipse-MDT MoDisco open source project is part of the Indigo Eclipse Simultaneous Release. H... more The Eclipse-MDT MoDisco open source project is part of the Indigo Eclipse Simultaneous Release. Here we describe how MoDisco can play a role in the evolution of (legacy) software, focusing on the latest project news.
Nowadays, almost all companies, independently of their size and type of activity, are facing the ... more Nowadays, almost all companies, independently of their size and type of activity, are facing the problematic of having to manage, maintain or even replace their legacy systems. Many times, the first problem they need to solve is to really understand what are the functionalities, architecture, data, etc of all these often huge legacy applications. As a consequence, reverse engineering still remains a major challenge for software engineering today. This paper introduces MoDisco, a generic and extensible open source reverse engineering solution. MoDisco intensively uses MDE principles and techniques to improve existing approaches for reverse engineering.
Research groups develop plenty of tools aimed at solving real industrial problems. Unfortunately,... more Research groups develop plenty of tools aimed at solving real industrial problems. Unfortunately, most of these tools remain as simple proof-of-concept tools that companies consider too risky to use due to their lack of proper user interface, documentation, completeness, support, etc that companies expect from commercial-quality level tools. Based on our tool development experience in the AtlanMod research team, specially regarding the evolution of our ATL model transformation tool, we argue in this paper that the best solution for research teams aiming to create high-quality and widely-used tools is to industrialize their research prototypes through a partnership with a technology provider.
Service-orientation and model-driven engineering are two of the most dominant software engineerin... more Service-orientation and model-driven engineering are two of the most dominant software engineering paradigms nowadays. This position paper explores the synergies between them and show how they can benefit from each other. In particular, the paper introduces the notion of Model-ing as a Service (MaaS) as a way to provide modeling and model-driven engineering services from the cloud.
Uploads
Papers by Jordi Cabot