Abstract
This paper describes our experience with developing a product line for middleware-based versioning systems. We perform a detailed domain analysis and define a DSL for configuring individual systems. Afterwards, we present a template-based approach for generating versioning systems from UML models. The presented approach is evaluated from two perspectives. We first use diverse measures to determine the properties of code templates used by the generator. Afterwards, we compare the performance of a generated versioning system to a system that has been developed by means of a framework and thus has to rely on a set of generic implementation components.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The Apache Jakarta Project: Velocity, available as: http://jakarta.apache.org/velocity/
The Apache Web Services Project - Axis, available as: http://ws.apache.org/axis/
Bernstein, P.A.: Repositories and Object-Oriented Databases. SIGMOD Record 27(11), 34–46 (1998)
Bernstein, P.A., Dayal, U.: An Overview of Repository Technology. In: Proc. VLDB 1994, Santiago, pp. 707–713 (September 1994)
Carnegie Mellon University, Software Engineering Institute: Software Technology Roadmap - Cyclomatic Complexity, available as: http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html
Conradi, R., Westfechtel, B.: Version Models of Software Configuration Management. ACM Computing Surveys 30(2), 232–282 (1998)
CVS - Concurrent Versions Systems - The Open Standard for Version Control, available as: http://www.cvshome.org/
Halstead, M.H.: Elements of Software Science. Elsevier, Amsterdam (1977)
IBM Corp., IBM alphaWorks: XML Registry, available as: http://www.alphaworks.ibm.com/tech/xrr
IBM Corp.: IBM Rational ClearCase, available as: http://www.ibm.com/software/awdtools/clearcase/
Katz, R.H.: Toward a Unified Framework for Version Modeling in Engineering Databases. ACM Computing Surveys 22(4), 375–409 (1990)
Madhavan, J., Bernstein, P.A., Rahm, E.: Generic Schema Matching with Cupid. In: Proc. VLDB 2001, Rome, pp. 49–58 (September 2001)
McCabe, T.J.: A Complexity Measure. IEEE Transactions on Software Engineering 2(4), 308–320 (1976)
Melnik, S., Rahm, E., Bernstein, P.A.: Developing Metadata-Intensive Applications with Rondo. Journal of Web Semantics, 1(1) (2003)
Microsoft Corp., Microsoft Developer Network: Meta Data Services Architecture, available as: http://msdn.microsoft.com/
Novosoft Inc.: NSUML – Novosoft Metadata Framework and UML Library, available from: http://nsuml.sourceforge.net/
Seshadri, G.: Understanding JavaServer Pages Model 2 Architecture: Exploring the MVC Design Pattern, JavaWorld, (December 1999), available from: http://www.javaworld.com/
Sturm, T., von Voss, J., Boger, M.: Generating Code from UML with Velocity Templates. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 150–161. Springer, Heidelberg (2002)
Sun Microsystems, Inc.: Enterprise JavaBeans Specification, v2.1 (November 2003)
Sun Microsystems, Inc.: Java 2 Platform Enterprise Edition Specification, v1.4 (April 2003)
Unisys Universal Repository: Tool Builder’s Guide, Unisys Corp. (1999)
Whitehead, J.E.: An Analysis of the Hypertext Versioning Domain, Ph.D. dissertation, Univ. of California, Irvine (September 2000)
Whitehead, J.E., Gordon, D.: Uniform Comparison of Configuration Data Models. In: Proc. SCM-11, Portland, pp. 70–85 (May 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kovse, J., Gebauer, C. (2004). VS-Gen: A Case Study of a Product Line for Versioning Systems. In: Karsai, G., Visser, E. (eds) Generative Programming and Component Engineering. GPCE 2004. Lecture Notes in Computer Science, vol 3286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30175-2_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-30175-2_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23580-4
Online ISBN: 978-3-540-30175-2
eBook Packages: Springer Book Archive