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