+ All Categories
Home > Documents > October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1...

October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1...

Date post: 20-Dec-2015
Category:
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
32
October 5, 2004 Center for Software Dependab ility, Mohammad Ali Jinnah U niversity, Islamabad Campus 1 Formalization of UML Muhammad Zouhaib Zafar
Transcript
Page 1: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

1

Formalization of UML

Muhammad Zouhaib Zafar

ذوہیب ظفر
more research required on Syntopy / Supplemental Technique and Graph Trasformations and Class Diagram VerificationAlso UML in Real TIme Systems
Page 2: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 2Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Objectives

Analytical View of existing UML Formalization Techniques

Utilization of UML in Rigorous Development of Safety Critical Systems

Page 3: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 3Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Formal Methods

Set of mathematical notations Helps sorting out misconceptions,

ambiguities, errors in analysis of system being developed

Precision in syntax and semantics

Page 4: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 4Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Formal Methods

Have been in market for decades Conceived by people as being complex and

difficult Industry always reluctant of mathematical

notations Industry welcomes pictorial and graphical

notations

Page 5: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 5Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Unified Modeling Language

UML: OO Analysis and Design Technique Why UML? UML is user friendly and is simple in constructs. Provides a way of communication between developer

and client. Has become most widely accepted approach Has a rich set of graphical and pictorial notations Helpful in increasing the understandability of the

system

Page 6: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 6Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Why Formalize UML?

Easier for industry to extend its current development techniques to introduce formalization than to completely employ formal method notations

Basis of research To find out the most effective solution of using

formal methods, without the introduction of complex constructs, which would provide an abstraction from the intricate mathematical notations

Page 7: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 7Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Why Formalize UML?

A lot of myths associated with Formal Methods These myths have been proven wrong In fact Formal methods are very useful in the development. Still not used widely. Reasons

lack of expertise an unavailability of a lot of case studies difficulty in learning and representation the involvement of mathematical and logical notations always difficult to translate the real word concepts to mathematical

expressions. Fortunately UML has none of the above stated problems; therefore

it is a natural choice to use formal methods in pair with UML to form an absolute blend.

Page 8: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 8Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Benefits of such a technique

Ensure the use of formalization in development

Pave the way for industry acceptance of formal techniques of development

Increase the quality of the software being developed.

Help avoid faults, and avoid errors in specifications or design in system being developed

Page 9: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 9Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Existing Formalization Techniques Supplemental OO Extended Formal Language Methods Integration or Semantic Integration

Page 10: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 10Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Supplemental

Replaces informal constructs of modeling technique with formal ones

Mostly work on substituting natural language portions with formal language

This approach allows much of the formal complexity to be hidden from user. An example of such an approach is Syntropy, OCL.

Page 11: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 11Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

OO Extended Formal Language Confined to the extension of general formal languages to object

oriented formal language. Example:

Extension of Z formal specification language to Object-Z and Z++ , VDM to VDM++

Promoted the development of object oriented systems with the use of formal methods

Draw Back: non user friendliness complexity extra time consumption A large set of complex notations

Page 12: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 12Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Method Integration

Semantic Integration or Model Integration Most widely worked upon a formal mapping is introduced between the

object oriented modeling notations a formal specification language

Example: Converting OO Model to Z, Object-Z etc

Page 13: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 13Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Method Integration for UML

For Unified Modeling language, work has been performed on integration with formal specification languages like Z, B[28] and PVS[2].

For each of the approach, a mapping is provided from the UML constructs to the formal language.

[9] has also put forward the idea to use theories for representation of classes. It also provides methodology to translate association and inheritance concept

Page 14: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 14Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Problems With Current Formalization Techniques Difficult constructs:

no easier than learning and using the formal methods themselves.

A large gap between formal and informal models: knowledge of analyst required during conversion Implies a lot of human intervention Requires a person expert in formal and informal

techniques Automation still a far cry

Page 15: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 15Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Problems with formalization techniques A large number of defined mappings. This result has diminished any hopes of

theoretical conversion technique to become a reality.

After the conversion the resultant is set of mathematical notations in a formal language, but one of our basic aims was to avoid the use of discrete mathematic notations which are complex and difficult in understanding

Page 16: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 16Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Problems with formalization Techniques Effort involve in method integration is almost

equal to the effort involve in using formal methods

With use of the method integration approach we uncovered errors, but it was too late

After which whole design or analysis effort has to be revised

Page 17: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 17Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Solution Conversion rules to be defined for each UML

artifact a combination of those conversions should be

performed throughout the development process. The idea is appealing, but if we were to

convert each artifact to its corresponding formal language then why shouldn’t we adopt for formal methods as whole.

So the solution is again not practical.

Page 18: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 18Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Problems with formalization Techniques If at all the approaches were as useful as

advocated, they should not had been facing the same response from software industry as that to formal methods themselves.

The basic reason behind this all is the complexity and involvement of discrete mathematics notations in the formal methods from which the developers are mostly introverted.

Page 19: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 19Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Convergence Approach

Meta-model integration technique Aim of this approach is to extend the Unified

Modeling Language to include formalism in it The approach considers the options to

develop UML as a formal language itself

Page 20: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 20Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

pUML Group

pUML group is working on the idea of making UML semantics precise enough so that UML would itself be treated as a formal language

The group's emphasis is on formal definition of the semantics of each UML construct into a formal language.

Page 21: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 21Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Other convergent proposals

Research has provided meanings of different UML constructs in Object-Z in an effort to define UML meta model formally and precisely

A formal semantics for UML construct of collaboration between classes, use-cases and generalization of collaborations, to achieve soundness and completeness in system specification

