×

A type-centric framework for specifying heterogeneous, large-scale, component-oriented, architectures. (English) Zbl 1211.68072

Summary: Maintaining integrity and consistency, and effecting conformance in architectures of large-scale systems require 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 associated with them 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 the 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.

MSC:

68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.)
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] Clements, P.; Northrop, L.: Software product lines, (2002)
[2] Dashofy, E. M.; Van Der Hoek, A.; Taylor, R. N.: An infrastructure for the rapid development of XML-based architecture description languages, , 266-276 (2002)
[3] Garlan, D.; Monroe, R.; Wile, D.: ACME: an architecture description interchange language, , 169-183 (1997)
[4] R. Monroe, Capturing software architecture design expertise with armani, Tech. Rep. CMU-CS-98-163, CMU School of Computer Science, 2000
[5] Warmer, J.; Kleppe, A.: The object constraint language, (2003) · Zbl 1042.68757
[6] Cadena web site, http://cadena.projects.cis.ksu.edu/
[7] Gay, D.; Levis, P.; Von Behren, R.; Welsh, M.; Brewer, E.; Culler, D.: The nesc language: A holistic approach to networked embedded systems, , 1-11 (2003)
[8] Lau, K. -K.; Wang, Z.: A survey of software component models, IEEE transactions on software engineering 33, No. 10, 709-724 (2007)
[9] Medvidovic, N.; Taylor, R. N.: A classification and comparison framework for software architecture description languages, IEEE transactions on software engineering 26, No. 1, 70-93 (2000)
[10] Á. Lédeczi, M. Maróti, A. Bakay, G. Karsai, J. Garrett, C.Y. Thomason, G.G. Nordstrom, P. Völgyesi, The generic modeling environment, in: Proceedings of the Workshop on Intelligent Signal Processing, 2001
[11] Pierce, B. C.: Types and programming languages, (2002) · Zbl 0995.68018
[12] D. Gay, P. Levis, D. Culler, E. Brewer, nesC 1.1 language reference manual. http://nescc.sourceforge.net, May 2003
[13] Ogden, C. K.; Richards, I. A.: The meaning of meaning, (1946)
[14] G. Jung, Structured interrelations of component architectures, Ph.D. Thesis, Kansas State University, Manhattan, Kansas, appears in Collection: All K-State Electronic Theses, Dissertations, and Reports. http://hdl.handle.net/2097/485, December 2007
[15] Childs, A.; Greenwald, J.; Jung, G.; Hoosier, M.; Hatcliff, J.: CALM and cadena: metamodeling for component-based product-line development, Computer 39, No. 2, 42-50 (2006)
[16] International Organization for Standardization, Information technology–open systems interconnection–basic reference model: The basic model, ISO/IEC 7498-1, 1994
[17] J. Hatcliff, W. Deng, M. Dwyer, G. Jung, 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), vol. 841, IEEE Computer Society Press, 2003, pp. 160–173
[18] N. Medvidovic, D.S. Rosenblum, R.N. Taylor, A type theory for software architectures, Technical Report UCI-ICS-98-14, Department of Information and Computer Science, University of California, Irvine, Febuary 1998
[19] Abowd, G.; Allen, R.; Garlan, D.: Using style to understand descriptions of software architecture, , 9-20 (1993)
[20] Shaw, M.; Garlan, D.: Software architecture, (1996) · Zbl 0948.68506
[21] Di Nitto, E.; Rosenblum, D. S.: Exploiting adls to specify architectural styles induced by middleware infrastructures, , 13-22 (1999)
[22] A. Kompanek, Modeling a system with ACME. http://www.cs.cmu.edu/ acme
[23] xADL 2.0 schemas, http://www.isr.uci.edu/projects/xarchuci/ext-overview.html
[24] Karsai, G.; Maróti, M.; Lédeczi, Á.; Gray, J.; Sztipanovits, J.: Composition and cloning in modeling and meta-modeling, IEEE transactions on control systems technology 12, No. 2, 263-278 (2004)
[25] Gokhale, A.; Balasubramanian, K.; Lu, T.: Cosmic: addressing crosscutting deployment and configuration concerns of distributed real-time and embedded systems, , 218-219 (2004)
[26] Á. Lédeczi, G. Nordstrom, G. Karsai, P. Völgyesi, M. Maróti, On metamodel composition, in: Proceedings of the 2001 IEEE International Conference on Control Applications, CCA, 2001, pp. 756–760
[27] G. Edwards, C. Seo, N. Medvidovic, Construction of analytic frameworks for component-based architectures, in: Proceedings of the 2007 Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS), 2007, pp. 147–160
[28] P.H. Feiler, Modeling of system families, Tech. Rep. CMU/SEI-2007-TN-047, Software Engineering Institute, Carnegie Mellon University, 2007
[29] P.H. Feiler, D.P. Gluch, J.J. Hudak, The architecture analysis & design language (AADL): An introduction, Tech. Rep. CMU/SEI-2006-TN-011, Software Engineering Institute, Carnegie Mellon University, 2004
[30] Feiler, P. H.; Lewis, B.; Vestal, S.; Colbert, E.: An overview of the SAE architecture analysis and design language (AADL) standard: A basis for model-based architecture-driven embedded systems engineering, IFIP international federation for information processing 176, 3-15 (2005)
[31] Binns, P.; Englehart, M.; Jackson, M.; Vestal, S.: Domain-specific software architectures for guidance, navigation and control, International journal of software engineering and knowledge engineering 6, No. 2, 201-227 (1996)
[32] Medvidovic, N.; Oreizy, P.; Robbins, J. E.; Taylor, R. N.: Using object-oriented typing to support architectural design in the c2 style, , 24-32 (1996)
[33] Allen, R.; Garlan, D.: A formal basis for architectural connection, ACM transactions on software engineering and methodology 6, No. 3, 213-249 (1997)
[34] Magee, J.; Kramer, J.: Dynamic structure in software architectures, , 3-14 (1996)
[35] Blair, G.; Coupaye, T.; Stefani, J. -B.: Component-based architecture: the fractal initiative, Annals of telecommunications 64, No. 1–2, 1-4 (2009)
[36] Bruneton, E.; Coupaye, T.; Leclercq, M.; Quéma, V.; Stefani, J. -B.: The fractal component model and its support in Java, Software–practice and experience 36, No. 11–12, 1257-1284 (2006)
[37] Léger, M.; Ledoux, T.; Coupaye, T.: Reliable dynamic reconfigurations in the fractal component model, (2007)
[38] G. Barber, Service component architecture. http://www.osoa.org/display/Main/Service+Component+Architecture+Home
[39] Matena, V.; Krishnan, S.; Demichiel, L.; Stearns, B.: Applying enterprise Java beans, (2003)
[40] OMG formal/06-04-01 (CORBA component model specification, v4.0), 2006
[41] Object management group. meta object facility, http://www.omg.org/mof/
[42] Staníček, Z.; Procházka, F.: The diamond tool: A way of effective development and utilization of knowledge, Kybernetika 40, No. 3, 365-379 (2004) · Zbl 1249.68239
[43] Barr, M.; Wells, C.: Category theory for computing science, International series in computer science (1990) · Zbl 0714.18001
[44] Margaria, T.; Steffen, B.: Service engineering: linking business and IT, IEEE computer 39, No. 10, 45-55 (2006)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.