october 5, 2004 center for software dependability, mohammad ali jinnah university, islamabad campus1...
Post on 20-Dec-2015
214 views
TRANSCRIPT
October 5, 2004 Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus
1
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
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
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
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
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
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.
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
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
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.
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
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
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
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
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
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
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.
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.
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
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.
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
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
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.
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
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.
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].
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
October 5, 2004 28Center for Software Dependability, Mohammad Ali Jinnah University, Islamabad Campus
Questions
?
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
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
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
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