Ivan Kurtev - Academia.edu (original) (raw)

Papers by Ivan Kurtev

Research paper thumbnail of Reverse engineering models of software interfaces

Computer Science and Information Systems

Cyber-physical systems consist of many hardware and software components. Over the lifetime of the... more Cyber-physical systems consist of many hardware and software components. Over the lifetime of these systems their components are often replaced or updated. To avoid integration problems, formal specifications of component interface behavior are crucial. Such a formal specification captures not only the set of provided operations but also the order of using them and the constraints on their timing behavior. Usually the order of operations are expressed in terms of a state machine. For new components such a formal specification can be derived from requirements. However, for legacy components such interface descriptions are usually not available. So they have to be reverse engineered from existing event logs and source code. This costs a lot of time and does not scale very well. To improve the efficiency of this process, we present a passive learning technique for interface models inspired by process mining techniques. The approach is based on representing causal relations between even...

Research paper thumbnail of Reverse Engineering of Legacy Software Interfaces to a Model-Based Approach

2018 Federated Conference on Computer Science and Information Systems (FedCSIS), 2018

Cyber-physical systems consist of many hardware and software components. Over the life-cycle of t... more Cyber-physical systems consist of many hardware and software components. Over the life-cycle of these systems, components are replaced or updated. To avoid integration problems, good interface descriptions are crucial for component-based development of these systems. For new components, a Domain Specific Language (DSL) called Component Modeling & Analysis (ComMA) can be used to formally define the interface of such a component in terms of its signature, state and timing behavior. Having interfaces described in a model-based approach enables the generation of artifacts, for instance, to generate a monitor that can check interface conformance of components based on a trace of observed interface interactions during execution. The benefit of having formal interface descriptions also holds for legacy system components. Interfaces of legacy components can be reverse engineered manually. In order to reduce the manual effort, we present an automated learner. The learner can reverse engineer...

Research paper thumbnail of Bridging the MS/DSL Tools and the Eclipse Modeling Framework

Model Driven Engineering is based on a number of principles that may be applied in different cont... more Model Driven Engineering is based on a number of principles that may be applied in different contexts. Nowadays several environments employ the MDE principles: Model Driven Architecture (MDA™), Eclipse Modeling Framework (EMF), Microsoft Domain-Specific Language tools (MS/DSL), and many more. Focusing only on one context and ignoring other environments and platforms, based on different conventions, standards or protocols would be unwise because one of the desired properties of models is their ability to be exchanged between different contexts. Due to their abstraction expression level, models should ideally be more adaptable to various operational environments than conventional code. In other words, OMG models and Microsoft models among others should be able to be exchanged between the corresponding environments. In this paper we focus on exchange of models created in these two major industrial platforms: EMF and Microsoft DSL. The capability to exchange models between an EMF and a ...

Research paper thumbnail of Model-based Technology Integration with the Technical Space Concept

In this paper we introduce the concept of Technical Space (TS) to refer to technologies at a high... more In this paper we introduce the concept of Technical Space (TS) to refer to technologies at a higher level of abstraction. Some technical spaces can be easily identified, e.g. the XML TS, the DBMS TS, the programming languages TS, the OMG/MDA TS, etc. As the spectrum of such available technologies is rapidly broadening, the necessity to offer clear guidelines when choosing practical solutions to engineering problems is becoming a must. The purpose of our work is to figure out how to work more efficiently by using the best possibilities of each technology. To do so, we need a basic understanding of the similarities and differences between various TSs, and also of the possible operational bridges that will allow transferring the artifacts obtained in one TS to other TS. The analysis of several technical spaces reveals that they can be perceived in a broader context as model management frameworks, that is, every space is populated with models. An important commonality is that these fram...

Research paper thumbnail of Model Engineering Support for Tool Interoperability

