On Refinement of Software Architectures

  • Sun Meng
  • Luís S. Barbosa
  • Zhang Naixiao
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3722)


Although increasingly popular, software component techniques still lack suitable formal foundations on top of which rigorous methodologies for the description and analysis of software architectures could be built. This paper aims to contribute in this direction: building on previous work by the authors on coalgebraic semantics, it discusses component refinement at three different but interrelated levels: behavioural, syntactic, i.e., relative to component interfaces, and architectural. Software architectures are defined through component aggregation. On the other hand, such aggregations, no matter how large and complex they are, can also be dealt with as components themselves, which paves the way to a discipline of hierarchical design. In this context, a major contribution of this paper is the introduction of a set of rules for architectural refinement.


Software component software architecture refinement coalgebra 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abdurazik, A.: Suitability of the UML as an Architecture Description Language with Applications to Testing. Technical Report ISE-TR-00-01, Information and software engineering, George Mason University (2000)Google Scholar
  2. 2.
    Arbab, F.: Abstract Behavior Types: A Foundation Model for Components and Their Composition. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 33–70. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Arbab, F., Rutten, J.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Barbosa, L.S.: Towards a Calculus of State-based Software Components. Journal of Universal Computer Science 9(8), 891–909 (2003)Google Scholar
  5. 5.
    Barbosa, L.S., de Oliveira, J.N.F.: State-based components made generic. In: Peter Gumm, H. (ed.) Elect. Notes in Theor. Comp. Sci. (CMCS 2003 - Workshop on Coalgebraic Methods in Computer Science), Warsaw, April 2003, vol. 82.1 (2003)Google Scholar
  6. 6.
    Barbosa, L.S., Meng, S., Aichernig, B.K., Rodrigues, N.: On the semantics of componentware: a coalgebraic perspective. In: He, J., Liu, Z. (eds.) Mathematical Frameworks for Component Software.- Models for Analysis and Synthesis, ch. 2. World Scientific, Singapore (2004) (to be published)Google Scholar
  7. 7.
    Berson, A.: Client/Server Architecture. McGraw-Hill, New York (1992)Google Scholar
  8. 8.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison Wesley, Reading (1999)Google Scholar
  9. 9.
    de Roever, W.-P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press, Cambridge (1998)zbMATHCrossRefGoogle Scholar
  10. 10.
    Garlan, D.: Higher-order connectors. In: Proceedings of Workshop on Compositional Software Architectures (January 1998)Google Scholar
  11. 11.
    Hoare, C.A.R., Jifeng, H., Sanders, J.W.: Prespecification in data refinement. Information Processing Letters 25, 71–76 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Hoare, C.A.R.: Proof of correctness of data representations. Acta Information 1, 271–281 (1972)zbMATHCrossRefGoogle Scholar
  13. 13.
    Hunt, J.: The Unified Process for Practitioners: Object Oriented Design, UML and Java, Practitioner. Springer, Heidelberg (2001)Google Scholar
  14. 14.
    Inverardi, P., Wolf, A.L.: Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE Transactions on Software Engineering 21(4) (1995)Google Scholar
  15. 15.
    Jacobs, B., Hughes, J.: Simulations in coalgebra. In: Peter Gumm, H. (ed.) Elect. Notes in Theor. Comp. Sci (CMCS 2003 - Workshop on Coalgebraic Methods in Computer Science), Warsaw, April 2003, vol. 82, pp. 245–263 (2003)Google Scholar
  16. 16.
    Marco, M.A., Barbosa, A., Barbosa, L.S.: A Relational Model for Component Interconnection. Journal of Universal Computer Science 10(7), 808–823 (2004)Google Scholar
  17. 17.
    Marco, M.A., Barbosa, A., Barbosa, L.S.: Specifying software connectors. In: Liu, Z., Araki, K. (eds.) ICTAC 2004. LNCS, vol. 3407, pp. 52–67. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Meng, S., Barbosa, L.S.: On Refinement of Generic Components. Technical Report 281, UNU/IIST (May 2003)Google Scholar
  19. 19.
    Meng, S., Barbosa, L.S.: On Refinement of Generic State-based Software Components. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 506–520. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  20. 20.
    Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  21. 21.
    Morgan, C.: Programming from Specifications, Second Edition. Prentice Hall, Englewood Cliffs (1994)Google Scholar
  22. 22.
    Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct architecture refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)CrossRefGoogle Scholar
  23. 23.
    OMG. OMG Unified Modeling Language Specification, Version 1.3 (2000)Google Scholar
  24. 24.
    Philipps, J., Rumpe, B.: Refinement of information flow architectures. In: Hinchey, M. (ed.) Proceedings of ICFEM 1997. IEEE CS Press, Los Alamitos (1997)Google Scholar
  25. 25.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison Wesley Longman, Amsterdam (1999)Google Scholar
  26. 26.
    Rutten, J.: Universal coalgebra: a theory of systems. Theoretical Computer Science 249, 3–80 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Schneider, J.-G., Nierstrasz, O.: Components, scripts, glue. In: Barroca, L., Hall, J., Hall, P. (eds.) Software Architectures - Advances and Applications, pp. 13–25. Springer, Heidelberg (1999)Google Scholar
  28. 28.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Sun Meng
    • 1
    • 3
  • Luís S. Barbosa
    • 2
  • Zhang Naixiao
    • 3
  1. 1.School of ComputingNational University of SingaporeSingapore
  2. 2.Department of InformaticsMinho UniversityPortugal
  3. 3.LMAM, School of Mathematical SciencePeking UniversityChina

Personalised recommendations