1 A UML Class Diagram Analyzer Tiago Massoni Rohit Gheyi Paulo Borba Software Productivity Group Informatics Center – UFPE October 2004.

Slides:



Advertisements
Similar presentations
Issue 134 Metamodel for OWL 2 Peter Haase, Elisa Kendall, Boris Motik, Evan Wallace.
Advertisements

A Formal Descriptive Semantics of UML Lijun Shan Dept of Computer Science National University of Defense Technology, Changsha, China Hong Zhu Department.
Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Design by Contract.
1 Basic Laws of Object Modeling Rohit Gheyi Tiago Massoni Paulo Borba Software Productivity Group Informatics Center – UFPE.
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
DSE using Alloy Reading part. 1 Introduction Alloy -DSL -DSE Framework Use of Alloy.
– Seminar in Software Engineering Cynthia Disenfeld
Micromodels of Software
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Page 1 Automatic Evaluation of Modelling Rules and Design Guidelines, July 2006 Automatic Evaluation of Modelling Rules and Design Guidelines Tibor Farkas,
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
CS 355 – Programming Languages
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
A Model-driven Approach to Refactoring Tiago Massoni Software Productivity Group UFPE.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Towards a Lightweight Model of BGP Safety Matvey Arye Princeton University Joint work with: Rob Harrison, Richard Wang, Jennifer Rexford (Princeton) Pamela.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
1 Evaluation of OCL for Large-Scale Modelling A Different View of the Mondex Smart Card Application Emine G. Aydal, Richard F. Paige, Jim Woodcock University.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Using UML and Alloy to Specify and Analyze Access Control Features Eunjee Song, Xi Hua SP05-CS681 Project Proposal.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Real-Time System Requirements & Design Specs Shaw - Chapters 3 & 4 Homework #2: 3.3.1, 3.4.1, Add Error states to Fig 4.1 Lecture 4/17.
Formalizing and Analyzing Feature models in Alloy
Logic Programming Based Model Transformations An overview of related work.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Introduction to MDA (Model Driven Architecture) CYT.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Inferring Specifications to Detect Errors in Code Mana Taghdiri Presented by: Robert Seater MIT Computer Science & AI Lab.
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
1 Context-dependent Product Line Practice for Constructing Reliable Embedded Systems Naoyasu UbayashiKyushu University, Japan Shin NakajimaNational Institute.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
Analyzing relational logic Daniel Jackson, MIT WG 2.3 · Newcastle April 2000.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Arjav Dave Jitendra Gupta Nishit Shah. Agenda  Overview  Alloy Architecture  Alloy Specification Language  Alloy Analyzer Demo  Comparisons  Conclusion.
Unified Modelling Language (UML) Software Engineering Lab. Sharif University of Technology.
MDD approach for the Design of Context-Aware Applications.
Alloy-based Lightweight Verification for Aspect-oriented Architecture Naoyasu Ubayashi(Kyushu Institute of Technology) Yuki Sato(Kyushu Institute of Technology)
CSCI1600: Embedded and Real Time Software Lecture 8: Modeling III: Hybrid Systems Steven Reiss, Fall 2015.
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 Abstract Model Specification. 2 Explicitly describes behavior in terms of a model using well-defined types (viz. set, sequences, relations, functions)
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Automating Commutativity Analysis at the Design Level Greg Dennis, Robert Seater, Derek Rayside, Daniel Jackson MIT CSAIL
Computer-aided Selection of Test Models for Model Transformation Testing Sagar Sen Benoit Baudry IRISA/INRIA Campus Universitaire de Beaulieu, Rennes 35000,
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing Sagar Sen (1 st year PhD student), Benoit Baudry, Jean-Marie Mottu.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
Building Enterprise Applications Using Visual Studio®
Security analysis of COM with Alloy
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
SysML v2 Formalism: Requirements & Benefits
CSCI1600: Embedded and Real Time Software
Software Architecture & Design
Presentation transcript:

1 A UML Class Diagram Analyzer Tiago Massoni Rohit Gheyi Paulo Borba Software Productivity Group Informatics Center – UFPE October 2004

2 UML and Critical Systems UML  Growing interest  Explore concepts  Address important problems  OCL to specify complex constraints Complex structures with class diagrams

3 UML/OCL and Tools Lack of semantics  Some have proposed approaches  Did not stimulate tools for automatic analysis Absence of tool support  Additional trouble in critical systems  Structural modeling errors are hard to detect

4 Subtle Errors when Modeling Critical Systems Structural errors  OCL invariants may turn a class diagram over-constrained or inconsistent  Under-constrained diagrams allow incorrect implementations These problems are desirable to be automatically detected…

5 Contributions Approach for automatic analysis of UML class diagrams  A precise semantics for class diagrams is given Semantic model: Alloy  Object modeling language  Analysis tool for concrete feedback  Modeled several critical systems

6 Contributions Semantics by mapping  Mapping rules from diagrammatic and OCL class invariants to Alloy We leverage automatic analysis of Alloy to class diagrams  Automatic generation of snapshots  Assertion checking

7 Outline Alloy Semantics for UML class diagrams Example Alloy in Critical Systems

8 Alloy MIT – Software Design Group (Daniel Jackson) Simple language for declarative modeling  Primarily structural properties  Sets, relations and predicate logic Alloy Analyzer

9 UML to Alloy fact BankProperties { Account = ChAcc all a:Account|lone a.~accs bk = ~accs } sig Bank { accs: set Account } sig Account{ bk: set Bank } sig ChAcc extends Account {}

10 Semantics for Class Diagrams Initial focus on structural properties  Avoided constructs with undefined semantics Diagrammatic constructs  Classes and interfaces: signatures  Binary associations and attributes: relations  Generalization: extends

11 Semantics for Class Diagrams OCL invariants: Alloy facts  Universally quantified on self OCLAlloy X.oclIsTypeOf(Y)X in Y X.allInstancesX X->isEmpty()no X X->forAll(a|P)all a:X| P X->size()#X

12 Analysis Example

13 Analysis Example Snapshot 1 : scope of two Customers and their personal accounts aren’t related at all (they could be in different banks)

14 Analysis Example Changing the diagram Snapshot 2 (still under- constrained)

15 Analysis Example Adding an OCL constraint: Snapshot 3 (great!) context Bank inv customersAccountsInBank: self.custs.owned_accs->includes(self.accs)

16 Analysis Example I’d like to check whether every customer with cards has an account  Within the Customer context: self.card->notEmpty() implies self.owned_accs->notEmpty() Counterexample:

17 Applications of Alloy in Critical Systems Radiation Therapy Machine  Operation Commutativity Railway System Access Control Air-traffic control

18 Conclusion Visual identification of modeling problems Covering many more states than any testing tool Leverage the benefits to UML Class Diagrams Future Work  Prototype (translation, analysis)  Behavioral Modeling  Case studies  Denotational semantics for class diagrams  Equivalence notion for models

19 Software Productivity Group  Model refactoring  Synchronization model-source code  Semantics  Formal Methods

20 Putting Analysis to Work UML class diagram semantic mapping Alloy model Alloy Analyzer (SAT Solver) Snapshot or counterexample UML object diagrams translation

21 Alloy Analyzer Two kinds of analysis  Simulation  Assertion checking Analysis  Bounded by a scope of objects and relations

22 A UML Class Diagram Analyzer Tiago Massoni Rohit Gheyi Paulo Borba Software Productivity Group Informatics Center – UFPE October 2004