We present a graph-based formal approach to revision control that takes consistency relations between revisions of different documents into account. We use a new powerful graph grammar specification language, called PROGRESS, for the rule-based specification of consistency preserving changes to revision graphs. In addition to coarse-grained relations between revisions, we also deal with fine-grained relations between increments which belong to revisions of different documents. Our work provides the formal basis for the construction of a syntax-directed hypertext editor which supports control of revisions and their interrelations.
{"title":"Revision control in an integrated software development environment","authors":"B. Westfechtek","doi":"10.1145/72910.73352","DOIUrl":"https://doi.org/10.1145/72910.73352","url":null,"abstract":"We present a graph-based formal approach to revision control that takes consistency relations between revisions of different documents into account. We use a new powerful graph grammar specification language, called PROGRESS, for the rule-based specification of consistency preserving changes to revision graphs. In addition to coarse-grained relations between revisions, we also deal with fine-grained relations between increments which belong to revisions of different documents. Our work provides the formal basis for the construction of a syntax-directed hypertext editor which supports control of revisions and their interrelations.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127014920","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes a practical implementation scheme for separate compilation of strongly typed high-level languages. The scheme provides full inter-module type checking, while limiting the problems of “big inhale” and most redundant recompilations by employing smart recompilation at reasonable cost. It also provides type-safe link-time substitution of module variants. The scheme has been implemented for CHILL1 in CHIPSY®, and has been in use since 1983. The current host is VAX/VMS. Targets include VAX, Intel 8086 and 80286, both stand-alone and under MS-DOS. A Sun-386i and VAX/Ultrix hosted version is under development. CHIPSY is marketed by KVATRO A/S of Trondheim, Norway.
{"title":"Separate compilation in CHIPSY","authors":"H. Eidnes, D. O. Hallsteinsen, D. H. Wanvik","doi":"10.1145/72910.73346","DOIUrl":"https://doi.org/10.1145/72910.73346","url":null,"abstract":"This paper describes a practical implementation scheme for separate compilation of strongly typed high-level languages. The scheme provides full inter-module type checking, while limiting the problems of “big inhale” and most redundant recompilations by employing smart recompilation at reasonable cost. It also provides type-safe link-time substitution of module variants. The scheme has been implemented for CHILL1 in CHIPSY®, and has been in use since 1983. The current host is VAX/VMS. Targets include VAX, Intel 8086 and 80286, both stand-alone and under MS-DOS. A Sun-386i and VAX/Ultrix hosted version is under development. CHIPSY is marketed by KVATRO A/S of Trondheim, Norway.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128820887","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Arguments are presented as to why integrated, monolithic configuration management is not well suited to commercial realtime systems. An alternative approach to configuration management that over several years we have found to be effective and widely useable is described. This approach, Database and Selectors Cel (DaSC), separates treatment of versions that exist simultaneously from the evolution of those versions over time. Versions that exist simultaneously are represented by selectors from a common database. Evolution is represented by layers, as in the film animators cel.
{"title":"Commercial realtime software needs different configuation management","authors":"W. Gentleman, A. MacKay, D. Stewart","doi":"10.1145/72910.73365","DOIUrl":"https://doi.org/10.1145/72910.73365","url":null,"abstract":"Arguments are presented as to why integrated, monolithic configuration management is not well suited to commercial realtime systems. An alternative approach to configuration management that over several years we have found to be effective and widely useable is described. This approach, Database and Selectors Cel (DaSC), separates treatment of versions that exist simultaneously from the evolution of those versions over time. Versions that exist simultaneously are represented by selectors from a common database. Evolution is represented by layers, as in the film animators cel.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"26 5","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120819394","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The program Amoeba Make, or Amake, is being designed to fulfil the need of a make-like configuration manager capable of exploiting the potentials of the Amoeba distributed operating system. The major design goal is to create a software configuration manager that is both easy to use and efficient. The specification and maintenance of a large configuration should be easy, and should be automated as much as possible. Furthermore, the build process should exploit Amoeba's capabilities and resources when creating or updating a target. In this paper we show how a smart file server can contribute to Amake's efficiency. We also show how a declarative configuration description allows Amake to take full advantage of parallelism and to determine the commands needed for building and maintaining targets.
{"title":"On the design of the amoeba configuration manager","authors":"E. Baalbergen, K. Verstoep, A. Tanenbaum","doi":"10.1145/72910.73340","DOIUrl":"https://doi.org/10.1145/72910.73340","url":null,"abstract":"The program Amoeba Make, or Amake, is being designed to fulfil the need of a make-like configuration manager capable of exploiting the potentials of the Amoeba distributed operating system. The major design goal is to create a software configuration manager that is both easy to use and efficient. The specification and maintenance of a large configuration should be easy, and should be automated as much as possible. Furthermore, the build process should exploit Amoeba's capabilities and resources when creating or updating a target. In this paper we show how a smart file server can contribute to Amake's efficiency. We also show how a declarative configuration description allows Amake to take full advantage of parallelism and to determine the commands needed for building and maintaining targets.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132508233","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The problem of the automation of the development of distributed software configuration (DSC) in the distributed computer control systems (DCCS) is discussed. The present paper deals with the building technology of the organisation of the interactions environment of applicational programs through the constructions like “information transport port” (ITP); On the basis of the DCCS structural model the system architects' language ALADDIN is developed. It is designated for the control of ITP work and for the linkage of DSC. The ALADDIN/LAMP software development system is described.
{"title":"Aladdin/lamp: Configuration management tools for distributed computer control systems","authors":"A. Pakstas","doi":"10.1145/72910.73362","DOIUrl":"https://doi.org/10.1145/72910.73362","url":null,"abstract":"The problem of the automation of the development of distributed software configuration (DSC) in the distributed computer control systems (DCCS) is discussed. The present paper deals with the building technology of the organisation of the interactions environment of applicational programs through the constructions like “information transport port” (ITP); On the basis of the DCCS structural model the system architects' language ALADDIN is developed. It is designated for the control of ITP work and for the linkage of DSC. The ALADDIN/LAMP software development system is described.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"111 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133001537","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
To support concurrent development a source version management system must support multiple programmers concurrently accessing shared source code, while maintaining the integrity of the source database. This problem is similar to the problem of concurrency control in database systems, but has a few significant differences. This leads us to view the possible solutions as variations on database transaction management and concurrency control. In particular we consider the possibility of letting transactions interact and managing the conflicts which result.1
{"title":"Conflict management in a source version management system","authors":"B. Mack-Crane, A. Pal","doi":"10.1145/72910.73364","DOIUrl":"https://doi.org/10.1145/72910.73364","url":null,"abstract":"To support concurrent development a source version management system must support multiple programmers concurrently accessing shared source code, while maintaining the integrity of the source database. This problem is similar to the problem of concurrency control in database systems, but has a few significant differences. This leads us to view the possible solutions as variations on database transaction management and concurrency control. In particular we consider the possibility of letting transactions interact and managing the conflicts which result.1","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123791285","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Version-control is a mechanism for managing the multiple versions of the software objects that are created during the software development process. Traditionally, version-control consists of providing tools for generating a branching tree of versions, with facilities for reserving a given version for modification. In the Workshop System the focus of version-control is shifted from the objects produced during the software process to the software process itself. Objects called jobs are created in a project database to explicitly instantiate the process information. The Workshop System then provides operations for manipulating jobs, with these manipulations providing the functionality normally associated with version-control.
{"title":"Replacing version-control with job-control","authors":"G. Clemm","doi":"10.1145/72910.73366","DOIUrl":"https://doi.org/10.1145/72910.73366","url":null,"abstract":"Version-control is a mechanism for managing the multiple versions of the software objects that are created during the software development process. Traditionally, version-control consists of providing tools for generating a branching tree of versions, with facilities for reserving a given version for modification. In the Workshop System the focus of version-control is shifted from the objects produced during the software process to the software process itself. Objects called jobs are created in a project database to explicitly instantiate the process information. The Workshop System then provides operations for manipulating jobs, with these manipulations providing the functionality normally associated with version-control.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128650327","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we show how configuration management and version control can be integrated and automated. Our approach is to use an object-oriented paradigm for the environment and to consider dependencies between modules to be a property local to every single version rather than a global property of the whole version group. In our proposed model configuration control depends on the dynamic evolution of the system rather than on a static description.
{"title":"Object-oriented configuration control","authors":"V. Ambriola, L. Bendix","doi":"10.1145/72910.73360","DOIUrl":"https://doi.org/10.1145/72910.73360","url":null,"abstract":"In this paper we show how configuration management and version control can be integrated and automated. Our approach is to use an object-oriented paradigm for the environment and to consider dependencies between modules to be a property local to every single version rather than a global property of the whole version group. In our proposed model configuration control depends on the dynamic evolution of the system rather than on a static description.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130321132","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The OMS data model is based on the binary EntityRelationship model. It offers objects, links and attributes, all of which arc typed. Object iypcs are organ&l in a hierarchy with inhcritancc of attributes and relationships defined on an object type to its descendants. Relationships are bi-directional associations between objects. They can bc considered as a pair of mutually inverse links. See [BOUD88] for a brief description of PCTE.
{"title":"Version and configuration management on a software engineering database","authors":"I. Thomas","doi":"10.1145/72910.73341","DOIUrl":"https://doi.org/10.1145/72910.73341","url":null,"abstract":"The OMS data model is based on the binary EntityRelationship model. It offers objects, links and attributes, all of which arc typed. Object iypcs are organ&l in a hierarchy with inhcritancc of attributes and relationships defined on an object type to its descendants. Relationships are bi-directional associations between objects. They can bc considered as a pair of mutually inverse links. See [BOUD88] for a brief description of PCTE.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131931085","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In an environment in which systems are configured by reusing existing subsystems, the determination of complete and consistent configurations is a non-trivial and error-prone task, although considerable information about the subsystems may already be available from previous configurations. The Configuration Management Assistant is a tool that supports tracking and exploiting such information in the difficult process of re-configuration on a large scale. Its data model was designed to be as independent as possible of configuration management policies and procedures and yet provide substantive assistance in this process. The most important elements of this data model are described in this paper.1
{"title":"The data model of the configuration management assistant (CMA)","authors":"E. Plödereder, A. Fergany","doi":"10.1145/72910.73339","DOIUrl":"https://doi.org/10.1145/72910.73339","url":null,"abstract":"In an environment in which systems are configured by reusing existing subsystems, the determination of complete and consistent configurations is a non-trivial and error-prone task, although considerable information about the subsystems may already be available from previous configurations. The Configuration Management Assistant is a tool that supports tracking and exploiting such information in the difficult process of re-configuration on a large scale. Its data model was designed to be as independent as possible of configuration management policies and procedures and yet provide substantive assistance in this process. The most important elements of this data model are described in this paper.1","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"127 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130852190","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}