Composite. It simplifies the implementation of
complex systems by applying hierarchically a single
structural pattern. Also it simplifies the development
(and understanding) of both functional and control
aspects by decoupling them from each other. It
allows control or diagnosis services policies to be
changed without affecting the basic functionality.
A quality based design requires a measurement
instrument that must be defined by a taxonomy for
quality attributes, which is organized with respect to
three main elements: (1) The priority in a quality
attributes list. The presence of this element in the
taxonomy is necessary, due to the costs required by
an analysis method at the architectural level. (2)
Architecture views which are relevant for that
quality attribute; (3) Appropriate methods to be
applied for quality attribute analysis.
Quality attributes may be classified in essential,
very desirable, desirable, don’t care and forbidden.
The priorities are established based on the experts'
knowledge and the stakeholders’ objectives. Quality
function deployment (Reed, 1993) is a suitable
technique for showing the relational strengths from
objectives of stakeholders and architectural to
quality attributes. These priorities are important for
the evaluation process, which considers an analysis
method for each quality attribute. At this moment
various architecture analysis methods, such as
scenario-based architecture analysis (SAAM)
(Kazman et al. 1994), architecture tradeoff analysis
(ATAM) (Kazman et al, 1998), architecture level
prediction of software maintenance (ALPSM)
(Bengston, 2004), or reliability analysis using failure
scenario (SARAH) exist. Methods are distinguished
by the evaluation techniques, the number of quality
attributes and their interaction for tradeoff decisions,
the stakeholders’ involvement, and how detailed the
architecture design is at the moment the analysis
(Dobrica and Niemela, 2002).
The measurement instrument is applied to the
RA during analysis. The quality attribute with the
first priority in a list is first analyzed with respect to
the appropriate architecture view and the appropriate
method. Then the next quality attribute from the list
is analyzed in isolation and then considering the
interaction with the first one for finding sensitivity
points and tradeoffs on the services included in the
RA. The process is repeated for all the attributes in
the list. In order to decide on RA core services, this
procedure could also be improved and refined. In
this case special attention should be paid to the
collections of services in the architecture which are
critical for achieving a particular quality attribute, or
architectural elements to which multiple quality
attributes are sensitive. A deeper level of analysis
could influence the decision on the addition of new
services to the RA.
5 CONCLUSIONS
This paper has proposed an approach for a RA
development for complex ES application domains
based on a knowledge of reusable concepts from
software engineering at architectural level. The
approach has an immense potential to improve
embedded control systems development as well as
reduce time and costs in stages such as architecture
design and analysis. However, for this approach’s
success it is necessary to create a cooperation culture
among embedded control system developers. Future
research work is needed to develop systematic ways
of bridging these reusable concepts to a RA,
reducing in this way the cognitive complexity.
ACKNOWLEDGEMENTS
This work is supported by the Romanian research
grant CNCSIS IDEI no. 1238/2008.
REFERENCES
MARTE, 2008, Modeling and Analysis of Real Time and
Embedded, www.omg.org.
Buschmann F., R. Meunier, and H. Rohnert, 1996,
Pattern-Oriented Software Architecture: A System of
Patterns, John Wiley and Sons.
Gamma E., R. Helm, R. Johnson, and J. Vlissides, 1994,
Design Patterns: Elements of Reusable Object-
Oriented Software, Addison Wesley.
Selic B., 1998, Recursive control, in: R. Martin, et al.
(Eds.), Patterns Languages of Program Design,
Addison-Wesley, pp. 147–162.
Kazman R., L. Bass, G. Abowd, M. Webb,1994, SAAM:
A method for analyzing the properties of Software
Architectures, Procs of the ICSE, 81-90.
Kazman R., M. Klein, M. Barbacci, H. Lipson, T.
Longstaff, S. J. Carrière, 1998, The Architecture
Tradeoff Analysis Method, Procs. of the ICECCS.
Reed B.M., D.A. Jacobs, 1993, Quality Function
Deployment For Large Space Systems, National
Aeronautics and Space Administration.
Bengston PO, 2004, Architecture Level Prediction of
Software Maintenence, Procs of the ICSR5.
Dobrica L. and Niemelä E., 2002, A survey on software
architecture analysis methods, IEEE Transactions on
Software Engineering, 28(7), 638-653.
INTEGRATING REUSABLE CONCEPTS INTO A REFERENCE ARCHITECTURE DESIGN OF COMPLEX
EMBEDDED SYSTEMS
237