Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!csd4.milw.wisc.edu!uxc.cso.uiuc.edu!uxc.cso.uiuc.edu!m.cs.uiuc.edu!render From: render@m.cs.uiuc.edu Newsgroups: comp.software-eng Subject: Re: Source Code Control Message-ID: <39400025@m.cs.uiuc.edu> Date: 16 Jun 89 19:49:00 GMT References: <133@tirnan.UUCP> Lines: 229 Nf-ID: #R:tirnan.UUCP:133:m.cs.uiuc.edu:39400025:000:9035 Nf-From: m.cs.uiuc.edu!render Jun 16 14:49:00 1989 Written 5:52 pm Jun 14, 1989 by hull@dinl.uucp: >While having nothing to contribute at this time, I would like to read >about formal models of SCM (with English descriptions) and >object-oriented SCM. Well, the thing about formal models of SCM and OO SCM is that there isn't much published on either. There are several papers describing version control and SCM systems that give data models for them. There are few papers that specifically give models; Walter Tichy, Karen Huff, Ellen Borison and Dennis Heimbigner have written such papers. I'll list the references at the bottom of this posting. As for OO SCM, a few people are working on an OO data model for a SCM, including myself. One group is the Arcadia project, with whom Dennis Heimbigner is related (I believe). Unfortunately I haven't seen any published models as such, though I'm working on mine. Many of the object-oriented database people address version control in their systems, both from the point of maintaining multiple versions of data to dealing with dynamic schema evolution. There have been a couple of good papers on models of this, and I'll also append those references. The only actual OO programming system that addresses SCM that I know of is called Orwell. It's a Smalltalk-based system that was designed to allow team programming, and deals with concurrent updates, change control and the like. It's not real sophisticated, but it addresses the issues. Oh, for those interested I know of one paper on the rigorous development of a version control program using VDM. I like it because it's the one of the few attempts to apply formal development methods to SCM. Anyway, I don't know how to make a short introduction into this stuff, though I may try if I get inspired over the weekend. If anyone has any specifics to talk about, I'll try to contribute. Also, I'm always interested in hearing about any other related work or papers people know of. Hal Render render@cs.uiuc.edu ----- %Here are the papers concerning SCM models (all references in bibtex format): @inproceedings{borison, keywords=":scm:data models:process models:", author="Ellen Borison", title="{``A Model of Software Manufacture''}", booktitle="Proceedings of the IFIP International Workshop on Advanced Programming Environments", address="Trondheim, Norway", month=jun, year=1987, pages="197--220" } @article{Ditt88, keywords=":vc:dbms:data models:", title="{``Version Support for Engineering Database Systems''}", author="Klaus R. Dittrich and Raymond A. Lorie", journal="IEEE Transactions on Software Engineering", volume="14", number="4", month= apr, year=1988, pages="429--437" } @inproceedings{heimbigner2, keywords=":arcadia:sde:scm:data models:", title="{``A Graph Transform Model for Configuration Management Environments''}", author="Dennis Heimbigner and Steven Krane", booktitle="Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", address="Boston, Massachusetts", month=nov, year=1988, pages="216--225" } @techreport{heimbigner3, keywords=":arcadia:scm:sde:data models:relations:", title="{Active Relations for Specifying \& Implementing Software Object Management}", author="Dennis Heimbigner and Leon Osterweil and Sutton, Jr., Stanley", school="Department of Computer Science, University of Colorado", number="CS-CS-406-88", month= jul, year="1988"} @inproceedings{huff81, keywords=":sde:dbms:scm:data models:", author="Karen E. Huff", title="{``A Database Model for Effective Configuration Management in the Programming Environment''}", booktitle="Proceedings of the 5th International Conference on Software Engineering", address="San Diego, CA", month= "March", year=1981, pages="54--61" } @inproceedings{lint84, keywords=":dbms:data models:scm:views:", author="Mark A. Linton", title="{``Implementing Relational Views of Programs''}", booktitle="Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", address="Pittsburgh, PA", month= "April", year=1984, pages="132--140" } @incollection{lock83, keywords=":scm:vc:sde:data models:er:", title="{``Analysis of Version and Configuration Control in a Software Engineering Environment''}", author="Peter C. Lockemann", booktitle="Entity-Relationship Approach to Software Engineering", Editor="C.G. Davis and S. Jajodia and P.A. Ng and R.T. Yeh", publisher="Elsevier Science Publishers", address="North-Holland", year=1983, pages="701--713" } @inproceedings{minsky85, keywords=":darwin:sde:scm:data models:", title="{``Controlling the Evolution of Large Scale Software Systems''}", author="Naftaly H. Minsky", booktitle="Workshop on Software Engineering Environments for Programming-in-the-Large", address="Harwichport, MA", month= "June", year=1985, pages="1--16" } @inproceedings{grids, keywords=":scm:data models:", title="{``Grids: A New Program Structuring Mechanism Based on Layered Graphs''}", author="Harold L. Ossher", booktitle="Eleventh Annual ACM Symposium on Principles of Programming Languages", month= jan, year="1984", pages="11--22"} @techreport{clemma2, keywords=":clemma:scm:data models:", author="Hal S. Render and Roy H. Campbell", title="{The Design of the CLEMMA Configuration Librarian System}", institution="Dept. of Computer Science, University of Illinois at Urbana-Champaign", number="UIUCDCS-R-88-1458", month=Oct, year=1988 } @techreport{staudt, keywords=":sde:scm:data models:", keywords=":transformgen:software maintenance:sde:", title="{TransformGen: Automating the Maintenance of Structure-Oriented Environments}", author="Barbara Staudt and Charles Krueger and David Garlan", school="Department of Computer Science, Carnegie Mellon University", number="CMS-CS-88-186", month= nov, year="1988"} @inproceedings{tichy81, keywords=":vc:scm:data models:", title="{``A Data Model for Programming Support Environments''}", booktitle="Proceedings of the IFIP WG 8.1 Working Conference on Automated Tools for Information System Design and Development", author="Walter F. Tichy", month= oct, year="1981"} @inproceedings{klahold, keywords=":vc:data models:dbms:", title="{``A General Model for Version Management in Databases''}", booktitle="Proceedings of the 12th International Conference on Very Large Databases", author="Peter Klahold and Gunter Schlageter and Wolfgang Wilkes", address="Kyoto, Japan", month= aug, year="1986", pages="319--327"} @incollection{lock83, keywords=":scm:vc:sde:data models:er:", title="{``Analysis of Version and Configuration Control in a Software Engineering Environment''}", author="Peter C. Lockemann", booktitle="Entity-Relationship Approach to Software Engineering", Editor="C.G. Davis and S. Jajodia and P.A. Ng and R.T. Yeh", publisher="Elsevier Science Publishers", address="North-Holland", year=1983, pages="701--713" } @inproceedings{perr87b, keywords=":sde:vc:mi:data models:", author="Dewayne E. Perry", title="{``Software Interconnection Models''}", booktitle="Proceedings of the 9th International Conference on Software Engineering", address="Monterey, CA", month= "March", year=1987, pages="61--69" } %Here are the OO papers: @article{orwell, keywords=":scm:oo:pl:", title="{``Orwell: A Configuration Management System for Team Programming''}", author="Dave Thomas and Kent Johnson", journal="ACM SIGPLAN Notices", volume="23", number="11", month= Nov, year="1988", pages="135--141" } @inproceedings{beech, keywords=":oo:dbms:vc:", title="{``Generalized Version Control in an Object-Oriented Database''}", author="David Beech and Brom Mahbod", booktitle="Proceedings of the 1988 IEEE Fourth International Conference on Data Engineering", address="Los Angeles, California", month= feb, year="1988", pages="14--22" } @inproceedings{katz87, keywords=":oo:vc:dbms:data models:", title="{``Managing Change in a Computer-Aided Design Database''}", author="R. H. Katz and E. Chang", booktitle="Proceedings of the 13th International Conference on Very Large Data Bases", address="Brighton, England", month= sep, year=1987, pages="455--462" } %Here's the rigorous development paper: @article{cott84, keywords=":vc:sde:svce:", title="{``The Rigorous Development of a System Version Control Program''}", author="Ian D. Cottam", journal="IEEE Transactions on Software Engineering", volume="SE-10", number="2", month= mar, year=1984, pages="143--154" }