UML-B: Formal modeling and design aided by UML

The emergence of the UML as a de facto standard for object-oriented modeling has been mirrored by the success of the B method as a practically useful formal modeling technique. The two notations have much to offer each other. The UML provides an accessible visualization of models facilitating communication of ideas but lacks formal precise semantics. B, on the other hand, has the precision to support animation and rigorous verification but requires significant effort in training to overcome the mathematical barrier that many practitioners perceive. We utilize a derivation of the B notation as an action and constraint language for the UML and define the semantics of UML entities via a translation into B. Through the UML-B profile we provide specializations of UML entities to support model refinement. The result is a formally precise variant of UML that can be used for refinement based, object-oriented behavioral modeling. The design of UML-B has been guided by industrial applications.

[1]  Leonidas Tsiopoulos,et al.  A case study in requirement analysis of control systems using UML and B , 2003 .

[2]  Emil Sekerinski,et al.  Graphical Design of Reactive Systems , 1998, B.

[3]  David Crocker,et al.  Safe Object-Oriented Software: The Verified Design-By-Contract Paradigm , 2004 .

[4]  Peter Amey Dear Sir, Yours faithfully: an Everyday Story of Formality , 2004 .

[5]  Naïma Nagui-Raïss,et al.  A Formal Software Specification Tool Using the Entity-Relationship Model , 1994, ER.

[6]  Michael J. Butler,et al.  ProB: A Model Checker for B , 2003, FME.

[7]  Grady Booch Growing the UML , 2002, Software and Systems Modeling.

[8]  Daniel Jackson,et al.  Some Shortcomings of OCL, the Object Constraint Language of UML , 2000, TOOLS.

[9]  Colin F. Snook,et al.  Experimental comparison of the comprehensibility of a Z specification and its implementation in Java , 2004, Inf. Softw. Technol..

[10]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[11]  Kaisa Sere,et al.  Reasoning about Action Systems using the B-Method , 1998, Formal Methods Syst. Des..

[12]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[13]  Régine Laleau,et al.  Mapping object diagrams into B specifications , 1996 .

[14]  Jeanine Souquières,et al.  A Systematic Approach to Transform OMT Diagrams to a B Specification , 1999, World Congress on Formal Methods.

[15]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[16]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[17]  Michael Butler,et al.  U2B - A tool for translating UML-B models into B , 2004 .

[18]  Dominique Cansell,et al.  UML-B specification for proven embedded systems design , 2004 .

[19]  Jeanine Souquières,et al.  Integrating UML and B Specification Techniques , 2001, GI Jahrestagung.

[20]  Colin Frank Snook Exploring the barriers to formal specification , 2001 .

[21]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1995, IEEE Softw..

[22]  Als-Nscort Eclipse Platform Technical Overview , 2003 .

[23]  Kuldeep Kumar,et al.  Strategies for incorporating formal specifications in software development , 1994, CACM.

[24]  José Luis Fernández Alemán,et al.  Emerging OCL tools , 2003, Software & Systems Modeling.

[25]  Michael Butler,et al.  The UML-B Profile for Formal Systems Modelling in UML , 2004 .

[26]  David Clark,et al.  UML to B: Formal Verification of Object-Oriented Models , 2004, IFM.

[27]  Stephan Merz,et al.  Model Checking , 2000 .

[28]  Dan Craigen,et al.  Formal Methods Reality Check: Industrial Usage , 1993, FME.

[29]  Thomas R. G. Green,et al.  Cognitive dimensions of notations , 1990 .

[30]  Robert L. Glass The mystery of formal methods disuse , 2004, CACM.

[31]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[32]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[33]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[34]  Colin F. Snook,et al.  Practitioners' views on the use of formal methods: an industrial survey by structured interview , 2001, Inf. Softw. Technol..

[35]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[36]  Charles Ashbacher,et al.  The Object Constraint Language Second Edition, Getting Your Models Ready for MDA, by Jos Warmer and Anneke Kleppe. , 2003 .

[37]  Dan Craigen,et al.  Formal Methods Reality Check: Industrial Usage , 1993, IEEE Trans. Software Eng..

[38]  Régine Laleau On the Interest of Combining UML with the B Formal Method for the Specification of Database Applications , 1999, ICEIS.

[39]  Colin F. Snook,et al.  Embedded System Design Using Formal Model Refinement: An Approach Based on the Combined Use of UML and the B Language , 2004, Des. Autom. Embed. Syst..