Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Refactoring to improve the understandability of specifications written in object constraint language

Refactoring to improve the understandability of specifications written in object constraint language

For access to this article, please select a purchase option:

Buy article PDF
$19.95
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Object constraint language (OCL) is the object management group standard language for the precise specification of constraints associated with MetaObject facility specification-compliant models and metamodels. Although OCL has been created with the intention of being a simpler language when compared with traditional formal specification languages, it is common to find specifications containing OCL constraints that are difficult to understand and evolve. A set of potential problematic constructions often found in specifications written in OCL and a set of refactorings that can be applied to remove them are presented. We present an experimental study that has been performed to evaluate the effects of applying those strategies on the understandability of OCL specifications. The approach to provide automated support for OCL refactorings is also discussed.

References

    1. 1)
      • OMG – Object Management Group: ‘Object Management Group – Unified Modeling Language (UML) 1.3 specification’ http://www.omg.org/cgi-bin/doc?formal/00-03-01, 1999.
    2. 2)
      • D.M. Berry , E. Kamsties , J.C.S.P. Leite , J.H. Doorn . (2004) Ambiguity in requirements specification, Perspectives on software requirements.
    3. 3)
      • Gerber, A., Lawley, M., Raymond, K., Steel, J., Wood, A.: `Transformation: the missing link of MDA', Proc. ICGT 2002 – 1st Int. Conf. Graph Transformation, October 2002, Barcelona, Spain, (LNCS, 2505).
    4. 4)
      • Fernandez-Medina, E., Piattini, M.: `Extending OCL for secure database development', Proc. 7th Int. Conf. the Unified Modeling Language: Modeling Languages and Applications, October 2004, Lisbon, Portugal, p. 380–394, LNCS 3273.
    5. 5)
      • E. Yourdon . (1986) Managing the structured techniques: strategies for software development in the 1990s.
    6. 6)
      • Kataoka, Y., Imai, T., Andou, H., Fukaya, T.: `A quantitative evaluation of maintainability enhancement by refactoring', Proc. Int. Conf. Software Maintainance (ICSM), 2002, Montreal, Canada, p. 576–585.
    7. 7)
      • Markovic, S., Baar, T.: `Refactoring OCL annotated UML class diagrams', Proc. Model Driven Engineering Languages and Systems – Int. Conf. – MoDELS 2005, October 2005, Montego Bay, Jamaica, p. 280–294, LNCS 3713.
    8. 8)
      • Saff, D., Ernst, M.D.: `An experimental evaluation of continuous testing during development', Proc. Int. Symp. Software Testing and Analysis, July 2004, Boston, USA, p. 76–85.
    9. 9)
      • Porres, I.: `Model refactorings as rule-based update transformations', Proc. 6th Int. Conf. The Unified Modeling Language: Modeling Languages and Applications, 2003, San Francisco, USA, p. 159–174, LNCS 2863.
    10. 10)
      • OMG – Object Management Group ‘Model Driven Architecture (MDA) Guide’, document omg/2003-06-01, 2003.
    11. 11)
    12. 12)
      • Baresi, L., Heckel, R.: `Tutorial introduction to graph transformation: a software engineering perspective', Proc. ICGT 2002 – 1st Int. Conf. Graph Transformation, October 2002, Barcelona, Spain, (LNCS, 2505).
    13. 13)
      • OMG – Object Management Group ‘MOF QVT final adopted specification’, document ptc/05-11-01, 2005.
    14. 14)
      • K. Beck . (2000) Extreme programming explained.
    15. 15)
      • Roberts, D.: `Practical analysis for refactoring', 1999, PhD, University of Illnois at Urbana-Champaign, Illnois, USA.
    16. 16)
    17. 17)
      • Boger, M., Sturm, T., Fragemann, P.: `Refactoring browser for UML', Proc. Int. Conf. XP and Flexible Processes in Software Engineering, 2002, Alghero, Italy, p. 77–81.
    18. 18)
      • M. Fowler . (1999) Refactoring – improving the design of existing code.
    19. 19)
      • K. Lieberherr , I. Holland . Formulations and benefits of the law of demeter. SIGPLAN Not. , 3 , 67 - 78
    20. 20)
      • J. Warmer , A. Kleppe . (2003) The object constraint language – getting your models ready for MDA.
    21. 21)
      • J. Woodcock , J. Davis . (1996) Using Z specification, refinement and proof.
    22. 22)
      • C.B. Jones . (1989) Systematic software development using VDM.
    23. 23)
      • Vaziri, M., Jackson, D.: `Some shortcomings of OCL, the object constraint language of UML', Proc. Technology of Object Oriented Languages and Systems Conf. (TOOLS USA 34), 2002, Santa Barbara, California, USA, p. 555–562.
    24. 24)
      • OMG – Object Management Group; ‘MOF 1.4 specification’ http://www.omg.org/cgi-bin/doc?formal/2002-04-03, 2002.
    25. 25)
      • Ambler, S.W.: `Toward executable UML', Software Development Magazine, January 2002.
    26. 26)
      • C. Wohlin , P. Runeson , M. Höst , M.C. Ohlsson , B. Regnell , A. Wesslén . (2000) Experimentation in software engineering: an introduction.
    27. 27)
      • Gheyi, R., Massoni, T., Borba, P.: `A rigorous approach for providing model refactorings', Proc. IEEE/ACM Int. Conf. Automated Software Engineering (ASE), 2005, Long Beach, USA, p. 372–375.
    28. 28)
      • Richters, M.: `A precise approach to validating UML models and OCL constraints', 2002, PhD, Universität Bremen.
    29. 29)
      • Correa, A.: `Refactoring OCL model constraints specifications', , Doctoral, , COPPE/UFRJ, 2006, (in Portuguese).
    30. 30)
    31. 31)
      • Chiorean, D., Bortes, M., Corutiu, D., Sparleanu, R.: `UML/OCL tools – objectives, requirements, state of the art: the OCLE experience', Proc. 11th Nordic Workshop on Programming and Software Development Tools and Techniques, 2004, Turku, Finland, p. 163–180.
    32. 32)
      • Opdyke, W.F.: `Refactoring: a program restructuring aid in designing object-oriented application frameworks', 1992, PhD, University of Illinois at Urbana-Champaign.
    33. 33)
      • S. McConnell . (2004) Code complete 2.
    34. 34)
      • Baar, T., Chiorean, D., Correa, A.: `Tool support for OCL and related formalisms – needs and trends', Satellite events at the MoDELS'2005 Conf. – Selected Papers, October 2005, Montego Bay, Jamaica, p. 1–9, (LNCS, 3844).
    35. 35)
      • Correa, A., Werner, C., Barros, M.: `Enhancing the understandability of OCL specifications', Proc. Brazilian Symp. Software Engineering, 2007, João Pessoa, Brazil, p. 22–38.
    36. 36)
      • OMG – Object Management Group: ‘Object Management Group – Unified Modeling Language (UML) Superstructure Specification, version 2.0’, http://www.omg.org/cgibin/doc?formal/05-07-04, 2005.
    37. 37)
      • D. D'souza , A. Wills . (1998) Objects, components and frameworks with UML: the catalysis approach.
    38. 38)
      • S. Liu . (2004) Formal engineering for industrial software development – using the SOFL method.
    39. 39)
      • Massoni, T., Gheyi, R., Borba, P.: `Formal refactoring for UML class diagrams', Proc. XIX Brazilian Symp. Software Engineering, 2005, Uberlândia, Brazil, p. 152–167.
    40. 40)
      • Mens, T., Demeyer, S., Janssens, D.: `Formalising behaviour preserving program transformations', Proc. ICGT 2002 – 1st Int. Conf. Graph Transformation, October 2002, Barcelona, Spain, (LNCS, 2505).
    41. 41)
      • Snook, C.F., Harrison, R.: `Experimental comparison of the comprehensibility of a Z specification and its implementation', Proc. Conf. Empirical Assessment in Software Engineering – EASE 01, 2001, England, Keele University.
    42. 42)
      • Correa, A., Werner, C.: `Odyssey-PSW: tool support for verification and validation of OCL constraints', Proc. XX Brazilian Symp. Software Engineering – Tool Session, 2006, Florianópolis, Brazil, (in Portuguese).
    43. 43)
      • Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, J.M.: `Refactoring UML models', Proc. 4th Int. Conf. Unified Modeling Language: Modeling Languages, Concepts and Tools, October 2001, Toronto, Canada, p. 134–148, (LNCS, 2185).
    44. 44)
      • Cook, S., Kleppe, A., Mitchell, R.: `The Amsterdam Manifesto on OCL', ‘Advances in object modeling with the OCL’, 2002, Springer, (LNCS, 2263).
    45. 45)
      • Engels, G., Heckel, R., Küster, J.M., Groenewegen, L.: `Consistency-preserving model evolution through transformations', Proc. Int. Conf. the Unified Modeling Language: Model Engineering, Concepts and Tools, October 2002, Dresden, Germany, p. 212–226, (LNCS, 2460).
    46. 46)
      • OMG – Object Management Group: ‘UML 2.0 OCL specification’, http://www.omg.org/cgi-bin/doc?ptc/2003-10-14,2003.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2008.0022
Loading

Related content

content/journals/10.1049/iet-sen.2008.0022
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address