In this paper we want to show how MDE (Model Driven Engineering) approaches may help solving some... more In this paper we want to show how MDE (Model Driven Engineering) approaches may help solving some practical engineering problems. Our view of MDE is not based on the usage of huge and rather monolithic modeling languages like UML 2.0 but instead on small DSLs (Domain Specific Languages) defined by well focused metamodels. As a consequence we use a rather "agile" view of MDE where each tool is characterized by one of several metamodels and where the interoperability between tools is implemented by specific model transformation operations. We base our discussion on a practical illustrative problem of bug-tracking in a collaborative project involving different partners using tools at different maturity levels. We conclude by discussing the help that MDE approaches may bring to solving these kinds of situations.

Research paper thumbnail of A rule-based approach for evolution of AADL models based on changes in functional requirements

Proccedings of the 10th European Conference on Software Architecture Workshops, 2016

The increasing complexity of software systems makes change management costly and time consuming. ... more The increasing complexity of software systems makes change management costly and time consuming. To ensure the costeffective system longevity and endurance, it is crucial to apply change management in the early stages of software development. In this paper, we introduce a rule-based approach to make software architecture evolving based on counter examples provided by a model checker for violated, changing functional requirements. The approach works on software architecture in AADL and is based on verifying functional requirements using Maude model checker. Our goal is to provide guidelines to the architect about potential changes. Using an industrial example, we show how our approach helps in determining changes to produce a new version of the architecture.

Research paper thumbnail of Integrating Interface Modeling and Analysis in an Industrial Setting

Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, 2017

Precise specification of system component interfaces enables analysis of component behavior and c... more Precise specification of system component interfaces enables analysis of component behavior and checking of conformance of an implementation to the interface specification. Very often component interfaces are only defined by their signature and without a formal description of the admissible behavior and timing assumptions. In this paper we present a framework named ComMA (Component Modeling and Analysis) that supports model-based engineering (MBE) of high-tech systems by formalizing interface specifications. ComMA provides a family of domain-specific languages that integrate existing techniques from formal behavioral and time modeling and is easily extensible. It contains tools that support different phases of the development process and can be integrated in the industrial way of working. The framework is applied in the context of the family of interventional X-ray machines developed by Philips.

Research paper thumbnail of Language Architecture: An Architecture Language for Model-Driven Engineering

Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, 2017

The increasing number of languages used to engineer complex systems causes challenges to the deve... more The increasing number of languages used to engineer complex systems causes challenges to the development and maintenance processes of these languages. In this paper, we reflect on our experience in developing real life complex cyber-physical systems by using MDE techniques and DSLs. Firstly, we discuss a number of industrial challenges in the modeling software engineering domain. To address these challenges, we propose the concept of language architecture as an organizational principle for designing, reusing and maintaining DSLs and their infrastructure. Based on this, a metamodel for a DSL is designed and a tool support (LanArchi) is developed. Finally the possible future directions are given.

Research paper thumbnail of Building DSLs with AMMA/ATL, a Case Study on SPL and CPL Telephony Languages

Domain-Specific Languages (DSLs) enable more concise and readable specifications than General Pur... more Domain-Specific Languages (DSLs) enable more concise and readable specifications than General Purpose Languages (GPLs). They are for this reason increasingly used. This DSL approach presents, however, many challenges. One of them is the prototyping and implementation of the numerous DSLs that are required to replace a single GPL. This work presents a case study of implementing two telephony languages: SPL and CPL. It shows how a DSL building framework like AMMA can be used to this purpose.

Research paper thumbnail of New Results - Model management

Research paper thumbnail of Special issue: Selected papers based on the presentations at the workshop on model driven architecture: foundations and applications (MDAFA), Enschede, The Netherlands, June 26–27, 2003

Science of Computer Programming, 2008

Research paper thumbnail of A Practical Experiment to Give Dynamic Semantics to a DSL for Telephony Services Development

