10.1145/1289971.1289979acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedings
Article

A type-centric framework for specifying heterogeneous, large-scale, component-oriented, architectures

ABSTRACT

Maintaining integrity, consistency, and enforcing conformance in architectures of large-scale systems requires specification and enforcement of many different forms of structural constraints. While type systems have proved effective for enforcing structural constraints in programs and data structures, most architectural modeling frameworks include only weak notions of typing or rely on first-order logic constraint languages that have steep learning curves and that become unwieldy when scaling to large systems.

We present the CADENA Architecture Language with Meta-modeling (CALM) - that uses multi-level type systems to specify and enforce a variety of architectural constraints relevant to development of large-scale component-based systems. CADENA is a robust and extensible tool that has been used to specify a number of industrial-strength component models and applied in multiple industrial research projects on model-driven development and software product lines.

References

  1. G. Abowd, R. Allen, and D. Garlan. Using style to understand descriptions of software architecture. In Proceedings of the 1st ACM SIGSOFT symposium FSE, pages 9--20. ACM Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Allen and D. Garlan. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, 6(3):213--249, July 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. CADENA web site. http://cadena.projects.cis.ksu.edu/.Google ScholarGoogle Scholar
  4. A. Childs, J. Greenwald, G. Jung, M. Hoosier, and J. Hatcliff. Calm and cadena: Metamodeling for component-based product-line development. Computer, 39(2):42--50, February 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Clements and L. Northrop. Software Product Lines. Addison Wesley, 2002.Google ScholarGoogle Scholar
  6. E. M. Dashofy, A. van der Hoek, and R. N. Taylor. An infrastructure for the rapid development of XML-based architecture description languages. In Proceedings of the 24th International Conference on Software Engineering (ICSE), pages 266--276. ACM Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Di Nitto and D. S. Rosenblum. Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In Proceedings of the 21st international conference on Software engineering, pages 13--22. IEEE Computer Society Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Garlan, R. Monroe, and D. Wile. Acme: an architecture description interchange language. In Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research (CASCON). IBM Press, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Gay, P. Levis, D. Culler, and E. Brewer. nesC 1.1 Language Reference Manual. http://nescc.sourceforge.net/, May 2003.Google ScholarGoogle Scholar
  10. D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 1--11. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Gokhale, K. Balasubramanian, and T. Lu. CoSMIC: addressing crosscutting deployment and configuration concerns of distributed real-time and embedded systems. In Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications (OOPSLA), pages 218--219. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Hatcliff, W. Deng, M. Dwyer, G. Jung, and V. P. Ranganath. Cadena: An integrated development, analysis, and verification environment for component-based systems. In Proceedings of the 25th International Conference on Software Engineering (ICSE), volume 841, pages 160--173. IEEE Computer Society Press, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. International Organization for Standardization. Information technology - open systems interconnection - basic reference model: The basic model. ISO/IEC 7498-1, 1994.Google ScholarGoogle Scholar
  14. G. Jung. The type system of calm. Technical Report SAnToSTR2006-3, Kansas State University, Department of Computing and Information Sciences, 2006.Google ScholarGoogle Scholar
  15. G. Karsai, M. Maróti, Á. Lédeczi, J. Gray, and J. Sztipanovits. Composition and cloning in modeling and meta-modeling. IEEE Transactions on Control Systems Technology, 12(2):263--278, March 2004.Google ScholarGoogle ScholarCross RefCross Ref
  16. A. Kompanek. Modeling a system with acme. http://www.cs.cmu.edu/~acme.Google ScholarGoogle Scholar
  17. Á. Lédeczi, M. Maróti, A. Bakay, G. Karsai, J. Garrett, C. Y. Thomason, G. G. Nordstrom, and P. Völgyesi. The generic modeling environment. In Proceedings of the Workshop on Intelligent Signal Processing, May 2001.Google ScholarGoogle Scholar
  18. Á. Lédeczi, G. Nordstrom, G. Karsai, P. Völgyesi, and M. Maróti. On metamodel composition. In Proceedings of the 2001 IEEE International Conference on Control Applications (CCA), pages 756--760, 2001.Google ScholarGoogle Scholar
  19. J. Magee and J. Kramer. Dynamic structure in software architectures. In Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 3--14. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. Matena, S. Krishnan, L. DeMichiel, and B. Stearns. Applying Enterprise JavaBeans. Addison Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Medvidovic, P. Oreizy, J. E. Robbins, and R. N. Taylor. Using object-oriented typing to support architectural design in the c2 style. In Proceedings of the 4th ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 24--32. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26(1):70--93, January 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Monroe. Capturing software architecture design expertise with armani. Technical Report CMU-CS-98-163, CMU School of Computer Science, September 2000.Google ScholarGoogle Scholar
  24. Object Management Group. OMG formal/06-04-01 (CORBA Component Model Specification, v4.0), April 2006.Google ScholarGoogle Scholar
  25. B. C. Pierce. Types and Programming Languages. MIT Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Shaw and D. Garlan. Software Architecture. Prentice Hall, 1996.Google ScholarGoogle Scholar
  27. J. Warmer and A. Kleppe. The Object Constraint Language. Addison Wesley, 2nd edition, August 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. xADL 2.0 schemas. http://www.isr.uci.edu/projects/xarchuci/ext-overview.html.Google ScholarGoogle Scholar

Index Terms

  1. A type-centric framework for specifying heterogeneous, large-scale, component-oriented, architectures

          Comments

          Login options

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

          Sign in

          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!