ComputingComputer ScienceFormal MethodsSoftware EngineeringSystems ModelingSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware ModelingVersion CompatibilityVersioning Semantics
We present a formulation of interconnection models and present the unit and syntactic models — the primary models used for managing the evolution of large software systems. We discuss various tools that use these models and evaluate how well these models support the management of system evolution. We then introduce the semantic interconnection model. The semantic interconnection model incorporates the advantages of the unit and syntactic interconnection models and provides extremely useful extensions to them. By refining the grain of interconnections to the level of semantics (that is, to the predicates that define aspects of behavior) we provide tools that are better suited to manage the details of evolution in software systems and that provide a better understanding of the implications of changes. We do this by using the semantic interconnection model to formalize the semantics of program construction, the semantics of changes, and the semantics of version equivalence and compatibility. Thus, with this formalization, we provide tools that are knowledgeable about the process of system construction and evolution and that work in symbiosis with the system builders to construct and evolve large software systems. 1.
16
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1983 · 1.5K citations
Rcs — a system for version control
Walter F. Tichy · Software Practice and Experience · 1985 · 950 citations
The source code control system
Marc Rochkind · IEEE Transactions on Software Engineering · 1975 · 711 citations
The Interlisp Programming Environment
Warren Teitelman, Larry Masinter · Computer · 1981 · 357 citations