Domain-Specific Languages (DSLs) are high level languages defined for combining expressivity and ... more Domain-Specific Languages (DSLs) are high level languages defined for combining expressivity and simplicity by means of constructs which are close to the problem domain and distant from the intricacies of underlying software implementation constraints. In contrast with general purpose languages, DSLs are typically not useful for generic tasks in multiple application domains. The specification of a DSL is a complex task and requires a lot of knowledge about the domain. In the context of Model Driven Engineering (MDE) metamodeling based techniques are quite commonplace in the syntax specification of DSLs. The definition of their semantics still presents difficulties. In this paper, a practical experiment is proposed where Abstract State Machines (ASMs) are used as a formal ground for giving, in a precise and unambiguous way, the dynamic semantics of Session Programming Language (SPL), a DSL defined for the development of telephony services over the Session Initiation Protocol (SIP). This experiment is performed in the context of a MDE framework called AMMA (Atlas Model Management Architecture). Although still under development, the approach proposed here illustrates a practical and generic solution to define the precise dynamic semantics of DSLs.

Research paper thumbnail of Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs

Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to sys... more Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to systems with variable metamodels. This enables dealing with a variety of Domain Specific Languages (DSLs). These generic platforms are increasingly adopted to solve problems like code generation. However, these environments are often limited to syntax definitions. The AMMA platform conceives DSLs as collections of coordinated models defined using a set of core DSLs. For broadening the approach to semantics definition, AMMA should thus be extended. The paper presents an extension of the core DSLs of AMMA to specify the dynamic semantics of a range of DSLs by means of Abstract State Machines. Thus, DSLs can be defined not only according to their abstract and concrete syntaxes but also to their semantics in a uniform and systematic way. The approach is validated by means of the semantic bootstrap of the ATL transformation language.

Research paper thumbnail of Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework

Model Driven Software Development (MDSD) is based on a number of common principles that involve t... more Model Driven Software Development (MDSD) is based on a number of common principles that involve the concepts of model, metamodel, and model transformation. These principles can be applied to different standards and different environments. The AMMA platform (ATLAS Model Management Architecture) is an example of an environment based on the principles of model engineering. Currently AMMA is implemented on top of EMF (Eclipse Modeling Framework). However, ignoring other environments and platforms, based on different conventions, standards or protocols like the Generic Modeling Environment (GME) would be unwise because one of the desired properties of models is their ability to be exchanged between different contexts. Due to their abstraction expression level, they should ideally be more adaptable to various operational environments than conventional code. To be able to exchange models between an EMF based system and a corresponding GME platform supposes an abstract understanding of both architectures and a precise organization of the interoperability scheme. This paper describes the first results of a project in this area and presents the lessons learnt in this work. mapping (M3), metamodel projectors (M2) and model projectors (M1) (Figure 2).

Research paper thumbnail of Metamodels: definitions of structures or ontological commitments?

Or Spektrum, 2007

The concept of metamodel is central in Model Driven Engineering (MDE). It is used to define the c... more The concept of metamodel is central in Model Driven Engineering (MDE). It is used to define the conceptual foundation of modeling languages. There exist specialized languages for specifying metamodels known as metalanguages. The most popular of them are object-oriented and support defining structures of the metamodels without considering the semantical underpinnings of the structures. In this paper we study the nature of metamodels from philosophical perspective. We claim that a metamodel is something more than an abstract syntax definition: it is an ontological commitment that guides the modeler in his perception about the real world phenomenon. Therefore, metalanguages should derive their foundation from the study of Ontology. We employ an ontological theory based on the Four-category ontology and the principles of metaphysical realism. We propose a metalanguage called OGML (Ontology Grounded Metalanguage) built upon the basic concepts of this ontology.

Research paper thumbnail of Change impact analysis based on formalization of trace relations for requirements

Research paper thumbnail of Experimental evaluation of a tool for change impact prediction in requirements models: Design, results, and lessons learned

2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE), 2014

