An experimental investigation of formality in UML-based development

The object constraint language (OCL) was introduced as part of the Unified Modeling Language (UML). Its main purpose is to make UML models more precise and unambiguous by providing a constraint language describing constraints that the UML diagrams alone do not convey, including class invariants, operation contracts, and statechart guard conditions. There is an ongoing debate regarding the usefulness of using OCL in UML-based development, questioning whether the additional effort and formality is worth the benefit. It is argued that natural language may be sufficient, and using OCL may not bring any tangible benefits. This debate is in fact similar to the discussion about the effectiveness of formal methods in software engineering, but in a much more specific context. This paper presents the results of two controlled experiments that investigate the impact of using OCL on three software engineering activities using UML analysis models: detection of model defects through inspections, comprehension of the system logic and functionality, and impact analysis of changes. The results show that, once past an initial learning curve, significant benefits can be obtained by using OCL in combination with UML analysis diagrams to form a precise UML analysis model. But, this result is however conditioned on providing substantial, thorough training to the experiment participants.

[1]  Diane K. Michelson,et al.  Applied Statistics for Engineers and Scientists , 2001, Technometrics.

[2]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..

[3]  Shari Lawrence Pfleeger,et al.  Understanding and improving technology transfer in software engineering , 1999, J. Syst. Softw..

[4]  Hong Sun,et al.  Investigating the use of analysis contracts to improve the testability of object‐oriented code , 2003, Softw. Pract. Exp..

[5]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[6]  Peter B. Henderson Mathematical reasoning in software engineering education , 2003, CACM.

[7]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[8]  Peter M. Chisnall,et al.  Questionnaire Design, Interviewing and Attitude Measurement , 1993 .

[9]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[10]  Tony Clark,et al.  Object Modeling with the OCL: The Rationale behind the Object Constraint Language , 2002 .

[11]  Anthony Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[12]  Sinan Si Alhir The Object Constraint Language (OCL) , 2002 .

[13]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[14]  Dennis Fowler,et al.  None of the above , 2002, NTWK.

[15]  Kangde Yao,et al.  A Brief Guide to the Standard Object Modelling Language , 2000 .

[16]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[17]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[18]  Shari Lawrence Pfleeger,et al.  Investigating the Influence of Formal Methods , 1997, Computer.

[19]  Daniel M. Berry,et al.  Formal Methods: The Very Idea Some Thoughts About Why They Work When They Work , 1998, Monterey Workshop.

[20]  Walter F. Tichy,et al.  Comments on "Formal Methods Application: An Empirical Tale of Software Development" , 2003, IEEE Trans. Software Eng..

[21]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[22]  Bernhard Rumpe,et al.  The Amsterdam Manifesto on OCL , 2014, Object Modeling with the OCL.

[23]  Michael R. Clarkson,et al.  Formal Methods Application: An Empirical Tale of Software Development , 2002, IEEE Trans. Software Eng..

[24]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[25]  Dag I. K. Sjøberg,et al.  Evaluating the effect of a delegated versus centralized control style on the maintainability of object-oriented software , 2004, IEEE Transactions on Software Engineering.

[26]  Bernd Bruegge,et al.  Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition , 2003 .

[27]  M A Sinclair,et al.  Questionnaire design. , 1975, Applied ergonomics.

[28]  Daniel M. Berry,et al.  Formal methods: the very idea - Some thoughts about why they work when they work , 2002, Sci. Comput. Program..