Decomposition of UML activity diagrams

In software engineering, UML activity diagrams in general can be useful for a modeling system functional behavior, ranging from the sequences of activities/actions from business processes within an organization or among organizations down to the detail of an algorithm. The stepwise refinement process makes activity diagrams more and more complex. To guarantee the behavior consistency and correctness under refinement, the activity diagrams must be decomposed according to the divide‐and‐conquer strategy. Traditional decomposition methods adopt manual techniques and cannot ensure the independence and completeness of the obtained subdiagrams. In this paper, a novel decomposition approach is proposed, which can automatically divide an activity diagram into atomic and correct subdiagrams (subdiagrams without abnormal behavioral problems) at the same level. When such an activity diagram specifies the whole functional behavior of a software system, the approach can in fact decompose a system into multiple atomic subsystems. Every atomic subsystem is a completely independent system. It may be independently developed, independently tested, and independently deployed. The method facilitates the management, development, and maintenance of a software system. With the help of a prototype tool, a case study demonstrates the decomposition method.

[1]  C. A. R. Hoare,et al.  Communicating sequential processes , 1983, CACM.

[2]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[3]  Takuya Maekawa,et al.  Automatic Update of Indoor Location Fingerprints with Pedestrian Dead Reckoning , 2015, TECS.

[4]  H. Chiu The integrated logistics management system: a framework and case study , 1995 .

[5]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[6]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[7]  MeyerBertrand,et al.  Design by Contract , 1997 .

[8]  dizayn İç dekor Design by Contract , 2010 .

[9]  Mingsong Chen,et al.  Efficient test case generation for validation of UML activity diagrams , 2010, Des. Autom. Embed. Syst..

[10]  Joseph Sifakis,et al.  Scheduler Modeling Based on the Controller Synthesis Paradigm , 2002, Real-Time Systems.

[11]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[12]  Jean-Claude Royer,et al.  Checking Asynchronously Communicating Components Using Symbolic Transition Systems , 2004, CoopIS/DOA/ODBASE.

[13]  Qin Li,et al.  Configuration of Services Based on Virtualization , 2014, 2014 Theoretical Aspects of Software Engineering Conference.

[14]  Rik Eshuis,et al.  Symbolic model checking of UML activity diagrams , 2006, TSEM.

[15]  Zhong Hong,et al.  Configuring business process models , 2013, SOEN.

[16]  ROBIN MILNER,et al.  Edinburgh Research Explorer A Calculus of Mobile Processes, I , 2003 .

[17]  Gordon D. Plotkin,et al.  Configuration structures, event structures and Petri nets , 2009, Theor. Comput. Sci..

[18]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[19]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[20]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[21]  Elvinia Riccobene,et al.  An ASM Semantics for UML Activity Diagrams , 2000, AMAST.

[22]  Harald Störrle,et al.  Structured Nodes in UML 2.0 Activities , 2004, Nord. J. Comput..

[23]  Benjamin Lieberman UML Activity Diagrams : Versatile Roadmaps for Understanding System Behavior , 2001 .

[24]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[25]  Zhong Hong,et al.  Message Dependency-Based Adaptation of Services , 2011, 2011 IEEE Asia-Pacific Services Computing Conference.

[26]  David C. Luckham,et al.  Partial orderings of event sets and their application to prototyping concurrent, timed systems , 1993, J. Syst. Softw..

[27]  Steve A. Schneider,et al.  An Optimization Approach for Effective Formalized fUML Model Checking , 2012, SEFM.

[28]  Rance Cleaveland,et al.  An Extensible Operational Semantics for UML Activity Diagrams , 2015, SEFM.

[29]  Debasis Samanta,et al.  Synthesis of test scenarios using UML activity diagrams , 2009, Software & Systems Modeling.

[30]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[31]  Andreas Rausch,et al.  Defining Domain Specific Operational Semantics for Activity Diagrams , 2012 .

[32]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[33]  Tom De Marco,et al.  Structured Analysis And System Specification , 2015 .

[34]  Tony Spiteri Staines Intuitive Mapping of UML 2 Activity Diagrams into Fundamental Modeling Concept Petri Net Diagrams and Colored Petri Nets , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[35]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[36]  Rik Eshuis,et al.  Tool support for verifying UML activity diagrams , 2004, IEEE Transactions on Software Engineering.

[37]  Gordon D. Plotkin,et al.  Configuration structures , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[38]  Zhong Hong,et al.  Modeling and analyzing mixed communications in service-oriented trustworthy software , 2012, Science China Information Sciences.

[39]  Stephen N. Zilles,et al.  Programming with abstract data types , 1974, SIGPLAN Symposium on Very High Level Languages.

[40]  Qin Li,et al.  Analyzing Event-Based Scheduling in Concurrent Reactive Systems , 2015, ACM Trans. Embed. Comput. Syst..

[41]  Grzegorz Rozenberg,et al.  Elementary Transition Systems , 1990, Theor. Comput. Sci..

[42]  Bernhard Rumpe,et al.  Towards a semantics of activity diagrams with semantic variation points , 2010, MODELS'10.