Advertisement

Enabling the Refinement of a Software Architecture into a Design

  • Marwan Abi-Antoun
  • Nenad Medvidovic
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1723)

Abstract

Software architecture research has thus far mainly addressed formal specification and analysis of coarse-grained software models. The formality of architectural descriptions, their lack of support for downstream development activities, and their poor integration with mainstream approaches have made them unattractive to a large segment of the development community. This paper demonstrates how a mainstream design notation, the Unified Modeling Language (UML), can help address these concerns. We describe a semiautomated approach developed to assist in refining a high-level architecture specified in an architecture description language (ADL) into a design described with UML. To this end, we have integrated DRADEL, an environment for architecture modeling and analysis, with Rational Rose®, a commercial off-the-shelf (COTS) UML modeling tool. We have defined a set of rules to transform an architectural representation into an initial UML model that can then be further refined. We believe this approach to be easily adaptable to different ADLs, to the changes in our understanding of UML, and to the changes in UML itself.

Keywords

Unify Modeling Language Software Architecture Object Constraint Language Architectural Style Unify Modeling Language Model 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Garlan, D., Paulisch, F.N., Tichy, W.F., editors: Summary of the Dagstuhl Workshop on Software Architecture, February 1995Google Scholar
  2. 2.
    Garlan, D., editor: Proceedings of the First International Workshop on Architectures for Software Systems (ISAW-1), Seattle, WA, April 1995Google Scholar
  3. 3.
    Wolf, A.L., editor: Proceedings of the Second International Software Architecture Workshop (ISAW-2), San Francisco, CA, October 1996Google Scholar
  4. 4.
    Magee, J., and Perry, D.E., editors: Proceedings of the Third International Software Architecture Workshop (ISAW-3), Orlando, FL, November 1998Google Scholar
  5. 5.
    Donohoe, P., editor: Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, February 1999Google Scholar
  6. 6.
    Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. In IEEE Transactions on Software Engineering, to appearGoogle Scholar
  7. 7.
    Booch, G., Jacobson, I., Rumbaugh, J.: The Unified Modeling Language User Guide, Addison-Wesley, 1998Google Scholar
  8. 8.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, Addison-Wesley, 1998Google Scholar
  9. 9.
    Robbins, J.E., Medvidovic, N., Redmiles, D.F., Rosenblum, D.S.: Integrating Architecture Description Languages with a Standard Design Method. In Proceedings of the 20 th International Conference on Software Engineering (ICSE’98), Kyoto, Japan, April 1998Google Scholar
  10. 10.
    Medvidovic, N., Rosenblum, D.S.: Assessing the Suitability of a Standard Design Method for Modeling Software Architectures. In Proceedings of the First IFIP Working Conference on Software Architecture (WICSA1), San Antonio, TX, February 1999Google Scholar
  11. 11.
    Medvidovic, N., Rosenblum, D.S., Robbins, J.E., Redmiles, D.F.: Modeling Software Architectures in the Unified Modeling Language. In submissionGoogle Scholar
  12. 12.
    Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In Proceedings of the 21 st International Conference on Software Engineering (ICSE’99), Los Angeles, CA, May 16–22, 1999Google Scholar
  13. 13.
    Rational Software Corporation, Rational Rose 98: Using Rational Rose Google Scholar
  14. 14.
    Shaw, M.: Procedure Calls are the Assembly Language of Software Interconnections: Connectors Deserve First-Class Status. Workshop on Studies of Software Design, 1993Google Scholar
  15. 15.
    Harris, D.R., Reubenstein, H.B., Yeh, A.S.: Reverse Engineering to the Architectural Level, In Proceedings of the 17 th International Conference on Software Engineering (ICSE’95), Seattle, Washington, 1995Google Scholar
  16. 16.
    Garlan, D., Shaw, M.: An Introduction to Software Architecture, Advances in Software Engineering, vol. 1, World Scientific Publishing Company, 1993Google Scholar
  17. 17.
    Hofmeister, C., Nord, R.L., and Soni, D.: Describing Software Architecture with UML. In Proceedings of the First IFIP Working Conference on Software Architecture (WICSA1), San Antonio, TX, February 1999Google Scholar
  18. 18.
    Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Precise Modeling With UML, Addison-Wesley, 1999Google Scholar
  19. 19.
    Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead, E.J. Jr., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component-and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering, vol. 22, no. 6, pp. 390–406, June 1996CrossRefGoogle Scholar
  20. 20.
    Di Nitto, E., and Rosenblum, D.S.: Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures. In Proceedings of the 21st International Conference on Software Engineering, pp. 13–22, Los Angeles, CA, May 1999Google Scholar
  21. 21.
    Yakimovich, D., Bieman, J.M., and Basili, V.R.: Software Architecture Classification for Estimating the Cost of COTS Integration. In Proceedings of the 21st International Conference on Software Engineering, pp. 296–302, Los Angeles, CA, May 1999Google Scholar
  22. 22.
    Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-Based Runtime Software Evolution. In Proceedings of the 20 th International Conference on Software Engineering (ICSE’98), pp. 177–186, Kyoto, Japan, April 1998Google Scholar
  23. 23.
    Medvidovic, N., Oreizy, P., Robbins, J.E., Taylor, R.N.: Using Object-Oriented Typing to Support Architectural Design in the C2 Style. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE4), pp. 24–32, San Francisco, CA, October 16–18, 1996Google Scholar
  24. 24.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994Google Scholar
  25. 25.
    Rational Software Corporation: Rational Rose 98: Roundtrip Engineering with Java, 1998Google Scholar
  26. 26.
    Rational Software Corporation: Rational Rose 98: Roundtrip Engineering with C++, 1998Google Scholar
  27. 27.
    Rational Software Corporation: Rational Rose 98 Extensibility User Guide, 1998Google Scholar
  28. 28.
    Williams, S., Kindel, C.: The Component Object Model, Dr. Dobb’s Journal, December 1994Google Scholar
  29. 29.
    Medvidovic, N., Oreizy, P., Taylor, R.N.: Reuse of Off-the-Shelf Components in C2-Style Architectures. In Proceedings of the 1997 International Conference on Software Engineering (ICSE’97), Boston, MA, May 1997Google Scholar
  30. 30.
    Verbowski, C.: Integrating Java and COM, Microsoft Corporation, January 1999. http://www.microsoft.com/java/resource/java_com.htm
  31. 31.
    Dashofy, E.M., Medvidovic, N., Taylor, R.N.: Using Off-The-Shelf Middleware to Implement Connectors in Distributed Software Architectures, In Proceedings of the 21 st International Conference on Software Engineering (ICSE’99), Los Angeles, CA, May 1999Google Scholar
  32. 32.
    Brockschmidt, K.: Inside OLE, Second Edition, Microsoft Press, 1995Google Scholar
  33. 33.
    Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. CASCON’97, November 1997Google Scholar
  34. 34.
    Wang, E.Y., Richter, H.A., Cheng, B.H.C.: Formalizing and Integrating the Dynamic Model within OMT. In Proceedings of the 19 th International Conference on Software Engineering, Boston, MA, May 1997Google Scholar
  35. 35.
    Kruchten, P.B.: The 4+1 view model of architecture, IEEE Software, Nov. 1995. pp. 42–50Google Scholar
  36. 36.
    Soni, D., Nord, R.L., and Hofmeister, C.: Software Architecture in Industrial Applications. In Proceedings of the 17 th International Conference on Software Engineering (ICSE’95), Seattle, WA, 1995Google Scholar
  37. 37.
    Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct Architecture Refinement. In IEEE Transactions on Software Engineering, April 1995Google Scholar
  38. 38.
    Egyed, A., Kruchten, P.: Rose/Architect: A Tool to Visualize Architecture. In Proceedings of the 32 nd Hawaii International Conference on System Sciences (HICSS-32), January 1999Google Scholar
  39. 39.
    IBM Corporation, The Object Constraint Language: (OCL): the expression language for the UML http://www.software.ibm.com/ad/standards/ocl.html

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Marwan Abi-Antoun
    • 1
  • Nenad Medvidovic
    • 1
  1. 1.Computer Science DepartmentUniversity of Southern CaliforniaLos AngelesUSA

Personalised recommendations