Version Control of Software Models

Author(s):  
Marcus Alanen ◽  
Ivan Porres

We review the main concepts and algorithms behind a software repository with version control capabilities for UML and other MOF-based models. We discuss why text- and XML-based repositories cannot be used to manage models and present alternative solutions to build a model repository that takes into account specific details of MOF-based modeling languages.

2009 ◽  
pp. 2728-2743
Author(s):  
Anna E. Bobkowska

Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the quality of models themselves. It discusses context-free and context-dependent quality criteria for models and then moves on to methods of evaluation which facilitate checking whether a model is good enough. We use linguistic theories to understand groups of criteria and their impact on other models, software product and the process of software development. We propose a strict distinction of the impacts of visual modeling languages, models of the system and tools for quality criteria. This distinction is helpful when designing the methods of evaluation and making decision about the point in time, scope and personnel responsible for quality assessment. As the quality criteria and several methods of evaluation has usually been considered separately we propose a methodology which integrates them. Such an integrated approach provides the following benefits. It allows for designing methods of evaluation based on quality criteria and elements of the model (or modeling language) in the context of specific needs. It can be applied for management of the scope of evaluation with quality criteria as well as configuration of the method to a specific situation. It allows for flexible and efficient conduct of the evaluation with selection of the methods of evaluation. Finally, this chapter presents case studies which illustrate the approach.


2005 ◽  
Vol 17 (1) ◽  
pp. 3-10 ◽  
Author(s):  
Makoto Oya ◽  

Modeling is the key to software design, from large information systems to embedded software. Without well-considered software models, the developed implementation becomes inconsistent or distant from the original requirement. A model is created using a modeling language. UML is a standardized general-purpose modeling language widely used in enterprise systems design. Because it is very large language, UML is not always appropriate for designing small software. Designers also often want to describe models differently based on the immediate need preferring simple, application-specific but flexible notation rather than the rigidity of UML. We propose a metamodeling language, called <I>sMML</I>, to define custom-made modeling language that enables designers to define a suitable modeling language on demand, then write actual models using it. <I>sMML</I> is a metamodeling language small enough to define a variety of modeling languages, self-closed and independent of other modeling languages, and aligned with UML. After completely defining <I>sMML</I>, we present experimental results applying <I>sMML</I>, taking a simple modeling language and UML as examples, which demonstrates that <I>sMML</I> is useful for flexible modeling and capable of defining a wide range of modeling languages.


Author(s):  
Joerg Evermann ◽  
Yair Wand

An important step in developing the requirements for an information system is analyzing the application domain. In this step, conceptual models are used for representing an application domain. However, while languages for software design are available and widely used, no generally accepted language exists for conceptual modeling. This work suggests the use of object-oriented software modeling languages also for conceptual modeling. Such use can support a more accurate transition from domain modes to software models. As software-modeling languages were not intended for modeling application domains, their constructs lack the required semantics. While previous papers addressed the representation of structural elements of domains using object concepts, this paper addresses behavioral aspects, related to change and interaction. The proposed semantics are based on a mapping between ontological concepts that describe behavior and object-oriented constructs related to dynamics. Based on these mappings, modeling rules are proposed to guide the modeler in creating ontologically well-formed models. The mappings and rules are exemplified using UML and are demonstrated using a case study.


2009 ◽  
pp. 505-527
Author(s):  
Joerg Evermann ◽  
Yair Wand

An important step in developing the requirements for an information system is analyzing the application domain. In this step, conceptual models are used for representing an application domain. However, while languages for software design are available and widely used, no generally accepted language exists for conceptual modeling. This work suggests the use of object-oriented software modeling languages also for conceptual modeling. Such use can support a more accurate transition from domain models to software models. As software-modeling languages were not intended for modeling application domains, their constructs lack the required semantics. While previous papers addressed the representation of structural elements of domains using object concepts, this paper addresses behavioral aspects, related to change and interaction. The proposed semantics are based on a mapping between ontological concepts that describe behavior and object-oriented constructs related to dynamics. Based on these mappings, modeling rules are proposed to guide the modeler in creating ontologically well-formed models. The mappings and rules are exemplified using UML and are demonstrated using a case study.


2016 ◽  
Vol 2 ◽  
pp. e84 ◽  
Author(s):  
Javier Luis Cánovas Izquierdo ◽  
Jordi Cabot

Software development is becoming more and more collaborative, emphasizing the role of end-users in the development process to make sure the final product will satisfy customer needs. This is especially relevant when developing Domain-Specific Modeling Languages (DSMLs), which are modeling languages specifically designed to carry out the tasks of a particular domain. While end-users are actually the experts of the domain for which a DSML is developed, their participation in the DSML specification process is still rather limited nowadays. In this paper, we propose a more community-aware language development process by enabling the active participation of all community members (both developers and end-users) from the very beginning. Our proposal, called Collaboro, is based on a DSML itself enabling the representation of change proposals during the language design and the discussion (and trace back) of possible solutions, comments and decisions arisen during the collaboration. Collaboro also incorporates a metric-based recommender system to help community members to define high-quality notations for the DSMLs. We also show how Collaboro can be used at the model-level to facilitate the collaborative specification of software models. Tool support is available both as an Eclipse plug-in a web-based solution.


2016 ◽  
Author(s):  
Javier Luis Cánovas Izquierdo ◽  
Jordi Cabot