There are commercial tools like IBM Rational RequisitePro and DOORS that support semi-automatic c... more There are commercial tools like IBM Rational RequisitePro and DOORS that support semi-automatic change impact analysis for requirements. These tools capture the requirements relations and allow tracing the paths they form. In most of these tools, relation types do not say anything about the meaning of the relations except the direction. When a change is introduced to a requirement, the requirements engineer analyzes the impact of the change in related requirements. In case semantic information is missing to determine precisely how requirements are related to each other, the requirements engineer generally has to assume the worst case dependencies based on the available syntactic information only. We developed a tool that uses formal semantics of requirements relations to support change impact analysis and prediction in requirements models. The tool TRIC (Tool for Requirements Inferencing and Consistency checking) works on models that explicitly represent requirements and the relations among them with their formal semantics. In this paper we report on the evaluation of how TRIC improves the quality of change impact predictions. A quasiexperiment is systematically designed and executed to empirically validate the impact of TRIC. We conduct the quasi-experiment with 21 master's degree students predicting change impact for five change scenarios in a real software requirements specification. The participants are assigned with Microsoft Excel, IBM RequisitePro or TRIC to perform change impact prediction for the change scenarios. It is hypothesized that using TRIC would positively impact the quality of change impact predictions. Two formal hypotheses are developed. As a result of the experiment, we are not able to reject the null hypotheses, and thus we are not able to show experimentally the effectiveness of our tool. In the paper we discuss reasons for the failure to reject the null hypotheses in the experiment. Index Terms-Requirements management tools, change impact analysis, requirements models.

Research paper thumbnail of Tool support for generation and validation of traces between requirements and architecture

Proceedings of the 6th ECMFA Traceability Workshop on - ECMFA-TW '10, 2010

Traceability is considered crucial for establishing and maintaining consistency between software ... more Traceability is considered crucial for establishing and maintaining consistency between software development artifacts. Although considerable research has been devoted to relating requirements and design artifacts with source code, less attention has been paid to relating requirements with architecture by using well-defined semantics of traces. We present a tool that provides trace establishment by using semantics of traces between R&A (Requirements and Architecture). The tool provides the following: (1) generation/validation of traces by using requirements relations and/or verification of architecture, (2) generation/validation of requirements relations by using traces. The tool uses the semantics of traces together with requirements relations and verification results for generating and validating traces. It is based on model transformations in ATL and term-rewriting logic in Maude.

Research paper thumbnail of Application of Reflection in Model Transformation Languages

Theory and Practice of Model Transformations, 2008

Computational reflection is a well known technique applied in many existing programming languages... more Computational reflection is a well known technique applied in many existing programming languages ranging from functional to object-oriented languages. In this paper we study the possibilities and benefits of introducing and using reflection in rule-based model transformation languages. The paper identifies some language abstractions to achieve structural and behavioral reflection. Every reflective feature is motivated by examples of problems derived from the experience with currently used transformation languages. Example solutions are given by using an experimental language with reflective capabilities. The paper also outlines possible implementation strategies for adding reflection to a language and discusses their advantages and disadvantages.

Research paper thumbnail of A metamodeling approach for reasoning on multiple requirements models

2013 17th IEEE International Enterprise Distributed Object Computing Conference, 2013

The complex software development projects of today may require developers to use multiple require... more The complex software development projects of today may require developers to use multiple requirements engineering approaches. Different teams may have to use different requirements modeling formalisms to express requirements related to their assigned parts of a given project. This situation poses difficulties in achieving interoperability and integration of requirements models for the purpose of reasoning on the overall system requirements. It is challenging to compose distributed models expressed in different notations and to reason on the composed models. In this paper we present a metamodeling approach which allows reasoning about requirements and their relations on the whole/composed models expressed in different requirements modeling approaches. In a previous work we expressed the structure of requirements documents as a requirements metamodel in which the most important elements are requirements relations and their types. The semantics of these elements is given in First Order Logic (FOL) and allows two activities: inferring new relations from the initial set of relations and checking consistency of relations. In this work we use the requirements metamodel as a core metamodel to be specialized for different requirements modeling approaches and notations such as Product-line and SysML. Mainly, the requirements relations in the metamodel are specialized to support relations in different requirements modeling approaches. The specialization allows using the same semantics and reasoning mechanism of the core metamodel for multiple requirements modeling approaches. To illustrate the approach we use an example from automotive domain expressed with two modeling approaches: product-line requirements models and SysML for system requirements.

