write mapping rules between pattern constructs and
the current model elements.
Coupled with the history mechanism, design or
technological alternatives can be explored and docu-
mented. Though, a proper graphical visualization fa-
cility should be provided to efficiently identify deltas
between models and to navigate easily between revi-
sions. This way, our framework can be used for soft-
ware configuration management where patches and
redeployment rules are expressed by model transfor-
mations.
Also, a couple of relations between design deci-
sions should be taken into account, like conflicts be-
tween requirements or other natures of impacts, in or-
der to enhance the decision-making process for de-
signers. Furthermore, we should evaluate how a struc-
tured formalism can be integrated into the require-
ment models to define constraints for validation and
simulation purposes.
At current point of development, models are ex-
pressed in textual syntax. Even if such representation
is very expressive, the analysis and communication of
textual models is often less natural for humans. The
underlying Xtext framework is compatible with EMF-
based graphical tools and allows to synchronize both
representations on the same model.
Last, a larger case study should be conducted in
order to evaluate if the transformation-centric method
coupled to a task-oriented approach scales to indus-
trial cases.
7 CONCLUSIONS AND FUTURE
WORK
We introduced a transformation-centric design frame-
work based on Domain Specific Languages. Archi-
tectural constructs are explicitly related to require-
ment specifications and implemented iteratively in the
architecture with model transformations. Every deci-
sion is recorded in the requirement model with its de-
sign rationale. A tool is provided for textual models,
as well as a transformation engine. We conducted a
comparative case study to partially validate our pro-
posal and evaluate its benefits.
In the future, we intend to add behavioral speci-
fications to component types, interfaces and commu-
nication protocols. As a first step, tag-based proper-
ties and logical constraints facilities will be added to
further specify modeling elements. With behavioral
properties, designers will be able to ensure a transfor-
mation does not break behavioral aspects of an exist-
ing architecture.
A Java code generator is under development. At
present time, Java classes and interfaces are generated
from DAD models with method signatures. Primitive
types can be mapped to existing Java types or gen-
erated as separate classes. We intend to maintain a
bi-directional link between architectural models and
Java code for co-evolution purpose.
A visual representation of the history tree with
model deltas should be integrated in the tool to facil-
itate further references to transformations outcomes,
design alternatives and system evolutions. Ideally, a
final goal would be to synchronize a graphical rep-
resentation on textual architecture models to benefit
from the advantages of both textual and graphical vi-
sualizations.
REFERENCES
Alexander, I. F. and Stevens, R. (2002). Writing Better Re-
quirements. Addison-Wesley.
Bosch, J. and Molin, P. (1999). Software architecture de-
sign: Evaluation and transformation. IEEE Int. Conf.
on the Engineering of Computer-based Systems, pages
4–10.
Clements, P. C. and Bass, L. (2010). Relating business
goals to architecturally significant requirements for
software systems. Technical Report CMU/SEI-2010-
TN-018, Soft. Eng. Institute, Carnegie Mellon Univer-
sity.
de Boer, R. C. and van Vliet, H. (2009). On the similarity
between requirements and architecture. J. Syst. Softw.,
82(3):544 – 550.
Gilson, F. and Englebert, V. (2011a). Rationale, decisions
and alternatives traceability for architecture design. In
Proc. of the 5th European Conf. on Software Architec-
ture, Companion Volume, page 4. ACM.
Gilson, F. and Englebert, V. (2011b). Towards handling
architecture design, variability and evolution with
model transformations. In Proc. of the 5th Work-
shop on Variability Modeling of Software-Intensive
Systems, pages 39–48. ACM.
Guerra, E., Lara, J., Kolovos, D. S., Paige, R. F., and Santos,
O. (2013). Engineering model transformations with
transml. Software & Systems Modeling, 12(3):555–
577.
Hofmeister, C., Kruchten, P., Nord, R. L., Obbink, H.,
Ran, A., and America, P. (2007). A general model
of software architecture design derived from five in-
dustrial approaches. Journal of Systems and Software,
80(1):106 – 126.
Jansen, A., Avgeriou, P., and van der Ven, J. S. (2009). En-
riching software architecture documentation. J. Syst.
Softw., 82:1232–1248.
Jansen, A. and Bosch, J. (2005). Software architecture as
a set of architectural design decisions. In Proc. of
the 5th Working IEEE/IFIP Conf. on Software Archi-
ADomainSpecificLanguageforStepwiseDesignofSoftwareArchitectures
77