management. The EPOS repository supports
versioning and long transactions. The principles that
inspired the creation of the EPOS repository are
similar to the principle underlying SCCS-XP, in that
both approaches deal with the management of
complex structured artifacts, and tend to support a
smooth and effective integration with the
development environment. There are also important
differences: EPOS uses a different versioning model
(Change Oriented Versioning), and does not support
fine-grained versioning. SCCS-XP does not provide
native support for the software process, although in
principle it would be possible to exploit the event-
based architecture of SCCS-XP to build a process
support plug-in.
Finally, the COOP/Orm project developed a
collaborative SCM system integrated with a
programming environment. COOP/Orm features a
fine-grained versioning model (Magnusson and
Asklund, 1996) similar to the one featured by SCCS-
XP. COOP/Orm’s approach to SCM suffers by some
constraints: COOP/Orm comes with a built-in
optimistic check-out mechanism with synchronous
updates, it obliges the usage of the integrated editor,
and it does not exchange data easily with external
development tools.
5 CONCLUSIONS
SCCS-XP is a light-weight, XML-based platform
providing basic SCM functionalities. SCCS-XP
supports a data model which is actually a sort of
meta-model that can be used to build support for
several different types of software artifacts;
integration, at the data level, with external tools is
easy. A traditional, extensional versioning model is
provided, but SCCS-XP provides the possibility to
extend this model, as well as to introduce additional
functionality. SCCS-XP was employed to realize
prototypes of SCM tools ranging form a simple
CVS-like tool to a sophisticated tool that can
manage semantic relations, and perform different
types of impact analysis.
In conclusion, we believe that SCCS-XP can be
employed to build customized SCM environments
suitable to support modern software development
practices.
Future work will concern: 1) the development of
a plug-in for UML, supporting the XMI data model;
2) the implementation of a locking mechanism 3) the
implementation of a plug-in that allows the user to
define new specific relations, and to define rules that
can be triggered by specific events and invoke
suitable actions; 4) the development of a plug-in that
exploits the virtual files mechanism to supports
different views of a single project.
ACKNOWLEDGEMENTS
We would like to thank Luca Ridolfi and Riccardo
Serafin for their contribution in the design and
implementation of the tool.
REFERENCES
Boag, S., Chamberlin, D., Fernández, M. F., Florescu, D.,
Robie, J., Siméon, J., 2007. XQuery 1.0: An XML
Query Language. W3C Recommendation.
Chu-Carroll M.C. and Sprenkle S., 2002. Coven: Brewing
Better Collaboration through Software Configuration
Management. In FSE 2000, San Diego.
Clark, J., DeRose, S., 1999. XML Path Language (XPath)
Version 1.0. W3C Recommendation.
Conradi R., Westfechtel B., 1998. Version Models for
Software Configuration Management. In ACM
Computing Surveys, Vol. 30, N. 2, pp. 232-282.
Conradi, R., Larsen, J., Nguyen, M.N., Munch, B.P.,
Westby, P.H., 1995. Integrated Product and Process
Management in EPOS. Journal of Integrated CAE.
Estublier, J., 2000. Software configuration management: a
roadmap. In ICSE - Future of SE Track.
Leblang, D. B., 1994. The CM challenge: Configuration
management that works. In Configuration
Management, Vol. 2 of Trends in Software, Wiley,
pp. 1-37.
Magnusson, B., Asklund, U., 1996. Fine grained version
control of configurations in COOP/Orm. In ICSE
1996, SCM-6 Workshop.
Mouat, A., 2002. XML Diff and Patch Utilities. CS4
Dissertation, Heriot-Watt University,.
Tichy, W. F., 1988. Tools for software configuration
management. In Proc. of the Int. Workshop on
Software Version and Configuration Control,
Grassau, Germany, Teubner Verlag.
van der Hoek, A., Carzaniga, A., Heimbigner, D., Wolf,
A. L., 2002. A Testbed for Configuration
Management Policy Programming. IEEE TSE,
Volume 28, Issue 1, pp. 79 - 99.
van der Lingen, R., van der Hoek, A., 2004. An
Experimental, Pluggable Infrastructure for Modular
Configuration Management Policy Composition. In
ICSE 2004, Edinburgh.
Westfechtel B., Munch B. P., Conradi R., 2001. A
Layered Architecture for Uniform Version
Management. IEEE TSE. Volume 27, Issue 12.
ICSOFT 2008 - International Conference on Software and Data Technologies
164