Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Revision classes for explicit versioning
Previtali S., Schäuble M., Gross T.  RAM-SE 2009 (Proceedings of the Workshop on AOP and Meta-Data for Software Evolution, Genova, Italy, Jul 7, 2009)1-6.2009.Type:Proceedings
Date Reviewed: Oct 30 2009

A powerful approach to version control is finally reaching mainstream languages. Previtali, Schäuble, and Gross propose an explicit versioning mechanism based on class versioning. Then, they describe a language extension for Java and validate the approach with a small case study. Their approach is sound, the presentation is very nice, and the case for introducing revision classes in Java convincingly demonstrates the advantages of versioning based on revision classes.

Version control systems have been around for a long time. The authors claim that the bulk of these systems are based on source text, which is largely correct. However, some late binding languages with powerful metalanguage abilities, such as Smalltalk, and object database systems, such as GemStone, have included such versioning mechanisms for decades. The GemStone persistent object system has been around since 1987, and has had versioning through class history objects since very early implementations. Both the ENVY/Smalltalk versioning system [1]--regarded as a benchmark for versioning systems for Smalltalk--and Cincom’s Store use the concept of class extensions for modifications. It is also important to note parallel research done for software diagrams using metadata--some computer-aided software engineering (CASE) tools and academic researchers investigate metadata-based versioning for software diagrams [2].

The authors describe a method of improving a system using its own meta-abilities. There have been many advancements in this field over the last 30 years, but the achievements of the pioneer dynamic object-oriented languages went largely unpublished. More research is warranted into these achievements, in order to avoid reinventing them. Only when we understand these techniques can we find truly novel uses, both in version control and other similarly difficult fields. Nevertheless, the authors’ approach is novel in its domain, and they deserve praise for finally bringing these techniques to mainstream programming.

Reviewer:  Tansel Ersavas Review #: CR137435 (1101-0066)
1) Woolf, B. Pattern languages of program design (vol. 2). Addison-Wesley, Reading, MA, 1996.
2) Oda, T.; Saeki, M. Meta-modeling based version control system for software diagrams. IEICE--Transactions on Information and Systems E89-D, 4(2006), 1390–1402.
Bookmark and Share
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
 
Language Classifications (D.3.2 )
 
 
Language Constructs and Features (D.3.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Distribution, Maintenance, and Enhancement": Date
A program design language based software maintenance tool
Ince D. (ed) Software--Practice & Experience 15(6): 583-594, 1985. Type: Article
Mar 1 1986
The complete computer maintenance handbook
Bellin D. (ed), Harper&Row Publishers, Inc., New York, NY, 1986. Type: Book (9789780060406189)
Jul 1 1986
Building custom software tools and libraries
Stitt M., John Wiley & Sons, Inc., New York, NY, 1993. Type: Book (9780471579144)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy