Using VCL as an Aspect-Oriented Approach to Requirements Modelling

Software systems are becoming larger and more complex. By tackling the modularisation of crosscutting concerns, aspect orientation draws attention to modularity as a means to address the problems of scalability, complexity and evolution in software systems development. Aspect-oriented modelling (AOM) applies aspect-orientation to the construction of models. Most existing AOM approaches are designed without a formal semantics, and use multi-view partial descriptions of behaviour. This paper presents an AOM approach based on the Visual Contract Language (VCL): a visual language for abstract and precise modelling, designed with a formal semantics, and comprising a novel approach to visual behavioural modelling based on design by contract where behavioural descriptions are total. By applying VCL to a large case study of a car-crash crisis management system, the paper demonstrates how modularity of VCL's constructs, at different levels of granularity, help to tackle complexity. In particular, it shows how VCL's package construct and its associated composition mechanisms are key in supporting separation of concerns, coarse-grained problem decomposition and aspect-orientation. The case study's modelling solution has a clear and well-defined modular structure; the backbone of this structure is a collection of packages encapsulating local solutions to concerns.

[1]  Marc Frappier,et al.  Software Specification Methods , 2006, Formal Approaches to Computing and Information Technology FACIT.

[2]  Andrew Fish,et al.  The semantics of augmented constraint diagrams , 2005, J. Vis. Lang. Comput..

[3]  Mehmet Aksit,et al.  Transactions on Aspect-Oriented Software Development IV , 2007, Trans. Aspect-Oriented Software Development IV.

[4]  Ravi S. Sandhu,et al.  Role-Based Access Control Models , 1996, Computer.

[5]  Lodewijk Bergmans,et al.  A graph-based approach to modeling and detecting composition conflicts related to introductions , 2007, AOSD.

[6]  Nuno Amaálio,et al.  Generative frameworks for rigorous model-driven development , 2006 .

[7]  Ashley T. McNeile,et al.  Protocol modelling: A modelling approach that supports reusable behavioural abstractions , 2006, Software & Systems Modeling.

[8]  Robert B. France,et al.  Directives for Composing Aspect-Oriented Design Class Models , 2006, LNCS Trans. Aspect Oriented Softw. Dev..

[9]  Jörg Kienzle,et al.  Crisis Management Systems: A Case Study for Aspect-Oriented Modeling , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

[10]  Susan Stepney,et al.  UML+Z: Augmenting UML with Z , 2010 .

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[13]  Craig Larman,et al.  Applying UML and patterns , 1997 .

[14]  Susan Stepney,et al.  An Object-Oriented Structuring for Z Based on Views , 2005, ZB.

[15]  Gem Stapleton,et al.  Diagrammatic Formal Specification of a Configuration Control Platform , 2009, REFINE@FMWeek.

[16]  Susan Stepney,et al.  Frameworks Based on Templates for Rigorous Model-driven Development , 2007, IFM Doctoral Symposium.

[17]  Ella E. Roubtsova,et al.  CSP parallel composition of aspect models , 2008, AOM@AOSD.

[18]  Gregor Engels,et al.  Executable visual contracts , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[19]  João Araújo,et al.  Scenario modelling with aspects , 2004, IEE Proc. Softw..

[20]  Reiko Heckel,et al.  Model-driven development of reactive information systems: from graph transformation rules to JML contracts , 2007, International Journal on Software Tools for Technology Transfer.

[21]  Herbert A. Simon,et al.  Why a Diagram is (Sometimes) Worth Ten Thousand Words , 1987, Cogn. Sci..

[22]  R. France,et al.  Aspect-oriented approach to early design modelling , 2004, IEE Proc. Softw..

[23]  Steve A. Schneider,et al.  ZB 2005: Formal Specification and Development in Z and B, 4th International Conference of B and Z Users, Guildford, UK, April 13-15, 2005, Proceedings , 2005, ZB.

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

[25]  Pierre Kelsen,et al.  Specifying Structural Properties and Their Constraints Formally, Visually and Modularly Using VCL , 2010, BMMDS/EMMSAD.

[26]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[27]  Karsten Ehrig,et al.  Model Transformation From VisualOCL to OCL Using Graph Transformation , 2006, Electron. Notes Theor. Comput. Sci..

[28]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[29]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[30]  Susan Stepney,et al.  Formal Proof from UML Models , 2004, ICFEM.

[31]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[32]  Pierre Kelsen,et al.  VCL, a Visual Language for Modelling Software Systems Formally , 2010, Diagrams.

[33]  Reiko Heckel,et al.  Model-Driven Monitoring: An Application of Graph Transformation for Design by Contract , 2006, ICGT.