Research paper thumbnail of Reverse engineering models of software interfaces

Computer Science and Information Systems

Cyber-physical systems consist of many hardware and software components. Over the lifetime of the... more Cyber-physical systems consist of many hardware and software components. Over the lifetime of these systems their components are often replaced or updated. To avoid integration problems, formal specifications of component interface behavior are crucial. Such a formal specification captures not only the set of provided operations but also the order of using them and the constraints on their timing behavior. Usually the order of operations are expressed in terms of a state machine. For new components such a formal specification can be derived from requirements. However, for legacy components such interface descriptions are usually not available. So they have to be reverse engineered from existing event logs and source code. This costs a lot of time and does not scale very well. To improve the efficiency of this process, we present a passive learning technique for interface models inspired by process mining techniques. The approach is based on representing causal relations between even...

Research paper thumbnail of Reverse Engineering of Legacy Software Interfaces to a Model-Based Approach

2018 Federated Conference on Computer Science and Information Systems (FedCSIS), 2018

Cyber-physical systems consist of many hardware and software components. Over the life-cycle of t... more Cyber-physical systems consist of many hardware and software components. Over the life-cycle of these systems, components are replaced or updated. To avoid integration problems, good interface descriptions are crucial for component-based development of these systems. For new components, a Domain Specific Language (DSL) called Component Modeling & Analysis (ComMA) can be used to formally define the interface of such a component in terms of its signature, state and timing behavior. Having interfaces described in a model-based approach enables the generation of artifacts, for instance, to generate a monitor that can check interface conformance of components based on a trace of observed interface interactions during execution. The benefit of having formal interface descriptions also holds for legacy system components. Interfaces of legacy components can be reverse engineered manually. In order to reduce the manual effort, we present an automated learner. The learner can reverse engineer...

Research paper thumbnail of Bridging the MS/DSL Tools and the Eclipse Modeling Framework

Model Driven Engineering is based on a number of principles that may be applied in different cont... more Model Driven Engineering is based on a number of principles that may be applied in different contexts. Nowadays several environments employ the MDE principles: Model Driven Architecture (MDA™), Eclipse Modeling Framework (EMF), Microsoft Domain-Specific Language tools (MS/DSL), and many more. Focusing only on one context and ignoring other environments and platforms, based on different conventions, standards or protocols would be unwise because one of the desired properties of models is their ability to be exchanged between different contexts. Due to their abstraction expression level, models should ideally be more adaptable to various operational environments than conventional code. In other words, OMG models and Microsoft models among others should be able to be exchanged between the corresponding environments. In this paper we focus on exchange of models created in these two major industrial platforms: EMF and Microsoft DSL. The capability to exchange models between an EMF and a ...

Research paper thumbnail of Model-based Technology Integration with the Technical Space Concept

In this paper we introduce the concept of Technical Space (TS) to refer to technologies at a high... more In this paper we introduce the concept of Technical Space (TS) to refer to technologies at a higher level of abstraction. Some technical spaces can be easily identified, e.g. the XML TS, the DBMS TS, the programming languages TS, the OMG/MDA TS, etc. As the spectrum of such available technologies is rapidly broadening, the necessity to offer clear guidelines when choosing practical solutions to engineering problems is becoming a must. The purpose of our work is to figure out how to work more efficiently by using the best possibilities of each technology. To do so, we need a basic understanding of the similarities and differences between various TSs, and also of the possible operational bridges that will allow transferring the artifacts obtained in one TS to other TS. The analysis of several technical spaces reveals that they can be perceived in a broader context as model management frameworks, that is, every space is populated with models. An important commonality is that these fram...

Research paper thumbnail of Model Engineering Support for Tool Interoperability

