Skip to main content
Article thumbnail
Location of Repository

Support for collaborative component-based software engineering

By Stephen Rank, Cornelia Boldyreff, David Nutter, Phyo Kyaw and Janet Lavery


Collaborative system composition during design has been poorly supported by traditional CASE tools (which have usually concentrated on supporting individual projects) and almost exclusively focused on static composition. Little support for maintaining large distributed collections of heterogeneous software components across a number of projects has been developed. The CoDEEDS project addresses the collaborative determination, elaboration, and evolution of design spaces that describe both static and dynamic compositions of software components from sources such as component libraries, software service directories, and reuse repositories. The GENESIS project has focussed, in the development of OSCAR, on the creation and maintenance of large software artefact repositories. The most recent extensions are explicitly addressing the provision of cross-project global views of large software collections and historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR and CoDEEDS are widely adopted and steps to facilitate this are described.\ud This book continues to provide a forum, which a recent book, Software Evolution with UML and XML, started, where expert insights are presented on the subject.\ud In that book, initial efforts were made to link together three current phenomena: software evolution, UML, and XML. In this book, focus will be on the practical side of linking them, that is, how UML and XML and their related methods/tools can assist software evolution in practice.\ud Considering that nowadays software starts evolving before it is delivered, an apparent feature for software evolution is that it happens over all stages and over all aspects.\ud Therefore, all possible techniques should be explored. This book explores techniques based on UML/XML and a combination of them with other techniques (i.e., over all techniques from theory to tools).\ud Software evolution happens at all stages. Chapters in this book describe that software evolution issues present at stages of software architecturing, modeling/specifying,\ud assessing, coding, validating, design recovering, program understanding, and reusing.\ud Software evolution happens in all aspects. Chapters in this book illustrate that software evolution issues are involved in Web application, embedded system, software repository, component-based development, object model, development environment, software metrics, UML use case diagram, system model, Legacy system, safety critical system, user interface, software reuse, evolution management, and variability modeling. Software evolution needs to be facilitated with all possible techniques. Chapters in this book demonstrate techniques, such as formal methods, program transformation,\ud empirical study, tool development, standardisation, visualisation, to control system changes to meet organisational and business objectives in a cost-effective way. On the journey of the grand challenge posed by software evolution, the journey that we have to make, the contributory authors of this book have already made further\ud advances

Topics: G610 Software Design, G600 Software Engineering
Publisher: IDEA Group Publishing
Year: 2005
OAI identifier:

Suggested articles


  1. (2003). A Framework for Developing a Design Evolution Environment.
  2. (2002). Active Artefact Management for Distributed Software Engineering. doi
  3. (2003). An Artefact Repository to Support Distributed Software Engineering. doi
  4. (1997). An Integrated Process Model of Software Configuration Management for Reusable Components.
  5. (2003). Architectural Framework For a Collaborative Design Environment. doi
  6. (1995). Architectural Issues in Software Reuse: It's Not Just The Functionality, It's the Packaging. doi
  7. (1995). Architectural Mismatch or Why It's Hard to Build Systems out of Existing Parts. doi
  8. (1993). Code Complete: A Practical Handbook of Software Construction.
  9. (1991). Dynamic adaptation of real-time software. doi
  10. (1985). Dynamic configuration for distributed systems. doi
  11. (1991). Dynamically Replaceable Software: A Design Method.
  12. (1999). Evolution and Composition of Reusable Assets in ProductLine Architectures: A Case Study. doi
  13. (2002). Generalised Environment for doi
  14. (2003). Historical Awareness Support and Its Evaluation in Collaborative Software Engineering. doi
  15. (2003). Incremental Adoption Strategy for the GENESIS Platform.
  16. (1998). Issues in modeling and analyzing dynamic software architectures.
  17. (1996). Laws of software evolution revisited. doi
  18. (1997). Metrics and laws of software evolution The nineties view. doi
  19. (1998). On the Role of Connectors in Modelling and Implementing Software Architectures.
  20. (1998). On the role of software architectures in runtime system reconfiguration. doi
  21. (2003). Open-Source Development Processes and Tools.
  22. (2002). OPHELIA: An architecture to facilitate software engineering in a distributed environment.
  23. (1996). Practical Software Maintenance. doi
  24. (1990). PRACTITIONER: Pragmatic Support for the Reuse of Concepts in Existing Software.
  25. (1985). Programs, life cycles and laws of software evolution. doi
  26. (2002). Requirements for an Open Source Component and Artefact Repository system within GENESIS.
  27. (1999). SEGWorld: A WWW-based Infrastructure to Support the Development of Shared Software Engineering Artifacts. doi
  28. (2000). Self Organization of a Massive Document Collection. doi
  29. (2003). Self Organizing Maps Applied to Web Content. Final Year
  30. (2003). Self-Organising Maps Applied in Visualising Large Software Collections,
  31. (1998). Self-Organizing Maps and Software Reuse. doi
  32. (1996). Software Maintenance: Concepts and Practice. doi
  33. (1980). Software's Future: Managing Evolution. doi
  34. (2003). Supporting Collaborative Grid Application Development within the E-Science Community. 1st International Workshop on Web Based Collaboratories, collocated with IADIS WWW/Internet,
  35. (1954). Systems Engineering.
  36. (1995). The AMES Approach to Application Understanding: A Case Study. doi
  37. (1993). The Capability Maturity Model for Software, doi
  38. (2002). The OPHELIA Project: Supporting software development in a distributed environment. IADIS WWW/Internet
  39. (1999). The Practice of Programming. doi
  40. (1997). The sysctl interface. Linux Journal, 41. Available at
  41. (1990). Towards Knowledge-Based Reverse Engineering.
  42. (1996). Understanding Through Maintainer Driven Traceability. doi
  43. (1998). Using Application Understanding to support Impact Analysis. doi
  44. (1998). Will there ever be software engineering? doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.