Results 1 - 10
of
19
Version Models for Software Configuration Management
- ACM Computing Surveys
, 1995
"... This paper focuses on the version models underlying both commercial systems and research prototypes. It provides an overview and classification of different versioning paradigms. Furthermore, it defines and relates fundamental concepts such as revisions, variants, configurations, and changes. In par ..."
Abstract
-
Cited by 169 (8 self)
- Add to MetaCart
This paper focuses on the version models underlying both commercial systems and research prototypes. It provides an overview and classification of different versioning paradigms. Furthermore, it defines and relates fundamental concepts such as revisions, variants, configurations, and changes. In particular, we focus on intensional versioning, i.e., construction of versions based on configuration rules. Finally,we provide an overview of systems whichhave had significant impact on the development of the SCM discipline, and classify them according to a detailed taxonomy
Reengineering of Configurations Based on Mathematical Concept Analysis
- ACM Transactions on Software Engineering and Methodology
, 1996
"... We apply mathematical concept analysis to the problem of reengineering configurations. Concept analysis will reconstruct a taxonomy of concepts from a relation between objects and attributes. We use concept analysis to infer configuration structures from existing source code. Our tool NORA/RECS will ..."
Abstract
-
Cited by 45 (6 self)
- Add to MetaCart
We apply mathematical concept analysis to the problem of reengineering configurations. Concept analysis will reconstruct a taxonomy of concepts from a relation between objects and attributes. We use concept analysis to infer configuration structures from existing source code. Our tool NORA/RECS will accept source code, where configuration-specific code pieces are controlled by the preprocessor. The algorithm will compute a so-called concept lattice, which —when visually displayed — offers remarkable insight into the structure and properties of possible configurations. The lattice not only displays tine-grained dependencies between configurations, but also visualizes the overall quality of configuration structures according to software engineering principles. In a second step, interferences between configurations can be analyzed in order to restructure or simplify configurations. Interferences showing up in the lattice indicate high coupling and low cohesion between configuration concepts. Source files can then be simplified according to the lattice structure. Finally, we show how governing expressions can be simplified by utilizing an isomorphism theorem of mathematical concept analysis.
System Compositions and Shared Dependencies
- In 6th Workshop on Software Con guration Management
, 1996
"... . Much of the work in configuration management has addressed the problems of version history and derivation. Little has been done to address the problems of reasoning about the consistency of composed components or the effects of substituting one version for another. In my paper, "Version Control in ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
. Much of the work in configuration management has addressed the problems of version history and derivation. Little has been done to address the problems of reasoning about the consistency of composed components or the effects of substituting one version for another. In my paper, "Version Control in the Inscape Environment" [13], I defined a number of concepts to be used in reasoning about substituting one component for another. In this paper, I discuss the problem of shared dependencies (that is, substituting one of more interdependent components in a context), propose an approach for specifying such dependencies, and show how this approach can be used to reason about the substitution in the context of interdependent components in a configuration. 1 Introduction In building software systems from components, there are two important concerns that we must address: keeping track of how components in a system are derived, and determining that the components comprising a system are consist...
CPP Denotational Semantics
, 2003
"... This paper shows that CPP, the preprocessor of the C language, can be seen as a programming language in which directives are statements, parametrized macros are functions, files are procedures, directories are modules, and command lines are programs. The semantics of CPP can therefore be described u ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
This paper shows that CPP, the preprocessor of the C language, can be seen as a programming language in which directives are statements, parametrized macros are functions, files are procedures, directories are modules, and command lines are programs. The semantics of CPP can therefore be described using traditional techniques. This paper describes the semantics of CPP in a denotational style. By contrast with previous work, the full semantics is taken into account including non trivial aspects such as recursive macros, stringification and concatenation.
Smooth Operations with Square Operators -- The Version Set Model in ICE
- IN ICE. SOFTWARE CONFIGURATION MANAGEMENT: ICSE'96 SCM-6 WORKSHOP SELECTED PAPERS
, 1995
"... Implementing software configuration management (SCM) in an organization raises various integration problems. We present the Incremental Configuration Environment (ICE), a novel SCM system providing smooth integration with both the software process and the development environment. ICE is based on th ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Implementing software configuration management (SCM) in an organization raises various integration problems. We present the Incremental Configuration Environment (ICE), a novel SCM system providing smooth integration with both the software process and the development environment. ICE is based on the version set model, where versions, components, and aggregates are grouped into sets according to their features, using feature logic as a formal base to denote sets and operations and to deduce consistency. Version sets generalize well-known SCM concepts such as components, repositories, workspaces, aggregates, or configurations and allow for flexibility in combining these concepts. For integration in software development environments, ICE provides a featured file system (FFS), where version sets are represented as files and directories. In the FFS, arbitrary programs can incrementally access and explore version sets. Using the well-known C preprocessor (CPP) representation, users can vi...
Designing Configuration Management Tools for Dynamically Composed Systems
, 1998
"... The ability to construct a software system from separate pieces while the system is being used is a feature which has become more prevalent and important in recent years; in fact, the ability to dynamically compose a system has existed in various programming languages and computing systems for some ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
The ability to construct a software system from separate pieces while the system is being used is a feature which has become more prevalent and important in recent years; in fact, the ability to dynamically compose a system has existed in various programming languages and computing systems for some time. We use the term dynamically composed systems to refer to systems with this property. In general, dynamically composed systems suffer a number of problems, not the least of which is the difficulty in ascertaining what pieces comprise a system. Furthermore, the definition of how particular pieces are selected, what a consistent collection of pieces is, and how multiple versions of the same piece are handled when composing a system dynamically is typically ambiguous, and feedback to users or maintainers of the system with respect to these issues is often non-existent or too late. Traditional configuration management tools address such system composition and evolution issues, but only in a s...
A Unified Configuration Management Model
, 1995
"... Integration of configuration management (CM) tools into software development environments raises the need for CM models to interoperate through a unified CM model. We present the version set model, where versions, components, and aggregates are grouped into sets according to their features, using fe ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Integration of configuration management (CM) tools into software development environments raises the need for CM models to interoperate through a unified CM model. We present the version set model, where versions, components, and aggregates are grouped into sets according to their features, using feature logic as a formal base to denote sets and operations and deduce consistency. Version sets generalize well-known CM concepts such as components, repositories, workspaces, aggregates, or configurations. Arbitrary revision/variant combinations of components and aggregates are modeled in a uniform and orthogonal way. We show how the concepts of four central configuration management models---the checkin/ checkout model, the change set model, the composition model, and the long transaction model--- are encompassed and extended by the version set model, making it a unified basis for modeling, realizing and integrating configuration management tasks. Finally, some conditions for efficient real...
Dimensions of consistency in source versions and system compositions
- Proceedings of the 3rd Workshop on Software Configuration Management
, 1991
"... In building systems there are various levels at which we consider the problems reasoning about consistency and it means different things at those various levels. At the version management level, consistency means what it does in databases: no data is lost due to concurrency problems (eg, race condit ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In building systems there are various levels at which we consider the problems reasoning about consistency and it means different things at those various levels. At the version management level, consistency means what it does in databases: no data is lost due to concurrency problems (eg, race conditions). At the composition and substitution (or creation and evolution) levels it means something that is significantly different--- namely, the syntactic and semantic consistency of the various pieces that make up the system. I first address the issue of what makes a system composition well-formed both syntactically and semantically. I then address the issue of substitution in well-formed system compositions, first in the context of simple substitution and then in the context of compound substitution (that is, the simultaneous substitution of multiple components). Note: This paper derived and extended from papers: the well-formed system composition paper [9] was published only as a technical report at CMU (though variously used without references or with misleading ones) the version control paper from ICSE9 [16], the extended abstract for SCM3 [19], and the shared dependency paper from SCM6 [20] all of which have been published only in conference or workshop versions. There may be parts of the other Inscape papers (ICSE9 [15], ICSE11 [17], and TAV3 [18]) included as well- all of which have been published only in conference versions.

