features of Architectural Elements, and the Palette
View, that contains all the tools needed by the
architect to build a COSA architecture.
3.3 Related Works
Our tool (COSABuilder) can be compared with
similar architecture modeling tools, such as
ACMEStudio for Acme
(http://www.cs.cmu.edu/~acme/AcmeStudio/index.h
tml) and ArchStudio for xADL
(http://www.isr.uci.edu/projects/archstudio/index.ht
ml). Indeed, these two applications allow graphical
representation of Architectures and interoperability
of models using standards as XML, and offer
adapted tooling, such as parser and lexical analyzer
for Acme. Comparing to these tools, COSABuilder
has a better GUI, is well interoperable, but lacks
maturity.
4 CONCLUSION AND
PERSPECTIVES
In this article we have presented a multi-paradigm
approach for software architecture based on object-
oriented modeling and architectural description
(COSA: Component-Object based Software
Architecture). It describes systems as a collection of
components that interact with each other using
connectors. In COSA, components and connectors
are defines in configurations, which describes the
topology of the system. We have also showed how
this model can be implemented as a plug-in for
Eclipse. For this, we have created an eCore meta-
model from the original UML COSA meta-model.
This meta-model allows us to model any architecture
that conforms to COSA language specification. It
opens the door to other tools that can take advantage
of architectural models in order to conduct
architectural analysis, transformations, etc. Another
useful feature is the extensibility of this meta-model:
as eCore use the same mechanism of extension that
are used for MOF (i.e. specialization, compositions
etc), we can extend COSA meta-model to include
new features.
Our future work is headed towards two
directions: the ability to create instances of COSA
Architectures to model Applications, and the
mapping of COSA architectures and instances into
existing platforms using model-to-text (i.e. code
generation) and/or model-to-model transformations.
REFERENCES
Booch, G., Jacobson, I., & Rumbaugh, J. (2005). The
Unified Modeling Language Reference Manual,
Second Edition: Pearson Education, Inc.
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., &
Grose, T. J. (2003). Eclipse Modeling Framework (1st
ed.): Addison Wesley Professional.
Damus, C. W. (2007). Implementing Model Integrity in
EMF with MDT OCL. Eclipse.org: Eclipse.org.
Eclipse. (2006). Developer Guide to the GMF Runtime
Framework.
Garlan, D., Cheng, S.-W., & Kompanek, A. J. (2002).
Reconciling the Needs of Architectural Description
with Object-Modeling Notations. Science of Computer
Programming, Vol. 44(Elsevier Press), pp. 23-49.
GMF. (2006). Introduction to the Eclipse Graphical
Modeling Framework. In Eclipse, IBM & Borland
(Eds.). EclipseCon 2006.
Kurtev, I., Bézivin, J., & Aksit, M. (2002). Technological
Spaces: An Initial Appraisal. Paper presented at the
CoopIS, DOA'2002 Federated Conferences, Industrial
track.
Medvidovic, N., Rosenblum, D. S., Redmiles, D. F., &
Robbins, J. E. (2002). Modeling Software
Architectures in the Unified Modeling Language.
ACM Transactions on Software Engineering and
Methodology, Vol. 11(No. 1), 2-53.
Medvidovic, N., & Taylor, R. N. (2000). A Classification
and Comparison Framework for Software Architecture
Description Languages. Software Engineering, 26(1),
70-93.
Moore, B., Dean, D., Gerber, A., Wagenknecht, G., &
Vanderheyden, P. (2004). Eclipse Development using
the Graphical Editing Framework and the Eclipse
Modeling Framework.
Smeda, A., Oussalah, M., & Khammaci, T. (2004).
Improving Component-Based Software Architecture
by Separating Computations from Interactions. Paper
presented at the First International Workshop on
Coordination and Adaptation Techniques for Software
Entities (WCAT'04), Oslo, Norway.
Smeda, A., Oussalah, M., & Khammaci, T. (2005).
MADL: Meta Architecture Description Language.
Paper presented at the SERA 2005, Pleasant,
Michigan, USA.
ICSOFT 2007 - International Conference on Software and Data Technologies
448