scispace - formally typeset
Search or ask a question
Journal ArticleDOI

A generic model for semantics-based versioning in projects

01 Mar 2000-Vol. 30, Iss: 2, pp 108-123
TL;DR: This paper proposes a generic model for semantics-based version management in projects, which can be built over existing tools and provides support for capturing how changes propagate in a project.
Abstract: Large projects generally involve a number of phases and evolve over a period of time. Several revisions of the individual artifacts consisting of the project take place during the various phases. These revisions and refinements are normally captured as different versions using configuration/version management tools. But the semantics of these refinements with respect to the project are not captured by existing mechanisms. In addition to the above, a change in the semantics of a project artifact may require suitable changes in other related artifacts. Existing mechanisms for configuration management do not provide mechanisms for change propagation based on the change semantics. In this paper, we propose a generic model for semantics-based version management in projects, which can be built over existing tools. The model also provides support for capturing how changes propagate in a project. We then elucidate the generality of the model by applying it to a project involving a CAD framework and a software development project.
Citations
More filters
Journal ArticleDOI
TL;DR: A multicriteria group decision making model based on fuzzy set theory is developed to improve the configuration items selection process and ranks candidate items into partial or complete orders that can assist decision makers in selecting more proper set of configuration items.

139 citations

Book ChapterDOI
18 Dec 2000
TL;DR: The paper suggests semantics based version management for projects represented using UML, which considers the Object Oriented issues like inheritance, aggregation, association etc. for propagating a change in software system.
Abstract: Change in requirements leads to evolution of software systems. Evolution of software projects can be captured using version management mechanisms. Unified Modeling Language (UML) is a well known modeling language for software projects. One of the limitations of the UML is lack of support for version management. The paper suggests semantics based version management for projects represented using UML. Class diagrams of UML are used for representing the project as a semantic entity called Unified Representation of Artifacts (URA) graph. Version propagation can be captured with class diagrams. Also, the paper considers the Object Oriented (OO) issues like inheritance, aggregation, association etc. for propagating a change in software system. Various cases of change propagation have been explored depending upon the attributes that participate in the change. Also, the role of accessibility of attributes such as private, public and protected in version management is discussed. Different versions of a project have been considered to present the scenario of the change management.

1 citations

Proceedings ArticleDOI
05 Dec 2000
TL;DR: A software development process that is based on reusable integrated components of patterns, a group of inter-related patterns, that gives solutions for a recurring problem at various phases of SDLC is proposed.
Abstract: Patterns are a means for capturing experience in solving general problems. They give general solutions to common and recurring problems. They exist at various phases of the software development life-cycle (SDLC), namely the analysis phase, the design phase, the coding phase and the testing phase. Patterns in each phase are identified independently. It is possible for the patterns of one phase to be related to patterns in other phases. This paper proposes pattern mapping to inter-relate the patterns of various phases in SDLC to address this issue. It is advantageous to capture the related patterns of different phases as a single unit for software development. Reusable integrated components (ICs) of patterns are proposed to capture the related patterns. A software IC is a group of inter-related patterns, that gives solutions for a recurring problem at various phases of SDLC. A representation mechanism for ICs is presented using the URA (Unified Representation of an Artifact) model, which captures the software development process. Also, this paper proposes a software development process that is based on reusable ICs of patterns. The representation of a software project developed using ICs is also discussed.

1 citations

Journal ArticleDOI
TL;DR: A set of rules are proposed that enormously improves the speed and efficiency of dynamic invariant detection techniques and drastically reduces the effort that is required to validate program correctness.
Abstract: Program invariants can be detected using both static and dynamic approaches. Dynamic methods that complement static methods will be more useful and effective in analyzing software artifacts. Existing dynamic invariant detection techniques detect both relevant and irrelevant invariants due to the presence of relevant and irrelevant/unused variables in the program. Therefore, the speed and efficiency of the techniques are affected. Also, displaying properties about irrelevant variables distracts the user from concentrating on properties of relevant variables. Moreover, these irrelevant invariants do not contribute to the correctness of the program. Therefore, there is a need to overcome the above deficiencies. This is done in three phases in this paper. In the first phase, only the relevant variables are considered by ignoring irrelevant variables. In the second phase, relevant variables are classified into two different types as design variables and non-design variables by using proposed metrics. These metrics are validated analytically against Weyuker's principles. Similarly, relevant invariants are categorized into three types as design invariants, non-design invariants and hybrid invariants in the third phase. For this purpose a set of rules are proposed. This process enormously improves the speed and efficiency of dynamic invariant detection techniques. Also, it drastically reduces the effort that is required to validate program correctness.