Page 22: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 22Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Convergent Approach

Convergent approach is the approach closest to the ideal formalization of UML.

The idea is at its infancy and needs much more work by the researchers to be a workable technique.

UML semantics have been modified in the UML version 2.0 in light of the proposals by the pUML group

Page 23: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 23Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Verification of Formalized UML a very little has been put forward on

performing one of the basic aims of using formal methods: the verification process through UML

formal specification languages can apply the theorem proving and other verification techniques,

when the UML is claimed to be a formal language, it must have a precise way of applying verification techniques.

Page 24: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 24Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Verification of formalized UML After use of Method Integration Approach..

Model has been converted to a formal language Formal verification can be performed on the

specification language

Page 25: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 25Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Verification of formalized UML –Convergent Approach Not a lot of formal verification techniques [20] presents a transformation form one Class

Diagram in a UML Model to another class diagram, where the latter diagram includes certain proof of the earlier

A set of rules of inference, along with the rules of promotion and demotion of association are followed during each transformation. Through continuous transformations a complete proof of class diagram is achieved.

Page 26: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 26Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Formalizing UML

UML must always remain free from complex structures or mathematical notations OCL can be used along with the formalized UML to include

constraints in the models. OCL is not mathematical

This point should be considered as positive rather than negative.

The UML models should only have constraints applied in a logical form rather than mathematical form.

Proposals for formalizing OCL as a constraint language have also been provided in [27].

Page 27: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 27Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Future Directions

We are planning to work on the following issues:

Provide a framework for the verification strategy proposed

To work on formalizing the extensions of current notations, stereo types, and inclusion of time constraints in the formalized UML for its use in safety critical systems

Page 28: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 28Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

Questions

?

Page 29: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 29Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

References [1] Claudia Pons, Gabriel Baum, Formal foundations of Object Oriented

Modeling Notations

[2] Demissie B. Aredo, Issa Traore, Ketil Stolen, Towards a Formalization of UML Class Constructs in PVS

[3] K. Lano, and H. Haughton: The Z++ Manual, Technical Report, Imperial College, 1994.

[4] E.H. Durr, N. Plat, VDM++ Language Reference Manual, Afrodite (ESPRIT-III project number 6500) document AFRO/CG/ED/LRM/V10, cap Volmac, February 1995.

[5] G. Booch, J. Rambaugh and I. Jacobson, The Unified Modeling Language User Guide, Addison-Wesley, October 1998

[6] P. Moura, R. Borges, A. Mota, Experimenting Formal Methods through UML

[7] Ali Hamie, John Howse, Stuart Kent, Richard Mitchell, Franco Civello. A Formal Semantics for Checking and Analysing UML Models

Page 30: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 30Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

References [8] R. Duarte, J. Junior, A.Mota, Precise Modelling with UML: Why OCL?

[9] A. Evans, Rigorous Development in UML

[10] Soon-Kyeong Kim, David Carrington, A Formal Mapping between UML Models and Object-Z Specifications

[11] A. Evans, J.M Bruel, R. France, K. Lano, B. Rumpe, Making UML Precise

[12] A. Evans, R. France, K. Lano, B. Rumpe, Developing the UML as a Formal Modelling Notation

[13] Robert B. France, Jean Michel Bruel, Integrated Informal Object-Oriented and Formal Modelling Techniques

[14] Jean Michel Bruel, Robert B France, Transforming UML Models to Formal Spcifications

Page 31: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 31Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

References [15] R. France, A. Evans, K. Lano, B. Rumpe The UML as a Formal Modeling

Notation

[16] R.B. France, J.M. Bruel, A. Evans, Towards a framework for the Development of Precise Semantics for the UML

[17] Jan Jurjens, Developing Safety-Critical Systems with UML

[18] Colin J. Neil, Minimizing the Impact of adding a Formal Method to the UML

[19] Wolfgang Ahrendt, Thomas Baar, Bernhard Beckert, Martin Giese, Reiner Hahnle, Wolfram Menzel, Wojciech Nostowskim and Peter H.

Schmitt, The Key System: Integrating Object Oriented Design and Formal Methods

[20] Andy Evans, Robert B. France, and Emanuel S. Grant, Towards formal reasoning with UML Models

[21] Gunnar Overgaard, A Formal Approach to Collaborations in the Unified Modeling Language

Page 32: October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus1 Formalization of UML Muhammad Zouhaib Zafar.

October 5, 2004 32Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus

References [22] Edjard Mota, Edmund Clarke, Alex Groce, Waleska Oliveira, Marcia Falcao, Jorge

Kanda, VeriAgent: an Approach to Integrating UML and Formal Verification Tools

[23] M. Dal Cin, Extending UML towards a useful OO-language for Modeling Dependability Features

[24] Jonathan Bowen, Victoria Stavridou, Safety-Critical System, Formal Methods and Standards

[25] Nicolas Guelfo, Olivier Biberstein, Didier Buchs, Ercument Canver, Marie-Claude Gaudel, Friedrich von Henke, and Detlef Shwier; Comparison of Object-

Oriented Formal Methods

[26] Sabin Kuske, Martin Gogolla, Ralf Kollman, Hans-Jorg Krewoski , An Integrated Semantics for UML Class, Object and State Diagrams based on Graph Transformations

[27] Mark Richters, Martin Gogolla, On Formalizing the UML Object Constraint Language OCL

[28] Regin Laleau and Fiona Polack, Coming and going from UML to B: a proposal to support traceability in rigorous IS Development


Recommended