In this paper we want to show how MDE (Model Driven Engineering) approaches may help solving some... more In this paper we want to show how MDE (Model Driven Engineering) approaches may help solving some practical engineering problems. Our view of MDE is not based on the usage of huge and rather monolithic modeling languages like UML 2.0 but instead on small DSLs (Domain Specific Languages) defined by well focused metamodels. As a consequence we use a rather "agile" view of MDE where each tool is characterized by one of several metamodels and where the interoperability between tools is implemented by specific model transformation operations. We base our discussion on a practical illustrative problem of bug-tracking in a collaborative project involving different partners using tools at different maturity levels. We conclude by discussing the help that MDE approaches may bring to solving these kinds of situations.

Research paper thumbnail of A rule-based approach for evolution of AADL models based on changes in functional requirements

Proccedings of the 10th European Conference on Software Architecture Workshops, 2016

The increasing complexity of software systems makes change management costly and time consuming. ... more The increasing complexity of software systems makes change management costly and time consuming. To ensure the costeffective system longevity and endurance, it is crucial to apply change management in the early stages of software development. In this paper, we introduce a rule-based approach to make software architecture evolving based on counter examples provided by a model checker for violated, changing functional requirements. The approach works on software architecture in AADL and is based on verifying functional requirements using Maude model checker. Our goal is to provide guidelines to the architect about potential changes. Using an industrial example, we show how our approach helps in determining changes to produce a new version of the architecture.

Research paper thumbnail of Integrating Interface Modeling and Analysis in an Industrial Setting

Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, 2017

Precise specification of system component interfaces enables analysis of component behavior and c... more Precise specification of system component interfaces enables analysis of component behavior and checking of conformance of an implementation to the interface specification. Very often component interfaces are only defined by their signature and without a formal description of the admissible behavior and timing assumptions. In this paper we present a framework named ComMA (Component Modeling and Analysis) that supports model-based engineering (MBE) of high-tech systems by formalizing interface specifications. ComMA provides a family of domain-specific languages that integrate existing techniques from formal behavioral and time modeling and is easily extensible. It contains tools that support different phases of the development process and can be integrated in the industrial way of working. The framework is applied in the context of the family of interventional X-ray machines developed by Philips.

Research paper thumbnail of Language Architecture: An Architecture Language for Model-Driven Engineering

Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, 2017

The increasing number of languages used to engineer complex systems causes challenges to the deve... more The increasing number of languages used to engineer complex systems causes challenges to the development and maintenance processes of these languages. In this paper, we reflect on our experience in developing real life complex cyber-physical systems by using MDE techniques and DSLs. Firstly, we discuss a number of industrial challenges in the modeling software engineering domain. To address these challenges, we propose the concept of language architecture as an organizational principle for designing, reusing and maintaining DSLs and their infrastructure. Based on this, a metamodel for a DSL is designed and a tool support (LanArchi) is developed. Finally the possible future directions are given.

Research paper thumbnail of Building DSLs with AMMA/ATL, a Case Study on SPL and CPL Telephony Languages

Domain-Specific Languages (DSLs) enable more concise and readable specifications than General Pur... more Domain-Specific Languages (DSLs) enable more concise and readable specifications than General Purpose Languages (GPLs). They are for this reason increasingly used. This DSL approach presents, however, many challenges. One of them is the prototyping and implementation of the numerous DSLs that are required to replace a single GPL. This work presents a case study of implementing two telephony languages: SPL and CPL. It shows how a DSL building framework like AMMA can be used to this purpose.

Research paper thumbnail of New Results - Model management

Research paper thumbnail of Special issue: Selected papers based on the presentations at the workshop on model driven architecture: foundations and applications (MDAFA), Enschede, The Netherlands, June 26–27, 2003

Science of Computer Programming, 2008

Research paper thumbnail of A Practical Experiment to Give Dynamic Semantics to a DSL for Telephony Services Development