1 citations

References
More filters
Journal ArticleDOI
TL;DR: Basic version control concepts are introduced and the practice of version control using RCS is discussed, and usage statistics show that RCS's delta method is space and time efficient.
Abstract: An important problem in program development and maintenance is version con- trol, i.e., the task of keeping a software system consisting of many versions and configurations well organized. The Revision Control System (RCS) is a software tool that assists with that task. RCS manages revisions of text documents, in particular source programs, documentation, and test data. It automates the storing, retrieval, log- ging and identification of revisions, and it provides selection mechanisms for composing configurations. This paper introduces basic version control concepts and discusses the practice of version control using RCS. For conserving space, RCS stores deltas, i.e., differences between successive revisions. Several delta storage methods are discussed. Usage statistics show that RCS's delta storage method is space and time efficient. The paper concludes with a detailed survey of version control tools.

1,026 citations

Journal ArticleDOI
M. J. Rochkind1
TL;DR: The SCCS approach to source code control is discussed, how it is used and explained is shown and how the system is implemented is explained.
Abstract: The Source Code Control System (SCCS) is a software tool designed to help programming projects control changes to source code. It provides facilities for storing, updating, and retrieving all versions of modules, for controlling updating privileges for identifying load modules by version number, and for recording who made each software change, when and where it was made, and why. This paper discusses the SCCS approach to source code control, shows how it is used and explains how it is implemented.

731 citations


"A generic model for semantics-based..." refers background in this paper

  • ...In software development projects (SDP’s), CM was initially addressed in the form of maintaining different versions of an artifact [17], [22], but has expanded in scope to address...

    [...]

Journal ArticleDOI
TL;DR: This work provides a common terminology and collection of mechanisms that underlie any approach for representing engineering design information in a database, and proposes a single framework, based on these mechanisms, which can be tailored for the needs of a given version environment.
Abstract: Support for unusual applications such as computer-aided design data has been of increasing interest to database system architects. In this survey, we concentrate on one aspect of such support, namely, version modeling. By this, we mean the concepts suitable for structuring a database of complex engineering artifacts that evolve across multiple representations and over time and the operations through which such artifact descriptions are created and modified. There have been many proposals for new models and mechanisms to support such concepts within database data models in general and engineering data models in particular; here we not only describe such proposals; we also unify them. We do not propose yet another model but provide a common terminology and collection of mechanisms that underlie any approach for representing engineering design information in a database. The key remaining challenge is to construct a single framework, based on these mechanisms, which can be tailored for the needs of a given version environment.

535 citations


"A generic model for semantics-based..." refers background or methods in this paper

  • ...Further, the concepts of change propagation as discussed in [4], [10], [11], [19] are not...

    [...]

  • ...Presently, version control in CAD which involve object oriented databases are predominantly based on the concept of class versions and object versions [1], [3], [11]....

    [...]

Book
01 Jan 1970
TL;DR: The "Jane's All the World's Aircraft" set the standard in aviation reference as discussed by the authors, which provides exhaustive technical detail on over 1,000 civil and military aircraft currently being produced or under development by more than 560 companies.
Abstract: "Jane's All the World's Aircraft" sets the standard in aviation reference. It provides exhaustive technical detail on over 1,000 civil and military aircraft currently being produced or under development by more than 560 companies. Photographs and line drawings aid recognition and comparison, giving you the ability to evaluate competitors, recognise trends in aerospace development, identify potential buyers and select business partners. You can check key specifications for any aircraft, including dimensions, performance, structure, landing gear, power plants and armaments. In addition, there are details of the world's aircraft manufacturers and their programmes, so you can identify key contracts, production rates, customers and order backlogs.

515 citations

Journal ArticleDOI
01 Jun 1986
TL;DR: This work examines the problem of type evolution in an object-oriented database environment and proposes a solution through an extension of the semantic data model that provides support for the type designer in creating compatible versions of the type.
Abstract: We examine the problem of type evolution in an object-oriented database environment. Type definitions are persistent objects in the database and as such may be modified and shared. The effects of changing a type extend to objects of the type and to programs that use objects of the type. We propose a solution to the problem through an extension of the semantic data model.A change in the interface defined by a type may result in errors when programs use new or old objects of the type. Through the use of an abstraction of the type over time, timestamping and error handling mechanisms provide support for the type designer in creating compatible versions of the type. The mechanisms are incorporated into the behavior defined by the type and are inherited via the type-lattice.

217 citations