Software development processes are collaborative in nature. Neglecting the key role of end-users leads to software unlikely to satisfy their needs. This collaboration becomes specially important when creating Domain-Specific Modeling Languages (DSMLs), which are (modeling) languages specifically designed to carry out the tasks of a particular domain. While end-users are actually the experts of the domain for which a DSML is developed, their participation in the DSML specification process is still rather limited nowadays. In this paper, we propose a more community-aware language development process by enabling the active participation of all community members (both developers and end-users of the DSML) from the very beginning. Our proposal is based on a DSML itself, called Collaboro, which allows representing change proposals on the DSML design and discussing (and tracing back) possible solutions, comments and decisions arisen during the collaboration. Collaboro also incorporates a metric-based recommender system to help community members to define high-quality notations for the DSMLs. We also show how Collaboro can be used at the model-level to facilitate the collaborative specification of software models.


2016 ◽  
Author(s):  
Javier Luis Cánovas Izquierdo ◽  
Jordi Cabot

Software development processes are collaborative in nature. Neglecting the key role of end-users leads to software unlikely to satisfy their needs. This collaboration becomes specially important when creating Domain-Specific Modeling Languages (DSMLs), which are (modeling) languages specifically designed to carry out the tasks of a particular domain. While end-users are actually the experts of the domain for which a DSML is developed, their participation in the DSML specification process is still rather limited nowadays. In this paper, we propose a more community-aware language development process by enabling the active participation of all community members (both developers and end-users of the DSML) from the very beginning. Our proposal is based on a DSML itself, called Collaboro, which allows representing change proposals on the DSML design and discussing (and tracing back) possible solutions, comments and decisions arisen during the collaboration. Collaboro also incorporates a metric-based recommender system to help community members to define high-quality notations for the DSMLs. We also show how Collaboro can be used at the model-level to facilitate the collaborative specification of software models.


Author(s):  
Anna E. Bobkowska

Successful realization of the model-driven software development visions in practice requires high quality models. This chapter focuses on the quality of models themselves. It discusses context-free and context- dependent quality criteria for models and then moves on to methods of evaluation which facilitate checking whether a model is good enough. We use linguistic theories to understand groups of criteria and their impact on other models, software product and the process of software development. We propose a strict distinction of the impacts of visual modeling languages, models of the system and tools for quality criteria. This distinction is helpful when designing the methods of evaluation and making decision about the point in time, scope and personnel responsible for quality assessment. As the quality criteria and several methods of evaluation has usually been considered separately we propose a methodology which integrates them. Such an integrated approach provides the following benefits. It allows for designing methods of evaluation based on quality criteria and elements of the model (or modeling language) in the context of specific needs. It can be applied for management of the scope of evaluation with quality criteria as well as configuration of the method to a specific situation. It allows for flexible and efficient conduct of the evaluation with selection of the methods of evaluation. Finally, this chapter presents case studies which illustrate the approach.


2010 ◽  
Vol 6 (1) ◽  
pp. 68-84 ◽  
Author(s):  
Kerstin Altmanninger ◽  
Wieland Schwinger ◽  
Gabriele Kotsis

In collaborative software development, the utilization of Version Control Systems (VCSs) is a must. For this, a multitude of pessimistic as well as optimistic VCSs for model artifacts emerged. Pessimistic approaches follow the lock-edit-unlock paradigm whereas optimistic approaches allow parallel editing of one resource, which are therefore the preferred ones. To be flexible for the ever increasing variety of modeling environments and languages such tools should be independent of the modeling environment and applicable to various modeling languages. Those VCS characteristics may implicate a lack of information for the conflict detection method by virtue of firstly receiving solely the state of an artifact without concrete editing operations and secondly due to unavailable knowledge about the semantics of a modeling language. However, in optimistic VCSs concurrent changes can result in conflicts and inconsistencies. In environment and language independent VCSs inconsistencies would even arise more often due to information losses. Hence, accurate conflict detection methods are indispensable for the realization of such VCSs. To tackle this task, the “Semantically enhanced Model Version Control System” SMoVer is presented. With SMoVer it is possible to specify the semantics of a modeling language, needed for conflict detection in order to provide more accurate conflict reports than other current environment and language independent VCSs. In this work, it is exemplified how semantics of a specific modeling language can be specified in SMoVer, how those specifications can improve the accuracy of conflict reports and finally how those can be presented to modelers.


Author(s):  
Kerstin Altmanninger ◽  
Wieland Schwinger ◽  
Gabriele Kotsis

In collaborative software development, the utilization of Version Control Systems (VCSs) is a must. For this, a multitude of pessimistic as well as optimistic VCSs for model artifacts emerged. Pessimistic approaches follow the lock-edit-unlock paradigm whereas optimistic approaches allow parallel editing of one resource, which are therefore the preferred ones. To be flexible for the ever increasing variety of modeling environments and languages such tools should be independent of the modeling environment and applicable to various modeling languages. Those VCS characteristics may implicate a lack of information for the conflict detection method by virtue of firstly receiving solely the state of an artifact without concrete editing operations and secondly due to unavailable knowledge about the semantics of a modeling language. However, in optimistic VCSs concurrent changes can result in conflicts and inconsistencies. In environment and language independent VCSs inconsistencies would even arise more often due to information losses. Hence, accurate conflict detection methods are indispensable for the realization of such VCSs. To tackle this task, the “Semantically enhanced Model Version Control System” SMoVer is presented. With SMoVer it is possible to specify the semantics of a modeling language, needed for conflict detection in order to provide more accurate conflict reports than other current environment and language independent VCSs. In this work, it is exemplified how semantics of a specific modeling language can be specified in SMoVer, how those specifications can improve the accuracy of conflict reports and finally how those can be presented to modelers.


Sign in / Sign up

Export Citation Format

Share Document