FUP - Formal Unified ProcessMSc.Miroslav Líška
Slovak University of TechnologyFaculty of Informatics and Information Technologies
Bratislava, Slovakiawww.fiit.sk
1. Formal methods in software engineering2. Goals of Formal Unified Proces - FUP3. FUP methodology4. Validation UML models with FUP5. Formal-analyzer (usecase model)6. FML - Formal markup language
Agenda
Formal methods in software engineering
• Improvement in specification and realization process• Enhanced precision in syntax and semantics of system definition
• A lot of different languages, methodologies e.g. Z, objectZ, PUML, (note - UML, OCL: semiformal´) : …
Difficult synergy, difficult validation process
Problems
Goals of FUP
Enhancement of
• analysis/validation process between more specifications
• analysis/validation process between specification and realizations
• mathematics logics precision in software specifications and realizations
FUP methodology
• System and its behavior is represented through mathematical theories – set of formulas (e.g. theory of business process, theory of UML – customizable modal logic)
• Analysis process is based on verification consistency of theories, tautological results
• Validation process is based on automatic proving formulas against selected theories
Validation UML models with FUP (formal-analyzer)
• There must be written proper theories for validation, i.e. business process theory, UML theory
• UML model is translated into model of theory (theory interpretation) and also they are new theorems specified, which must be proved
• Formal-analyzer : software tool (currently only analytical model) which supports mathematical theory specification, realization, validation. UML will be plugin for parsing UML models into formal theories.
Business Process theory
…
UML theory
…
UML model transformation into model of theory (example)
cd Increase bank income using IT - Business strategy model
Deliver more loans
to the customer
Increase bank
income using IT
??? Individuals = {class1, class2, association1 …}
Predicates = {BG(class1), BG(class2), P(class3) .. }
Formal analyzercd UC Formal analyzer
Theory specifier
UC 101 - Specify theory
UC 202 - Validate correctness
UC 301 - Import UML model
Definition of- variables- functional symbols- predicates- supplementary symbols- axioms
- BusinessProcess theory- Risk Analysis theory- Formal UML theory
- .... any specified FML theory
«include»
«include»
Interpretation(UML) |= T1
T2
|- Formula(Interpretation(UML))
T2T1
FML - Formal markup languageMathematic theory
FML - Formal markup languageMathematic model of theory
FML - Formal markup languageBusiness process theory
FML - Formal markup languageUML model of theory (PARSED UML)
Thank you for your attention