Domain-Specific Languages (DSLs) are high level languages defined for combining expressivity and ... more Domain-Specific Languages (DSLs) are high level languages defined for combining expressivity and simplicity by means of constructs which are close to the problem domain and distant from the intricacies of underlying software implementation constraints. In contrast with general purpose languages, DSLs are typically not useful for generic tasks in multiple application domains. The specification of a DSL is a complex task and requires a lot of knowledge about the domain. In the context of Model Driven Engineering (MDE) metamodeling based techniques are quite commonplace in the syntax specification of DSLs. The definition of their semantics still presents difficulties. In this paper, a practical experiment is proposed where Abstract State Machines (ASMs) are used as a formal ground for giving, in a precise and unambiguous way, the dynamic semantics of Session Programming Language (SPL), a DSL defined for the development of telephony services over the Session Initiation Protocol (SIP). This experiment is performed in the context of a MDE framework called AMMA (Atlas Model Management Architecture). Although still under development, the approach proposed here illustrates a practical and generic solution to define the precise dynamic semantics of DSLs.

Research paper thumbnail of Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs

Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to sys... more Over the last years, Model Driven Engineering platforms evolved from fixed metamodel tools to systems with variable metamodels. This enables dealing with a variety of Domain Specific Languages (DSLs). These generic platforms are increasingly adopted to solve problems like code generation. However, these environments are often limited to syntax definitions. The AMMA platform conceives DSLs as collections of coordinated models defined using a set of core DSLs. For broadening the approach to semantics definition, AMMA should thus be extended. The paper presents an extension of the core DSLs of AMMA to specify the dynamic semantics of a range of DSLs by means of Abstract State Machines. Thus, DSLs can be defined not only according to their abstract and concrete syntaxes but also to their semantics in a uniform and systematic way. The approach is validated by means of the semantic bootstrap of the ATL transformation language.

Research paper thumbnail of Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework

Model Driven Software Development (MDSD) is based on a number of common principles that involve t... more Model Driven Software Development (MDSD) is based on a number of common principles that involve the concepts of model, metamodel, and model transformation. These principles can be applied to different standards and different environments. The AMMA platform (ATLAS Model Management Architecture) is an example of an environment based on the principles of model engineering. Currently AMMA is implemented on top of EMF (Eclipse Modeling Framework). However, ignoring other environments and platforms, based on different conventions, standards or protocols like the Generic Modeling Environment (GME) would be unwise because one of the desired properties of models is their ability to be exchanged between different contexts. Due to their abstraction expression level, they should ideally be more adaptable to various operational environments than conventional code. To be able to exchange models between an EMF based system and a corresponding GME platform supposes an abstract understanding of both architectures and a precise organization of the interoperability scheme. This paper describes the first results of a project in this area and presents the lessons learnt in this work. mapping (M3), metamodel projectors (M2) and model projectors (M1) (Figure 2).

Research paper thumbnail of Metamodels: definitions of structures or ontological commitments?

Or Spektrum, 2007

The concept of metamodel is central in Model Driven Engineering (MDE). It is used to define the c... more The concept of metamodel is central in Model Driven Engineering (MDE). It is used to define the conceptual foundation of modeling languages. There exist specialized languages for specifying metamodels known as metalanguages. The most popular of them are object-oriented and support defining structures of the metamodels without considering the semantical underpinnings of the structures. In this paper we study the nature of metamodels from philosophical perspective. We claim that a metamodel is something more than an abstract syntax definition: it is an ontological commitment that guides the modeler in his perception about the real world phenomenon. Therefore, metalanguages should derive their foundation from the study of Ontology. We employ an ontological theory based on the Four-category ontology and the principles of metaphysical realism. We propose a metalanguage called OGML (Ontology Grounded Metalanguage) built upon the basic concepts of this ontology.

Research paper thumbnail of Change impact analysis based on formalization of trace relations for requirements

Research paper thumbnail of Experimental evaluation of a tool for change impact prediction in requirements models: Design, results, and lessons learned

2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE), 2014

