Layered Class Diagrams: Supporting the Design Process

  • Scott Hendrickson
  • Bryan Jett
  • André van der Hoek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4199)


Class diagrams model a system’s classes, their inter-relationships, operations, and attributes and are used for a variety of purposes including exploratory design, communication, and evaluation. However, traditional diagrams, and the tools used to create them, focus on capturing a single configuration – the product of the design process – rather than supporting the explorative design process itself that is used to create and evolve a design over time. This process involves iteration over multiple alternatives and evaluation of those alternatives. We present a layered approach and environment that encourages this process by capturing a design and its alternatives using layers. Layers may be combined with other layers to compose and explore new design alternatives for evaluation. Our tool provides mechanisms for creating, composing, and visualizing layers as well as detecting dependencies and conflicts among layers and managing semantic relationships among layers.


Class Diagram Software Product Line Semantic Relationship Vertex Class Automate Software Engineer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Briand, L.C., Labiche, Y., et al.: Impact Analysis and Change Management of UML Models. In: Proceedings of the 19th International Conference on Software Maintenance (ICSM 2003), Amsterdam, The Netherlands, September 22-26, pp. 256–265 (2003)Google Scholar
  3. 3.
    Chen, P.S., Critchlow, M., et al.: Differencing and Merging within an Evolving Product Line Architecture. In: Proceedings of the Fifth International Workshop on Product Family Engineering (PFE-5), Siena, Italy, November 4-6, pp. 269–281 (2003)Google Scholar
  4. 4.
    Conradi, R., Westfechtel, B.: Version Models for Software Configuration Management. ACM Computing Surveys 30(2), 232–282 (1998)CrossRefGoogle Scholar
  5. 5.
    Estublier, J., Leblang, D.B., et al.: Impact of the Research Community on the Field of Software Configuration Management. Software Engineering Notes 27(5), 31–39 (2002)CrossRefGoogle Scholar
  6. 6.
    Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edn. Addison Wesley, Reading (2003)Google Scholar
  7. 7.
    Harrison, W.H., Ossher, H.L., et al.: Asymmetrically vs. Symmetrically Organized Paradigms for Software Composition. IBM Research Division, IBM Research Report RC22685 (W0212-147), December 30 (2002)Google Scholar
  8. 8.
    Kienzle, J., Gray, J., et al.: Report of the 7th International Workshop on Aspect-Oriented Modeling. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 91–99. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Lopes, C.V., Kiczales, G., et al.: Aspect-Oriented Programming. In: Proceedings of the European Conference on Object-Oriented Programming, Jyväskylä, Finland, June 9-13 (1997)Google Scholar
  10. 10.
    Mehra, A., Grundy, J., et al.: A Generic Approach to Supporting Diagram Differencing and Merging for Collaborative Design. In: Proceedings of the International Conference on Automated Software Engineering (ASE 2005), Long Beach, CA, USA, November 7-11, pp. 204–213 (2005)Google Scholar
  11. 11.
    Ommering, R.v., Linden, F.v.d., et al.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3), 78–85 (2000)Google Scholar
  12. 12.
    Rational Software Corporation. Rational Rose: Using Rose. IBM Corporation, Report 800-024462-000, p. 258 (2003)Google Scholar
  13. 13.
    Robbins, J., Hilbert, D., et al.: Extending Design Environments to Software Architecture Design. In: Proceedings of the Conference on Knowledge-Based Software Engineering (KBSE 1996), p. 63 (1996)Google Scholar
  14. 14.
    Robbins, J., Redmiles, D.: Software Architecture Critics in the Argo Design Environment. Knowledge Based Systems 11(1), 47–60 (1998)CrossRefGoogle Scholar
  15. 15.
    Robbins, J.E., Redmiles, D.F.: Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML. In: Information and Software Technology, Special Issue: The Best of COSET 1999, vol. 42(2), pp. 79–89 (2000)Google Scholar
  16. 16.
    Sinnema, M., Deelstra, S., et al.: COVAMOF: A Framework for Modeling Variability in Software Product Families. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 197–213. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Stein, D., Hanenberg, S., et al.: A UML-based Aspect-Oriented Design Notation For AspectJ. In: Proceedings of the 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, April 22-26, pp. 106–112 (2002)Google Scholar
  18. 18.
    Xing, Z., Stroulia, E.: UMLDiff: An Algorithm for Object-Oriented Design Differencing. In: Proceedings of the Automated Software Engineering (ASE 2005), Long Beach, CA, November 7-11, pp. 54–65 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Scott Hendrickson
    • 1
  • Bryan Jett
    • 1
  • André van der Hoek
    • 1
  1. 1.Institute for Software ResearchUniversity of California,IrvineIrvineU.S.A.

Personalised recommendations