separation between different crosscutting decisions,
but disagrees in more representation of architectural
decisions at the ADLs level and in the driving of the
MDD process. Jansen et al (Jansen, Jan ven der,
Avgeriou and Hammer, 2007) treated software
architecture as a composition of a set of architectural
decisions. They supported the definition of design
decisions as first-class elements that guide the
architecture construction process. They proposed a
meta-model for maintaining relationships between
design decisions and software architectures with
support tool. They studied the solutions and their
consequences of Athena system related to some
design decisions into Archium meta-model. They
ended up with one solution for each design decision.
They concluded that even though architectural
decisions are associated with the description of
software architecture, they still have considerable
drawbacks. Our approach shares the elements of the
architectural design decisions model, and differs
since software architecture language is our potential
solutions. In (Capila, Nav and Dueňas, 2007) Capila
et al. turned traditional approach of software
architecture as a set of components and connectors
as the result of a set of design decisions. They
proposed a meta-model and a web-based tool able of
recording, maintaining and managing the decisions
tacking during the architecture construction process.
They define an integrated view for evolving design
decisions. Then describe decisions (architectural
products are defined using PDF documents); this
makes it difficult to promote decisions reuse. The
Architecture-Centric Concern Analysis (ACCA)
method (Wang, Sherdil and Madhavju, 2007)
employs a meta-model for capturing architectural
design decisions which are linked to software
requirements and architectural concerns. The authors
identify the causes of architectural concerns and they
assess the wrong or incorrect decisions that are
taken. Zimmermann et al (Zimmerman, Koehler,
Leymann, 2006), positioned architectural decision
models as the control center of model-driven SOA
construction and followed a transformation approach
on the top of decision models. This approach is
decision-centric because it defines the model-driven
devolvement process on top of a decision meta-
model which provide powerful tool support.
Our approach is similar but different. In our
proposal, decision is on top of the systems which
drives the rest of the development process, and play
the central role that defines the structure of our
concrete model architecture, and decides which
architecture models are considered and which are
not. Since decision is in charge of controlling the
development process. That is the reason why our
approach is a DCMDD process. In our approach,
decisions can be seen as a meta-model for the
Decision-Centric Model Driven Developement
(DCMDD) itself. In fact, it shows which of software
architecture languages instantiated for the
representing software systems, which technologies
are instantiated during the decision-centric MDD
process, and in which of them are not. This quality is
missing in the other models.
4 INTEGRATING OF
ARCHITECTURAL DECISIONS
INTO THE MDA FRAMEWORK
We think that the best way to build an architecture is
to quantify the metrics of the decision binding
software architecture design with a given ADL.
Based on the ADL quality characteristics
(extensibility, portability, reusability, etc.), design
decisions give us a best architecture model that
better represent our software architecture needs. In
order to build a system that fulfil the expectations, it
is essential to systematically take decisions and their
rationales into account in architecture design step
and not as an afterthought during transformation.
From this point of view, we can not describe
software systems with an arbitrary ADL but we need
to justify our choice. Of course, architecture is an
abstraction of the structure of a system, provided in
terms of ADL, but what benefits gained by the
software systems? Such ADL answer the
architecture design needs or not? Therefore, we
suggest placing architectural decisions as a control-
centre for designing software architecture systems.
On the other hand, we think that the best way to
integrate software architecture into the MDA
platform is to quantify the decision binding software
architecture integration with a given MDA platform.
Based on the MDA platform quality metrics (facile
integration of software architecture concepts and
supportability), implementation decisions gives us a
best implementation model that better represents our
software implementation needs. From this point of
view, we can not integrate software concepts with an
arbitrary MDA platform but we must justify our
choice.
4.1 Decision Models as a New
Dimension in the Model-driven for
Software Architecture
After different attempts to include architectural
decisions in the model-driven software architecture
ICSOFT 2008 - International Conference on Software and Data Technologies
368