There are commercial tools like IBM Rational RequisitePro and DOORS that support semi-automatic c... more There are commercial tools like IBM Rational RequisitePro and DOORS that support semi-automatic change impact analysis for requirements. These tools capture the requirements relations and allow tracing the paths they form. In most of these tools, relation types do not say anything about the meaning of the relations except the direction. When a change is introduced to a requirement, the requirements engineer analyzes the impact of the change in related requirements. In case semantic information is missing to determine precisely how requirements are related to each other, the requirements engineer generally has to assume the worst case dependencies based on the available syntactic information only. We developed a tool that uses formal semantics of requirements relations to support change impact analysis and prediction in requirements models. The tool TRIC (Tool for Requirements Inferencing and Consistency checking) works on models that explicitly represent requirements and the relations among them with their formal semantics. In this paper we report on the evaluation of how TRIC improves the quality of change impact predictions. A quasiexperiment is systematically designed and executed to empirically validate the impact of TRIC. We conduct the quasi-experiment with 21 master's degree students predicting change impact for five change scenarios in a real software requirements specification. The participants are assigned with Microsoft Excel, IBM RequisitePro or TRIC to perform change impact prediction for the change scenarios. It is hypothesized that using TRIC would positively impact the quality of change impact predictions. Two formal hypotheses are developed. As a result of the experiment, we are not able to reject the null hypotheses, and thus we are not able to show experimentally the effectiveness of our tool. In the paper we discuss reasons for the failure to reject the null hypotheses in the experiment. Index Terms-Requirements management tools, change impact analysis, requirements models.

Research paper thumbnail of Tool support for generation and validation of traces between requirements and architecture

Proceedings of the 6th ECMFA Traceability Workshop on - ECMFA-TW '10, 2010

Traceability is considered crucial for establishing and maintaining consistency between software ... more Traceability is considered crucial for establishing and maintaining consistency between software development artifacts. Although considerable research has been devoted to relating requirements and design artifacts with source code, less attention has been paid to relating requirements with architecture by using well-defined semantics of traces. We present a tool that provides trace establishment by using semantics of traces between R&A (Requirements and Architecture). The tool provides the following: (1) generation/validation of traces by using requirements relations and/or verification of architecture, (2) generation/validation of requirements relations by using traces. The tool uses the semantics of traces together with requirements relations and verification results for generating and validating traces. It is based on model transformations in ATL and term-rewriting logic in Maude.

Research paper thumbnail of Application of Reflection in Model Transformation Languages

Theory and Practice of Model Transformations, 2008

Computational reflection is a well known technique applied in many existing programming languages... more Computational reflection is a well known technique applied in many existing programming languages ranging from functional to object-oriented languages. In this paper we study the possibilities and benefits of introducing and using reflection in rule-based model transformation languages. The paper identifies some language abstractions to achieve structural and behavioral reflection. Every reflective feature is motivated by examples of problems derived from the experience with currently used transformation languages. Example solutions are given by using an experimental language with reflective capabilities. The paper also outlines possible implementation strategies for adding reflection to a language and discusses their advantages and disadvantages.

Research paper thumbnail of A metamodeling approach for reasoning on multiple requirements models

2013 17th IEEE International Enterprise Distributed Object Computing Conference, 2013

The complex software development projects of today may require developers to use multiple require... more The complex software development projects of today may require developers to use multiple requirements engineering approaches. Different teams may have to use different requirements modeling formalisms to express requirements related to their assigned parts of a given project. This situation poses difficulties in achieving interoperability and integration of requirements models for the purpose of reasoning on the overall system requirements. It is challenging to compose distributed models expressed in different notations and to reason on the composed models. In this paper we present a metamodeling approach which allows reasoning about requirements and their relations on the whole/composed models expressed in different requirements modeling approaches. In a previous work we expressed the structure of requirements documents as a requirements metamodel in which the most important elements are requirements relations and their types. The semantics of these elements is given in First Order Logic (FOL) and allows two activities: inferring new relations from the initial set of relations and checking consistency of relations. In this work we use the requirements metamodel as a core metamodel to be specialized for different requirements modeling approaches and notations such as Product-line and SysML. Mainly, the requirements relations in the metamodel are specialized to support relations in different requirements modeling approaches. The specialization allows using the same semantics and reasoning mechanism of the core metamodel for multiple requirements modeling approaches. To illustrate the approach we use an example from automotive domain expressed with two modeling approaches: product-line requirements models and SysML for system requirements.