Results 1 - 10
of
14
A state-of-the-art survey on software merging
- IEEE Transactions on Software Engineering
, 2002
"... AbstractÐSoftware merging is an essential aspect of the maintenance and evolution of large-scale software systems. This paper provides a comprehensive survey and analysis of available merge approaches. Over the years, a wide variety of different merge techniques has been proposed. While initial tech ..."
Abstract
-
Cited by 89 (5 self)
- Add to MetaCart
AbstractÐSoftware merging is an essential aspect of the maintenance and evolution of large-scale software systems. This paper provides a comprehensive survey and analysis of available merge approaches. Over the years, a wide variety of different merge techniques has been proposed. While initial techniques were purely based on textual merging, more powerful approaches also take the syntax and semantics of the software into account. There is a tendency towards operation-based merging because of its increased expressiveness. Another tendency is to try to define merge techniques that are as general, accurate, scalable, and customizable as possible, so that they can be used in any phase in the software life-cycle and detect as many conflicts as possible. After comparing the possible merge techniques, we suggest a number of important open problems and future research directions. Index TermsÐSoftware merging, large-scale software development, merge conflicts, conflict detection, conflict resolution. æ 1
A Formal Foundation for Object-Oriented Software Evolution
, 2001
"... My PhD thesis [7] claims that the principles behind object-oriented software evolution are independent of a particular domain or phase in the software lifecycle. To validate this claim, a formalism based on graphs and graph rewriting was developed and applied to a particular aspect of software evolu ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
My PhD thesis [7] claims that the principles behind object-oriented software evolution are independent of a particular domain or phase in the software lifecycle. To validate this claim, a formalism based on graphs and graph rewriting was developed and applied to a particular aspect of software evolution, namely the problem of software upgrading and software merging. When the same piece of software is modified in parallel by different software developers, unexpected inconsistencies can arise. Formal support can be provided to detect and resolve these inconsistencies in a general way.
Context dependency management in ontology engineering
- LNCS Journal on Data Semantics
, 2007
"... Abstract. A viable ontology engineering methodology requires supporting domain experts in gradually building and managing increasingly complex versions of ontological elements and their converging and diverging interrelationships. Contexts are necessary to formalise and reason about such a dynamic w ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
Abstract. A viable ontology engineering methodology requires supporting domain experts in gradually building and managing increasingly complex versions of ontological elements and their converging and diverging interrelationships. Contexts are necessary to formalise and reason about such a dynamic wealth of knowledge. However, context dependencies introduce many complexities. In this article, we introduce a formal framework for supporting context dependency management processes, based on the DOGMA framework and methodology for scalable ontology engineering. Key notions are a set of context dependency operators, which can be combined to manage complex context dependencies like articulation, application, specialisation, and revision dependencies. In turn, these dependencies can be used in context-driven ontology engineering processes tailored to the specific requirements of collaborative communities. This is illustrated by a real-world case of interorganisational competency ontology engineering.
Coordinated Distributed Diagram Transformation for Software Evolution
, 2002
"... We present an approach to maintaining consistency between code and specification consistent during refactoring, where the specification consists of several diagrams from different UML diagram families. Distributed graph transformations are applied in a coordinated way over the different diagrams. Re ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
We present an approach to maintaining consistency between code and specification consistent during refactoring, where the specification consists of several diagrams from different UML diagram families. Distributed graph transformations are applied in a coordinated way over the different diagrams. Refactoring itself is modelled as a graph transformation over a owgraph representing the code, while the UML diagrams are taken to represent different views of the code.
Private communication from PPG
- IEEE Int’l Conf. on Software Maintenance (ICSM
, 2006
"... The MDA approach aims to ease software maintenance faced with platform and business evolution. In this approach, main development artifacts, i.e. models, are defined with the Meta Object Facility (MOF) standard. To support collaborative development in MDA, we propose a mechanism for merging concurre ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
The MDA approach aims to ease software maintenance faced with platform and business evolution. In this approach, main development artifacts, i.e. models, are defined with the Meta Object Facility (MOF) standard. To support collaborative development in MDA, we propose a mechanism for merging concurrent changes to MOF models. Our approach has the following novel functionality. First, as MOF models can have ordered relations, our mechanism can identify the order changes in MOF models, detect the conflicts caused by concurrent order changes, and integrate those changes. Second, as MOF models must respect multiplicity constraints, our mechanism detects the concurrent modifications that result in multiplicity violations. Therefore, it ensures the consistency of the merge result. Third, we offer a framework for building conflict resolution programs dedicated to developers ’ particular requirements. This framework offers a flexible and automated way for resolving conflicts. This work is a part of ModelBus, an open environment for CASE tool interoperability. Its contribution is to enable models to be concurrently modified by several developers and with different tools. ModelBus implementation is available as the Eclipse open source project, Model Driven Development integration (MDDi).
A formal MDA approach for mobile health systems
- In Second European Workshop on Model Driven Architecture (MDA
, 2004
"... Abstract. M-health systems are safety critical systems intended for use by the public and are therefore characterized by especially strict requirements relating to safety, security, correctness, reliability, adaptability and user friendliness. This position paper proposes a methodology which realize ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. M-health systems are safety critical systems intended for use by the public and are therefore characterized by especially strict requirements relating to safety, security, correctness, reliability, adaptability and user friendliness. This position paper proposes a methodology which realizes the MDA approach by utilizing formal methods to support verification, validation and transformation. The objective is to investigate the use of MDA enriched by formal methods to define a generic, evolvable architecture for m-health services which facilitates the rapid development and deployment of high quality adaptable m-health services. 1
Composition Graphs: a Foundation for Reasoning about Aspect-Oriented Composition
- In Workshop on Foundations of Aspect-oriented Languages (FOAL) at AOSD’2003
, 2003
"... Aspect-oriented languages offer new modularization concepts and composition approaches to provide more flexible solutions for the separation and integration of concerns. There are significant differences among aspect-oriented languages, due to the specific language constructs that they adopt. In thi ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Aspect-oriented languages offer new modularization concepts and composition approaches to provide more flexible solutions for the separation and integration of concerns. There are significant differences among aspect-oriented languages, due to the specific language constructs that they adopt. In this paper, we propose a common model, called Composition Graph, to represent different aspect-oriented approaches in a uniform way that can serve as a basis for the comparison of aspect-oriented languages. We also present a transformation language which can be used to model different weaving operations in our model.
A Discussion of Refactoring in Research and Practice
, 2004
"... In this paper we provide a detailed overview of the field of software restructuring and refactoring from a formal as well as a from a practical point of view. After summarizing refactoring's current applications and tool support, we discuss the current research on refactoring in a number of essentia ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
In this paper we provide a detailed overview of the field of software restructuring and refactoring from a formal as well as a from a practical point of view. After summarizing refactoring's current applications and tool support, we discuss the current research on refactoring in a number of essential research questions. Lastly, we highlight the key directions in which refactoring research is moving forward.
Re-engineering a Medical Imaging System Using Graph Transformations
- In: Applications of Graph Transformations with Industrial Relevance. Volume 3062 of LNCS
, 2003
"... Abstract. This paper describes an evolutionary approach to re-engineer a large medical imaging system using graph-transformations. The solution has been integrated into the ongoing development process within the organizational and cultural constraints of a productive industrial setting. We use graph ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Abstract. This paper describes an evolutionary approach to re-engineer a large medical imaging system using graph-transformations. The solution has been integrated into the ongoing development process within the organizational and cultural constraints of a productive industrial setting. We use graph transformations to model the original and the desired architecture, the mapping between architectural, implementation and design concepts, as well as related consistency rules. Violations are calculated every night and provided as continuous feedback to software architects and developers, so they can modify the system manually according to established procedures. With only a very limited global migration step and moderate changes and extensions to the existing procedures it was possible to improve the software architecture of the system, while new features still could be implemented and released in due time. Although this solution is dedicated to a concrete case, it is a starting point for a more generic approach. 1

