Insights on the Use of OCL in Diverse Industrial Applications

The Object Constraint Language (OCL) is a widely accepted language, standardized by OMG, for specifying constraints at various meta levels (e.g., meta-models and models). Despite its wide acceptance, there is a lack of understanding about terminology and purposes for which OCL can be used. In this paper, we aim to reduce this gap and provide guidance for applying OCL in practical contexts and we report our experience of applying OCL for different industrial projects in diverse domains: Communications and Control, Oil and Gas production, Energy Equipment and Services, and Recycling. Based on our experience, first, we unify the commonly used terminology in the literature for applying OCL in different ways for addressing diverse industrial problems. Second, we report the key results of the industrial application of OCL. Finally, we provide guidance to researchers and practitioners for choosing an appropriate meta level and purpose for their specific industrial problem at hand.

[1]  Lionel C. Briand,et al.  Combining Search-Based and Adaptive Random Testing Strategies for Environment Model-Based Testing of Real-Time Embedded Systems , 2012, SSBSE.

[2]  Lionel C. Briand,et al.  Experiences of applying UML/MARTE on three industrial projects , 2012, MODELS'12.

[3]  Achim D. Brucker,et al.  A Specification-Based Test Case Generation Method for UML/OCL , 2010, MoDELS.

[4]  Li Qing,et al.  Test Case Automate Generation from UML Sequence Diagram and OCL Expression , 2007 .

[5]  Jiandong Wang,et al.  Identity-Based Key Issuing Protocol for Ad Hoc Networks , 2007 .

[6]  Ramnivas Laddad,et al.  Aspect-Oriented Programming Will Improve Quality / Aspect-Oriented Programming: the Real Costs? , 2003, IEEE Softw..

[7]  Hüsnü Yenigün,et al.  Testing Software and Systems , 2015, Lecture Notes in Computer Science.

[8]  Bran Selic,et al.  SimPL: A product-line modeling methodology for families of integrated control systems , 2013, Inf. Softw. Technol..

[9]  Lionel C. Briand,et al.  An industrial application of robustness testing using aspect-oriented modeling, UML/MARTE, and Search algorithms , 2011, MODELS'11.

[10]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[11]  Doron Drusinsky Chapter 2 – Statecharts , 2006 .

[12]  Lionel C. Briand,et al.  Environment modeling and simulation for automated testing of soft real-time embedded software , 2013, Software & Systems Modeling.

[13]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[14]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[15]  Lionel C. Briand,et al.  Black-Box System Testing of Real-Time Embedded Systems Using Random and Search-Based Testing , 2010, ICTSS.

[16]  Lionel C. Briand,et al.  Generating Test Data from OCL Constraints with Search Techniques , 2013, IEEE Transactions on Software Engineering.

[17]  Mehrdad Sabetzadeh,et al.  Supporting the verification of compliance to safety standards via model-driven engineering: Approach, tool-support and empirical validation , 2013, Inf. Softw. Technol..

[18]  Lionel C. Briand,et al.  Does aspect-oriented modeling help improve the readability of UML state machines? , 2012, Software & Systems Modeling.

[19]  Lionel C. Briand,et al.  Environment modeling with UML/MARTE to support black-box system testing for real-time embedded systems: methodology and industrial case studies , 2010, MODELS'10.

[20]  Jozef Hooman,et al.  Formalizing UML Models and OCL Constraints in PVS , 2004, SFEDL@ETAPS.

[21]  Doron Drusinsky,et al.  Modeling and verification using UML statecharts - a working guide to reactive system design, runtime monitoring and execution-based model checking , 2006 .

[22]  Manuel Clavel,et al.  Checking Unsatisfiability for OCL Constraints , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[23]  Lionel C. Briand,et al.  Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems , 2011, Software & Systems Modeling.

[24]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..