Extending statecharts to model system interactions
Tóm tắt
Statecharts are diagrams comprised of visual elements that can improve the modeling of reactive system behaviors. They extend conventional state diagrams with the notions of hierarchy, concurrency and communication. However, when statecharts are considered to support the modeling of system interactions, e.g., in Systems of Systems (SoS), they lack the notions of multiplicity (of systems), and interactions and parallelism (among systems). To solve these problems, this paper proposes extensions to statecharts. First, a notation to represent a set of orthogonal states, similar in their structures but belonging to different systems, like a pool of telephone systems, is proposed. Second, the concept of communication among parallel states is extended to also represent system interactions, i.e., the relationships among orthogonal systems by means of proper interaction mechanisms like event broadcast. The proposed extensions to statecharts are symbolic notations that result from an analogy with multi-layer Printed Circuit Boards (PCB). Systems are modeled as concurrent layers that can interact through circuit holes. The resulting diagrams are named pcb-statecharts. Skype-like systems are used to exemplify the modeling of system interactions. They are modeled as concurrent systems disposed in different layers that interact to enable conference calls. A discussion about the use of this notation to model systems of systems is also presented. The main contribution of this paper is giving to system engineers additional support to model systems interactions. Multiple interacting systems can be designed with separation of concerns. Different viewpoints enable the modeling of these systems as both independent systems and members of a whole. The resulting diagrams improve the notions of multiplicity of systems, and concurrency and parallelism among systems. Additionally, the proposed symbolic notation enables the building of diagrams without the need of physically connecting related entities in the model.
Tài liệu tham khảo
Boardman, JT, Sauser BJ (2006) System of systems - the meaning of of In: Proc. of the 8th Inter. Symposium on service-Oriented System Engineering, 1–6.. IEEE, Los Alamitos, CA, USA.
Brownsword, L, Fisher D, Morris EJ, Smith J, Kirwan P (2006) System-of-systems navigator: An approach for managing system-of-systems interoperability. Technical Note TN-019, CMU/SEI: 1–39. Available: http://www.sei.cmu.edu/reports/06tn019.pdf.
Eckardt, T, Heinzemann C, Henkler S, Hirsch M, Priesterjahn C, Schäfer W (2013) Modeling and verifying dynamic communication structures based on graph transformations. Comput Sci- Res Dev 28(1): 3–22.
Erl, T (2008) Sevice-oriented Architecture: Concepts, Techonology, and Design. Prentice Hall, Upper Saddle River, New Jersey, USA.
Fisher, J, Henzinger TA, Nickovic D, Piterman N, Singh AV, Vardi MY (2011) Dynamic reactive modules In: CONCUR’11 - Concurrency Theory Conference, 404–418.. Springer Verlag, Berlin Heidelberg.
Glinz, M (2002) Statecharts for requirements specification - as simple as possible, as rich as needed In: Proc. ICSE 2002 Int. Workshop on Scenarios and State Machines: Models, Algorithms and Tools, 1–5.. ACM, New York, NY, USA.
Harel, D (1987) Statecharts: A visual formalism for complex systems. J Sci Comput Program 8(3): 231–74.
Harel, D (1988) On visual formalism. Commun ACM 31(5): 514–30.
Harel, D, Kahana C (1992) On statecharts with overlapping. ACM Trans Softw Eng Methodol 1(4): 399–421.
Hirsch, M, Henkler S, Giese H (2008) Modeling collaborations with dynamic structural adaptation in mechatronic UML In: Proceedings of the 2008 International Workshop on Software Engineering for Adaptive and Self-managing Systems. SEAMS ’08, 33–40.. ACM, New York, NY, USA.
Khandpur, R (2005) Printed Circuit Boards: Design, Fabricating, and Assembly. McGraw-Hill, New York, NY, USA. 704p.
Kindler, E (2012) Modelling local and global behaviour: Petri nets and event coordination. In: Jensen K, van der Aalst W, Ajmone Marsan M, Franceschinis G, Kleijn J, Kristensen L (eds)Transactions on Petri Nets and Other Models of Concurrency VI. Lecture Notes in Computer Science, 71–93.. Springer, Berlin.
Kotov, V (1997) System of systems as communicating structures. Technical report, HP LabsHPL-97-124: 1–15. Available: http://www.hpl.hp.com/techreports/97/HPL-97-124.pdf.
Lewis, G, Morris E, Simanta S, Smith D (2011) Service orientation and systems of systems. IEEE Soft 28(1): 158–63.
Leveson, NG, Heimdahl MPE, Hildreth H, Reese JD (1994) Requirements specification for process-control systems. IEEE Trans. on Software Engineering 20(9): 684–707.
Maier, MW (1998) Architecting principles for systems-of-systems. J Int Council Syst Eng 1(4): 267–84.
Malakuti, S (2014) Detecting emergent interference in integration of multiple self-adaptive systems In: Proceedings of the 2014 European Conference on Software Architecture Workshops. ECSAW ’14, 24–1247. http://doi.acm.org/10.1145/2642803.2642826.
Mikk, E, Lakhnech Y, Petersohn C, Siegel M (1997) On formal semantics of statecharts as supported by STATEMATE In: Second BCS-FACS Northern Formal Methods Workshop, 1–14.. Springer-Verlag, Berlin.
Morris, EJ, Levine L, Place PR, Plakos D, Meyers BC (2004) System of systems interoperability. Technical Report TR-004, CMU/SEI: 1–67. Available: http://resources.sei.cmu.edu/asset_files/TechnicalReport/2004_005_001_14375.pdf.
OMG (2012) OMG Object Constraint Language (OCL), v2.3.1. Online. Available: http://www.omg.org/spec/OCL/ - last access in 10/06/2014.
Ramos, MA (2014) Bridging software engineering gaps towards system of systems development. PhD thesis, ICMC-University of Sao Paulo, Brazil. Advisor: Profa. Dra. Rosana T. V. Braga, 134 pgs. Available at: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-13082014-103931.
Tian, JZ, Wang JZ, Ding HQ, Liang W (2011) Visualizing and Modeling Interaction Relationships Among Entities. IBM Corp. Patent No. US 7930678 B2. USA. http://www.google.es/patents/US7930678.
von deer Beeck, M (1994) A comparison of statecharts variants. LNCS: Formal Techniques in Real Time and Fault Tolerant Systems863(1): 128–148. Springer-Verlag, New York.
von der Beeck, M (2006) A formal semantics of UML-RT. In: Nierstrasz O, Whittle J, Harel D, Reggio G (eds)MoDELS. Lecture Notes in Computer Science, 768–782.. Springer, Berlin.
Zave, P (1985) A distributed alternative to finite-state-machine specifications. ACM Trans Program Lang Syst 7(1): 10–36.
Zave, P, Jackson M (1998) A component-based approach to telecommunication software. IEEE Soft 15(5): 70–78.
