
 
architecture model is an instance of the metamodel 
defined in the above level in the metamodeling 
hierarchy. 
 
Meta-architecture level (A
2
) defines the language 
or the notation used to describe architectures at A
1
 
level. Meta-architecture is also used to modify or 
adapt the description language. All operations 
undertaken at this level are always in conformance 
with the top level of the pyramid. 
 
Meta meta-architecture (A
3
)
 
describes concepts 
and elements used to define any new architecture 
description language or new notation. In previous 
work we have defined meta meta-architecture model 
called MADL
2
 (Smeda, 2005). So, C3 metamodel is 
defined in conformance with MADL. To connect 
each architectural element instance to its type at the 
above level we define the following connector:  
 
Instance-Of Connector (IOC) is used to establish 
connection between element instances and their 
classifier defined in the above level.  Figure 9 
illustrates the connections between all components 
instances used at the client-server application (A
0
) 
and their component types at the architecture level 
(A
1
) and the connections between all component 
types at (A
1
) level with the C3 meta-component. 
Those connections are realised using Instance-Of 
connectors (IOC).  
 
 
Instance-Of 
C3 Meta 
Component 
Client  
IOC 
DataBase  
Connection 
Manager   
IOC 
IOC 
IOC 
CL2  
DB1 
CM1 
CL1 
CL3  
Meta 
Architecture 
(A
2
) 
Architecture 
(A
1
) 
Instance 
(A
0
) 
 
Figure 9: Internal view of IOC connector. 
4 CONCLUSIONS 
In this work we have defined metamodel called C3 
to describe software architecture and to reason about 
from different perspective views. The core elements 
of C3 are components, connectors and 
configurations. Elements are assembled using their 
                                                 
2
 Meta Architecture Description Language 
interfaces. Syntactic and semantic compatibility are 
carried out using respectively interfaces-matching 
and protocols-matching. In this metamodel we 
mainly use structural hierarchy to describe the 
structural decomposition of the system, behaviour 
hierarchy to describe the behaviour decomposition, 
conceptual hierarchy to describe elements type 
libraries. Finally, we use the metamodeling 
hierarchy to show how we can modify the 
metamodel C3 and how to use it.  Each hierarchy is 
supported and tooled by explicit mechanisms to 
provide the different form of connections. Contrary 
to the usual ADLs, which define only the attachment 
connectors, in C3 we define five types of connectors 
to deal with different connection forms. Structural 
and behavioural hierarchies use CDC, AC, and ECC 
connectors. Conceptual hierarchy uses SGC 
connector while metamodeling hierarchy uses the 
IOC connector.  
REFERENCES 
Allen, R.J., 1997. A Formal Approach to Software 
Architecture.  PhD Thesis. School of Computer 
Science, Carnegie Mellon University.  
Amirat, A., Oussalah, M., Khammaci, T., 2007. Towards 
an Approach for Building Reliable Architectures. In 
Proceeding of IEEE IRI’07. Las Vegas, Nevada, USA, 
pp. 467-472. 
Frakes, W. B., Kang, K., 2005. Software Reuse Research: 
Status and Future. IEEE Transactions on Software 
Engineering. vol.31 n.7, pp.529-536. 
Garlan, D., Monroe, R.T., Wile, D., 2000. Acme: 
Architectural Description Component-Based Systems, 
Foundations of Component-Based Systems. 
Cambridge University Press, pp. 47-68. 
Lanoix, A., Hatebur, D., Heisel, M., Souquières, J., 2007. 
Enhancing Dependability of Component-Based 
Systems. Ada-Europe’07, pp. 41-54. 
Matevska-Meyer, J., Hasselbring, W., Reussner, R., 2004. 
Software architecture description supporting 
component deployment and system runtime 
reconfiguration. WCOP’04, Oslo.  
Medvidovic, N., Dashofy, E., Taylor, R.N., 2007. Moving 
Architectural Description from Under the Technology 
Lamppost. Information and Software Technology. pp. 
12-31. Vol. 49, No. 1. 
OMG, 2007. Unified Modeling Language: Infrastructure. 
from http://www.omg.org/docs/formal/07-02-06.pdf. 
Pinto, M., Fluentes, L., Troya, M., 2005. A Dynamic 
Component and Aspect-Oriented Platform. The 
Computer Journal. Vol.48 No. 4, pp. 401-420. 
Smeda, A., Oussalah, M., Khammaci, T., 2005. MADL: 
Meta Architecture Description Language. 3
rd
 ACIS 
International Conference  SERA’05. Pleasant, 
Michigan, USA, pp.152-159. 
ICEIS 2008 - International Conference on Enterprise Information Systems
212