Abstract
Various redundancy tactics can be modeled at the design stage of safety-critical systems thereby providing a set of fault-tolerance guidelines for subsequent development activities. However, existing approaches usually interweave redundancy tactics into the functional models making them complex and cluttered; the maintenance of such models is time-consuming and error-prone. To address this problem, we provide a modeling approach to separate the redundancy tactics from the base functional models using aspect-oriented modeling. More specifically, the conceptual models of the redundancy tactics and their semantic constraints are first de- fined for deriving the relevant aspects. Subsequently, a UML profile is proposed to specify the tactic aspects followed by mapping these concepts to the corresponding concepts of aspect-oriented modeling based on pre-defined principles. In accordance with our proposed profile, reuse directives are applied to handle the overlap of structural features between redundancy tactics and other kinds of tactic. Based on our tactic aspects and their configured attributes, a weaving algorithm is proposed to associate the tactic aspects with the base functional models. The proposed approach is compared with a traditional tactic modeling approach using two safety-critical systems, revealing that: 1) our approach significantly reduces the number of extra model elements needed in the tactic design stage; 2) our approach can largely avoid the impact of changing of the base functional model as the model evolves.
Similar content being viewed by others
References
Bass L, Clements P, Kazman R. Software architecture in practice. Addison-Wesley Professional, 2003
Hanmer R. Patterns for fault tolerant software. John Wiley & Sons, 2007
Ziani A, Hamid B, Bruel J. A model-driven engineering framework for fault tolerance in dependable embedded systems design. In: Proceedings of the 38th EUROMICRO Conference on Software Engineering and Advanced Applications. 2012, 166–169
Kim S, Kim D K, Lu L, Park S. Quality-driven architecture development using architectural tactics. Journal of Systems and Software, 2009, 82(8): 1211–1231
Harrison N B, Avgeriou P. Incorporating fault tolerance tactics in software architecture patterns. In: Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems. 2008, 9–18
Harrison N B, Avgeriou P. Implementing reliability: the interaction of requirements, tactics and architecture patterns. In: Architecting dependable systems VII, 97–122. Springer, 2010
Khaled C V E O H, Khan M. Addressing non-functional properties in software architecture using ADL. In: Proceedings of the 6th Australasian Workshop on Software and System Architectures (AWSA 2005). 2005, 6–12
Wimmer M, Schauerhuber A, Kappel G, Retschitzegger W, Schwinger W, Kapsammer E. A survey on UML-based aspect-oriented design modeling. ACM Computing Surveys, 2011, 43(4): 1–33
Pinto M, Fuentes L. Modeling quality attributes with aspect-oriented architectural templates. Journal of Universal Computer Science, 2011, 17(5): 639–669
Seperation of Concerns. http://en.wikipedia.org/wiki/Separation_of_concerns
Ali S, Briand C L, Hemmati H. Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems. Systems and Software Modeling, 2012, 11(4): 633–670
Cross-cutting concern. http://en.wikipedia.org/wiki/Cross-cutting_concern
Zhang T, Zhang Y, Yu X F, Wang L Z, Li X D. MDA based design patterns modeling and model transformation. Journal of Software, 2008, 19(9): 2203–2217
Pawlak R, Seinturier L, Duchien L, Martelli L, Legond-Aubry F, Florin G. Aspect-oriented software development with Java aspect components. Aspect-Oriented Software Development, 2005, 343-369
EyeOCL. http://www.bm1software.com/eos/
MagicDraw. www.nomagic.com
Muller P-A, Fleurey F, Jézéquel J M. Weaving executability into object-oriented meta-languages. Lecture Notes in Computer Science, 2005, 264-278
Xu D, Xu W, Nygard K. A state-based approach to testing aspectoriented programs. In: Proceedings of the 17th International Conference on Software Engineering and Knowledge Engineering. 2006, 180–189
Stein D, Hanenberg S, Unl R. Designing aspect-oriented crosscutting in UML. In: Proceedings of the 1st International Workshop on Aspect- Oriented Modeling with UML. 2002, 1–6
Integrated System Model. http://www.aadl.info/aadl/currentsite/
Architecture Analysis & Design Language. http://www.aadl.info/
Mylopoulos J. Structured analysis and design technique. Conceptual Modeling III, 2008, 1–13
Qiu X, Zhang L. Providing support for Specifying Redundancy Tactics Using Aspect-Oriented Modeling. In: Proceedings of the 13th International Conference on Quality Software. 2013, 183–186
Object Constraint Language, Version 2.0. http://www.omg.org/spec/OCL/2.0/.
Qiu X, Fan Z, Zhang L. An Architecture modeling method for describing redundancy tactics of large-scale and software-intensive systems. SEI-BUAA Technical Report 2013-2(V.1). http://www.sei.buaa.edu.cn/english/a/publication/2013/0323/32.html
Kienzle J, Abed W A, Klein J. Aspect-oriented multi-view modeling, In: Proceedings of the 8th International Conference on Aspect Oriented Software Development, 2009, 87–98
IBM Rational Software Architect. http://www.ibm.com/developerworks/cn/downloads/r/architect/
Zhiqiang F, Yue T, Zhang L. An architecture modeling methodology for ship command and control systems. SEI-BUAA Technical Report 2012-5(V.1). http://www.sei.buaa.edu.cn/english/a/publication/2013/0315/30.html
R. Allen. A formal approach to software architecture. PhD Thesis, Carnegie Mellon University, 1997
Xu L H, Ziv H, Alspaugh T A, Richardson D. An architectural pattern for non-functional dependability requirements. Journal of Systems and Software, 2006, 79(10):1370–1378
Ray I, France R, Li N, Georg G. An aspect-based approach to modeling access control concerns, Information and Software Technology, 2004, 46(9):575–587
Loiret F, Rouvoy R, Seinturier L, Romero D, Senechal K, Plsek A. An aspect-oriented framework for weaving domain-specific concerns into component-based systems. Journal of Universal Computer Science, 2011, 17(5): 742–776
France R, Fleurey F, Reddy R. Providing support for model composition in metamodels. In: Proceedings of the 11th International EDOC Conference. 2007, 15–19
Cottenier T, Berg A, Elrad T. The Motorola WEAVR: model weaving in a large industrial context. In: Proceedings of the 6th International Conference on Aspect-Oriented Software Development. 2006, 1–10
Author information
Authors and Affiliations
Corresponding author
Additional information
Xiang Qiu received his BE in computer science and technology from Beihang University, China in 2008. He is now a PhD candidate of the School of Computer Science and Engineering, Beihang University, China. His major field of study includes software architecturemodeling, and system reliability and analysis.
Li Zhang received her BS, MS, and PhD from the School of Computer Science and Engineering, Beihang University, China in 1989, 1992, and 1996, respectively. She is now a professor in the School of Computer Science and Engineering, Beihang University, China. She is a committee member of Software Engineering in China Computer Federation (CCF), committee member of education in CCF, and a committee member of computer applications in the Chinese Society of Astronautics (CSA). She is interested in software engineering, software architecture modeling, and system reliability analysis.
Rights and permissions
About this article
Cite this article
Qiu, X., Zhang, L. Specifying redundancy tactics as crosscutting concerns using aspect-oriented modeling. Front. Comput. Sci. 8, 977–995 (2014). https://doi.org/10.1007/s11704-014-3390-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-014-3390-5