DuSE-MT: From Design Spaces to Automated ... - WordPress.com

2 downloads 2295 Views 276KB Size Report
DuSE-MT: From Design Spaces to Automated Software Architecture Design. Sandro S. Andrade† § [email protected]. § GSORT Distributed Systems Group.
DuSE-MT: From Design Spaces to Automated Software Architecture Design Sandro S. Andrade† §

Raimundo Jos´e de A. Macˆedo†

[email protected] §

GSORT Distributed Systems Group Federal Institute of Education, Science and Technology of Bahia (IFBa) 40110-150. Salvador-Ba. Brazil

[email protected]

Distributed Systems Laboratory (LaSiD) Department of Computer Science Federal University of Bahia (UFBa) 40170-110. Salvador-Ba. Brazil

Abstract The design of effective software architectures which fulfill complex and conflicting demands for stringent quality attributes is usually a challenging task. Despite the availability of some forms of structured architectural knowledge, like styles catalogs and reference architectures, effective tool support for systematic representation of domain-specific design knowledge and well-informed trade-off decisions is still missing. This extended abstract presents DuSE-MT: a supporting tool for the DuSE automated architecture design process. Major DuSE-MT features currently available include: i) the definition of domain-specific architecture design spaces; ii) the definition of related quality evaluation metrics; and iii) a multi-objective optimization mechanism which elicits a set of Pareto-optimal candidate architectures and supports wellinformed trade-off analysis. DuSE-MT has been fully implemented in C++/Qt and a case study regarding the design of architectural self-adaptation capabilities in a cloud-based media encoding service has been undertaken. Keywords: software architecture design, self-adaptive systems, feedback control, model-driven software engineering.

1. Introduction The well-orchestrated use of refined experience, good aesthetics, and right balance when making trade-off decisions is imperative if we are to design effective architectures for complex software-intensive systems. Over the past years, software engineering researchers have been urged to drive their efforts towards an engineering discipline for software [4], which mostly involves the prospection of theories and organization of knowledge for routine use [3]. For that purpose, the development of supporting tools which systematically captures highly specialized design This research is partially supported by grant 006/2012/PRPGI from the IFBa’s Research and Innovation Supporting Program.

Figure 1. DuSE architecture design process.

knowledge, supports effective solution space exploration, and helps when making well-informed trade-off decisions is mandatory. Our approach – DuSE1 [1, 2] – integrates model-based software engineering and search-based architecture design mechanisms to address the aforementioned aspects. DuSE-MT, the tool we present here, is intended to fully support the automated design process provided by DuSE and depicted in Figure 1. DuSE defines a domain-independent metamodel (language) for design spaces representation which can be instantiated in order to specify degrees of freedom for specific application domains. Currently, a DuSE instance representing a design space for architecting self-adaptive systems is available (SA:DuSE). 1 http://duse.sf.net

Figure 2. DuSE-MT: the DuSE supporting tool. Our approach assumes an initial architectural model is fed into DuSE-MT (shown in Figure 2), which then enables the automated redesign of such initial model when navigating through the design space. Each resulting candidate architecture can be evaluated according with the defined metrics and usually denote a solution favoring a specific quality attribute. In order to tackle the issue of navigating through huge design spaces, a search-based mechanism based on evolutionary multi-objective optimization has been implemented. The outcome of such mechanism is a set of Pareto-optimal candidate architectures: solutions for which it is impossible to make any one architecture better off without make at least another one worse.

Figure 3. DuSE-MT C&C architectural view.

3. Conclusion and Future Work This extended abstract presents an overview of DuSE-MT: a supporting tool for automated architectural design. We have presented its major requirements, current available features, and some structural aspects of its architecture. Future work include the implementation of effective metric visualization, sharing DuSE artifacts over a network, and mapping from design space navigation traces to higher level design theories.

2. DuSE-MT Requirements and Architecture

References

From its outset, DuSE-MT has been aimed to extend basic modeling capabilities towards a higher level representation of design expertize and enhanced elicitation of architectural trade-offs. With this in mind, the core foundations of DuSEMT were designed to provide a metamodel-agnostic platform for defining architecture design spaces (representing alternative solutions in a given application domain) and quality evaluation metrics. Figure 3 presents a simplified Component&Connector architectural view of DuSE-MT. DuSE builds upon Qt2 and Qt Modeling Framework3 technologies, responsible for basic UML model manipulation. A plugin-based architecture easily supports the addition of new design space instances (DuSE instance plugins) and provides the underlying mechanism for solution space exploration and optimization. DuSE and DuSE-MT have currently been applied to the particular domain of self-adaptive systems. In [2] we provide details about such specific instance of DuSE and the findings of using our approach when designing a self-adaptive cloudbased media encoding service.

[1] Sandro S. Andrade and Raimundo Jos´e de A. Macˆedo. Architectural design spaces for feedback control concerns in self-adaptive systems. In Proceedings of the 25th International Conference on Software Engineering and Knowledge Engineering, SEKE 2013, New York, NY, USA, 2013. ACM.

2 http://www.qt-project.org 3 http://qt-project.org/wiki/QtModeling

[2] Sandro S. Andrade and Raimundo Jos´e de A. Macˆedo. A search-based approach for architectural design of feedback control concerns in self-adaptive systems, May 2013. Technical Report. Available at http://dusearchitects.files.wordpress.com/2013/05/dusetechrep.pdf. [3] Muhammad Ali Babar, Torgeir Dingsyr, Patricia Lago, and Hans van Vliet. Software Architecture Knowledge Management: Theory and Practice. Springer Publishing Company, Incorporated, 1st edition, 2009. [4] Mary Shaw. Research toward an engineering discipline for software. In Proceedings of the FSE/SDP workshop on Future of software engineering research, FoSER ’10, pages 337–342, New York, NY, USA, 2010. ACM.

Suggest Documents