Breeze graph grammar: a graph grammar approach for modeling the software architecture of big data‐oriented software systems

Various technologies have been proposed to support the processing of big data. However, such technologies require software architectures not only to adapt to the changes and achieve dynamic evolution but also to be reliable. Most of the architecture description techniques are not able to directly capture the dynamic changes in the definition of the software architecture and cannot analyze or evaluate the system reliability. In this paper, we provide a breeze graph grammar (BGG) to model the software architecture in both static and dynamic aspects and give a BGG reliability model to help supporting software system reliability modeling and evaluation. Our work expands this idea in three directions. We first present the definition of BGG to specify the software architecture and map the system dynamic evolution to BGG transformation rules. Second, a BGG reliability model is proposed in which we add error attributes to the BGG graph for capturing the system error information, and the system error state transition is performed through BGG graph rewriting rules. Then, we study the rules to map the BGG reliability model to a generalized stochastic Petri net (GSPN) model, which can be used for reliability evaluation. Throughout this paper, we use a big data‐based centralized system to demonstrate our approach. The BGG graph rewriting characteristic supports the dynamic change requirements, and the architecture is statically checked through the BGG productions. Moreover, system reliability modeling and evaluation can be achieved through the BGG reliability model by combining GSPN. Copyright © 2014 John Wiley & Sons, Ltd.

[1]  Ernest Koh,et al.  Reliability Block Diagrams , 2006 .

[2]  Michel Wermelinger Towards a chemical model for software architecture reconfiguration , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[3]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[4]  Antonio Bucchiarone,et al.  Self-Repairing systems modeling and verification using AGG , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[5]  Clifton A. Ericson,et al.  Hazard Analysis Techniques for System Safety , 2005 .

[6]  Marco Ajmone Marsan,et al.  Generalized Stochastic Petri Nets: A Definition at the Net Level and Its Implications , 1993, IEEE Trans. Software Eng..

[7]  Jun Kong,et al.  A graph grammar approach to software architecture verification and transformation , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[8]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[9]  Spyros A. Reveliotis,et al.  A generalized stochastic Petri net model for performance analysis and control of capacitated reentrant lines , 2003, IEEE Trans. Robotics Autom..

[10]  Franz-Josef Brandenburg,et al.  On Polynomial Time Graph Grammars , 1988, STACS.

[11]  Genny Tortora,et al.  A predictive parser for visual languages specified by relation grammars , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[12]  Genny Tortora,et al.  Semantics of visual languages , 1994, AVI '94.

[13]  Horst Bunke,et al.  Syntactic Analysis of Context-Free Plex Languages for Pattern Recognition , 1992 .

[14]  Andy Schürr,et al.  Defining and Parsing Visual Languages with Layered Graph Grammars , 1997, J. Vis. Lang. Comput..

[15]  James R. Cordy,et al.  A Syntactic Theory of Software Architecture , 1995, IEEE Trans. Software Eng..

[16]  Dong Yun Reliability Analysis and Assessment Tool for AADL Model , 2011 .

[17]  Linpeng Huang,et al.  BGG: A Graph Grammar Approach for Software Architecture Verification and Reconfiguration , 2013, 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing.

[18]  C. H. Lie,et al.  Fault Tree Analysis, Methods, and Applications ߝ A Review , 1985, IEEE Transactions on Reliability.

[19]  Grzegorz Rozenberg,et al.  Boundary NLC Graph Grammars-Basic Definitions, Normal Forms, and Complexity , 1986, Inf. Control..

[20]  Bharat K. Bhargava,et al.  An Agent-based Optimization Framework for Mobile-Cloud Computing , 2013, J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl..

[21]  Richard N. Taylor,et al.  A highly-extensible, XML-based architecture description language , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[22]  Hausi A. Müller,et al.  CASCON First Decade High Impact Papers , 2010 .

[23]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[24]  Jeff Magee,et al.  Using resemblance to support component reuse and evolution , 2006, SAVCBS '06.

[25]  Jeff Magee,et al.  Evolve: tool support for architecture evolution , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[26]  Flávio Oquendo Formally refining software architectures with π-ARL: a case study , 2004, SOEN.

[27]  Marija Mikic-Rakic,et al.  Mae---a system model and environment for managing architectural evolution , 2004, TSEM.

[28]  Clifton A. Ericson,et al.  Event Tree Analysis , 2005 .

[29]  Karama Kanoun,et al.  A System Dependability Modeling Framework Using AADL and GSPNs , 2006, WADS.

[30]  Peter H. Feiler,et al.  Dependability Modeling with the Architecture Analysis & Design Language (AADL) , 2007 .

[31]  Marco Ajmone Marsan,et al.  A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems , 1984, TOCS.

[32]  Flávio Oquendo Formally modelling software architectures with the UML 2.0 profile for π-ADL , 2006, SOEN.

[33]  Helmut Krcmar,et al.  Big Data , 2014, Wirtschaftsinf..

[34]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.

[35]  Pallapa Venkataram,et al.  Performance Analysis of a Priority based Resource Allocation Scheme in Ubiquitous Networks , 2013, J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl..

[36]  Yi-Bing Lin,et al.  A Novel LIPA Scheme for LTE VoIP Services with Home eNBs , 2013, J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl..

[37]  Zhuzhong Qian,et al.  Towards cost efficient mobile service and information management in ubiquitous environment with cloud resource scheduling , 2014, Int. J. Inf. Manag..

[38]  Reijo Sulonen,et al.  MODELING CONFIGURABLE PRODUCT FAMILIES , 1998 .

[39]  Feng Chen,et al.  ABC/ADL: An ADL Supporting Component Composition , 2002, ICFEM.

[40]  Fan Zhang,et al.  Reliability Analysis and Assessment Tool for AADL Model: Reliability Analysis and Assessment Tool for AADL Model , 2011 .

[41]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[42]  Jiannong Cao,et al.  A Context-sensitive Graph Grammar Formalism for the Specification of Visual Languages , 2001, Comput. J..

[43]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[44]  Xu Hongzhen,et al.  Specification and verification of dynamic evolution of software architectures , 2010, J. Syst. Archit..

[45]  Hany H. Ammar,et al.  Time Scale Decomposition of a Class of Generalized Stochastic Petri Net Models , 1989, IEEE Trans. Software Eng..

[46]  Flávio Oquendo π-ADL: an Architecture Description Language based on the higher-order typed π-calculus for specifying dynamic and mobile software architectures , 2004, SOEN.

[47]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[48]  Kent Wittenburg Earley-style parsing for relational grammars , 1992, Proceedings IEEE Workshop on Visual Languages.

[49]  Ugo Montanari,et al.  Graph grammars and constraint solving for software architecture styles , 1998, ISAW '98.

[50]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[51]  Flávio Oquendo π-Method: a model-driven formal method for architecture-centric software engineering , 2006, SOEN.