Software configuration management using ontologies (original) (raw)

Evolving a Software Configuration Management Ontology

Software Configuration Management (SCM) can be defined as the control of the evolution of complex software systems. It is a supporting software life cycle process that benefits several activities of the software process. SCM proved to be one of the most successful software engineering technologies, and there are many tools available to support it. In spite of that, SCM has some challenges to face. One of them is the limited capability of SCM tools to interoperate. In this paper, we present an evolution of a SCM Ontology that can be used as a reference model for understanding this domain and also to build an infrastructure to allow semantic interoperability between SCM tools and other software engineering tools.

Representing Feature Models of Software Product Families Using a Configuration Ontology

2004

We study the possibility of applying configuration techniques developed for mechanical and electronics products to software. We analyse and compare the underlying concepts of three feature modelling methods and configuration modelling concepts. It turns out that most of the knowledge that can be captured using feature modelling methods can be represented using configuration modelling concepts, although the representation is not perfectly intuitive. This indicates that applying existing configuration tools and techniques to software is feasible, but requires careful work in adjusting these for use with software product families.

A Configuration Management task ontology for semantic integration

2012

Configuration Management (CM) is an important task for developing complex products. It is a complex task and there are many CM systems that aim to support it. However, generally, these systems work in isolation and there is a need for integrating them. In this context, ontologies have an important role, acting as an inter-lingua to help achieving a shared conceptualization that allows semantic integration. This paper presents an ontology of the CM task. This ontology was built with the purpose of supporting semantic integration of CM systems, mainly in service and process layers of integration.

An object-oriented model of software configuration management

Proceedings of the 3rd international workshop on Software configuration management -, 1991

Software configuration management (SCM) seeks to control the evolution of software systems. In this paper, we introduce a new object-oriented model of SCM that is based on the earlier research results of the SAGA project. The model is, we believe, more general and comprehensive than previous models and uses clasaes to define different kinds of SCM entities, methods to define the operations applicable to the entities, and inheritance to denote generalization relationships between the classes. The paper presents the principal classes in the model, describes their structure and functionality, and explains their roles in the representation of SCM systems.

An infrastructure for development of object-oriented, multi-level configuration management services

2005

In an integrated development environment, the ability to manage the evolution of a software system in terms of logical abstractions, compositions, and their interrelations is crucial to successful software development. This paper presents a novel framework and infrastructure, Molhado, upon which to build object-oriented software configuration management (SCM) services in a SCM-centered integrated development environment. Key contributions of this paper include a product versioning model, an extensible, logical, and object-oriented system model, and a reusable product versioning SCM infrastructure, that allow new types of objects to be implemented as extensions of the system model's basic entities. Versions and configurations of objects are managed at different levels of abstraction and granularity. A new SCM-centered editing environment or development environment for a specific development paradigm can be rapidly realized by re-using Molhado's infrastructure and implementing new object types and their associated tools. This paper also demonstrates our approach in creating prototypes of SCM-centered development environments for different paradigms.

Configuration Knowledge Representation Using UML/OCL

Lecture Notes in Computer Science, 2002

With model-based development being on the verge of becoming an industrial standard, the topic of research of statically checking the consistency of a model made up of several submodels has already received increasing attention. The evolution of models within software engineering requires support for incremental consistency analysis techniques of a new version of the model after evolution, thereby avoiding a complete reiteration of all consistency tests. In this paper, we discuss the problem of preserving consistency within model-based evolution focusing on UML-RT models. We introduce the concept of a model transformation rule that captures an evolution step. Composition of several evolution steps leads to a complex evolution of a model. For each evolution step, we study the effects on the consistency of the overall model and provide localized consistency checks for those parts of the model that have changed. For a complex evolution of a model, consistency can then be established by incrementally performing those localized consistency checks associated to the transformation rules applied within the evolution.

A Model for Configuration Management of Open Software Systems

2010

The article proposes a model for the configuration management of open systems. The model aims at validation of configurations against given specifications. An extension of decision graphs is proposed to express specifications. The proposed model can be used by software developers to validate their own configurations across different versions of the components, or to validate configurations that include components by third parties. The model can also be used by end-users to validate compatibility among different configurations of the same application. The proposed model is first discussed in some application scenarios and then formally defined. Moreover, a type discipline is given to formally define validation of a configuration against a system specification.

An Integrated Development Environment for The Design And Maintenance of Large Configuration Knowledge Bases

Artificial Intelligence in Design ’00, 2000

Configuration problems are a thriving application area for declarative knowledge representation that experiences a constant increase in size and complexity of knowledge bases. A key issue in this context is the integrated support of configuration knowledge base development and maintenance. This paper presents an integrated development environment consisting of three major components, namely a design component which supports the conceptual design of the configuration model in UML (Unified Modeling Language) and automatic translation of the design model into a logic representation, a configuration component which allows the interactive design of concrete configurations, and finally a diagnosis component which supports the validation of the generated knowledge bases and the diagnosis of user requirements. An example for configuring computer systems shows the whole process from the design of the configuration model to the interactive configuration of the final product.