article

COM revisited: tool-assisted modelling of an architectural framework

Abstract

Designing architectural frameworks without the aid of formal modeling is error prone. But, unless supported by analysis, formal modeling is prone to its own class of errors, in which formal statements fail to match the designer's intent. A fully automatic analysis tool can rapidly expose such errors, and can make the process of constructing and refining a formal model more effective.

This paper describes a case study in which we recast a model of Microsoft COM's query interface and aggregation mechanism into Alloy, a lightweight notation for describing structures. We used Alloy's analyzer to simulate the specification, to check properties and to evaluate changes. This allowed us to manipulate our model more quickly and with far greater confidence than would otherwise have been possible, resulting in a much simpler model and a better understanding of its key properties.

References

  1. 1 Abowd, G.D., R. Allen and D. Garlan, "Formalizing style to understand descriptions of software architecture," ACM Transactions on Software Engineering and Methodology, Vol. 4, No. 4, Oct. 1995, pp. 319-364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 Allan, R.J., D. Garlan and I. Ivers, "Formal modeling and analysis of the HLA component integration standard," Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE-6), November 1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Box, D., Essential COM, Addison-Wesley, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Damon, C.A., R. Melton, R.J. Allen, E. Bigdow, J. M. Ivers and D. Garlan. Formalizing a Specification for Analysis: The HLA Ownership Properties. Technical Report CMU-CS-99-126, School of Computer Science, Carnegie Mellon University, 1999.Google ScholarGoogle Scholar
  5. 5 Di Nitto, E., and D. Rosenblum, "Exploiting Architecture Description Languages to Specify Architectural Styles Induced by Middleware Infrastructures," Proc. 21" International Conference on Software Engineering, Los Angeles, CA, May 1999, pp. 13-22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Garlan, D., R. Allen, and J. Ockerbloom, "Exploiting style in architectural design environments," Proceedings of SIGSOFT'94: The Second ACM SIGSOFT Symposium on the Foundations of Software Engineering, December 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Inverardi, P. and A.L. Wolf, "Formal specification and analysis of software architectures using the chemical abstract machine model," IEEE Transactions on Software Engineering, SE-21,4, April 1995, pp. 373-386. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Jackson, D., Alloy: A lightweight object modelling notation, Technical Report 797, MIT Laboratory for Computer Science, Cambridge, MA, February 2000.Google ScholarGoogle Scholar
  9. 9 Jackson, D., I. Schechter and I. Shlyakhter, "Alcoa: the Alloy Constraint Analyzer," Proceedings of the International Conference on Software Engineering, Limerick, Ireland, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Le Meayer, D., "Software architecture styles as graph grammars," Proc. ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 15-23, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 Luckham, D.C. and J. Vera, "An Event-Based Architecture Definition Language," IEEE Transactions on Software Engineering, Vo121, No 9, pp.717-734. Sep. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Magee, J., and J. Kramer, "Dynamic Structure in Software Architectures," Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Software Engineering Notes, Vol. 21, No. 6, ACM Press, October 1996, pp. 3-14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Microsoft Corporation, The Component Object Model Specification, version 0.9, October 24, 1995, available at: www.microsoft.com/com/resources/comdocs.asp.Google ScholarGoogle Scholar
  14. 14 Monroe, R.T. Capturing Software Architecture Design Expertise With Armani. Technical Report CMU-CS-98-163, School of Computer Science, Carnegie Mellon University, October 1998.Google ScholarGoogle Scholar
  15. 15 Rumbaugh, J., I. Jacobson and G. Booch, The Unified Modeling Language Reference Manual, Addison Wesley Object Technology Series, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Sullivan, K.J., M. Marchukov and D. Socha, "Analysis of a conflict between interface negotiation and aggregation in Microsoft's component object model," IEEE Transactions on Software Engineering, July/August, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Spivey, J.M., Understanding Z: A Specification Notation and its Formal Semantics, Cambridge Tracts in Theoretical Computer Science, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 Wile, D., "AML: An Architecture Meta Language," Proceedings 14th International Conference on Automated Software Engineering, Cocoa Beach, FL, October 1999, pp. 183-190. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. COM revisited: tool-assisted modelling of an architectural framework

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!