1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.

Slides:



Advertisements
Similar presentations
A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Advertisements

Verification and Validation
FUP - Formal Unified Process MSc.Miroslav Líška Slovak University of Technology Faculty of Informatics and Information.
Ch 3 System Development Environment
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
Alternate Software Development Methodologies
Which role might model-based engineering play in software certification? Selo Sulistyo.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
MDA and QVT in Together Architect 2006  Pavel Kobiakov, Borland Software Corporation  06 December 2005.
Object-Oriented Analysis and Design
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Introduction To System Analysis and Design
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Introduction to Software Testing
Verification and Validation
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
The Re-engineering and Reuse of Software
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Introduction To System Analysis and design
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Xactium xDSLs Run Models Not Code Tony Clark
Chapter 6 Software Implementation Process Group
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Applying the Inspection Process. What Software Artifacts Are Candidates for Inspection? Software Requirements Software Designs Code Test Plans.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
ITEC 3220M Using and Designing Database Systems
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Eurostat Expression language (EL) in Eurostat SDMX - TWG Luxembourg, 5 Jun 2013 Adam Wroński.
OCL Tool Support Sagar A. Tamhane CSE 6323 – FMSE.
A Meta-Level Specification and Profile for AspectJ in UML Joerg Evermann School of Information Management Victoria University of Wellington.
A language to describe software texture in abstract design models and implementation.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
High Integrity Ada in a UML and C world Peter Amey, Neil White Presented by Liping Cai.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Jairson Vitorino, Cin UFPE May, 2nd 2005
CRC & Class Diagram SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Metadata By N.Gopinath AP/CSE Metadata and it’s role in the lifecycle. The collection, maintenance, and deployment of metadata Metadata and tool integration.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
A Flexible MDATool Set Anneke Kleppe Klasse Objecten.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Comparison of ZOOM with other Formal Methodologies Hsiu-Chien Jing SE690 Initial Presentation School of CTI, DePaul University Supervised by Dr. Jia October,
CSCE 548 Secure Software Development Use Cases Misuse Cases
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
Presentation transcript:

1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for the course CSI 5112

2 Outline Project context and goals Methodology Candidate tools  Previously analyzed Dresden  OCLE  Octopus Evaluation criteria Experiments Summary and recommendation

3 Project Context Development of Academic Control System Maple University  Software Development Research Group Support from private company Interest in OCL:  exploration  establishment in software development

4 Project Goals Moving towards MDA approach, where the models play a central role in presenting abstractions of real-world systems therefore, we focus on the use of high precision OCL- based UML models, to help:  designers make up a coherent model of the problem domain,  developers making use of the implementation of an OCL specification, which will reduce the development, testing and maintenance effort Support to free software and open source development

5 Methodology Module “Courses Registration” chosen

6 Methodology - Courses Registration simple design

7 Methodology – Sample Constraints A course can not be a direct pre-requisite of itself The attribute name for courses must be unique In order to register in a course in a different level from the student's level, a student must have an explicit authorization context Student inv diffLevel: regs->select(regcourse_offered.course.level <> self.level)- >forAll((auths ->select(authcourse_offered.course.id = regcourse_offered.course.id))->notEmpty) A student can not be registered for a course if he or she has already passed that course

8 Methodology - Evaluation Similar experiments applied to both tools Assign evaluation marks : for low level criteria (L) the weight is 1 for high level criteria (H) the weight is 2 MarkDescription 0Feature is not present 1Feature presents minimum resources 2Feature is fully implemented 3Feature offers extra advantages

9 Previously analyzed tool Dresden OCL Toolkit - Initially good candidate tool - Did not work: 1) Standalone version does not load models 2) Eclipse Plugin needs generation and did compile, no stable version - Documentation is poor

10 Candidate Tools 1. OCL Environment 2. OCL Tool for Precise UML Specifications

11 OCLE Started in the 90’s LCI team from BABEŞ-BOLYAI UNIVERSITY - CLUJ-NAPOCA, ROMANIA UML CASE Tool for both static and dynamic OCL Checking

12 Octopus Started in the 90’s Jos Warmer and Anneke Kleppe - authors of famous UML and OCL books OCL Tool for static check OCL expressions

13 Evaluation Criteria Integration  Number of integration with case tools and type of Integration (H) Validation and Verification  Syntactical analysis (H)  Typechecking (H)  Logical consistency checking (L)  Dynamic behavior validation (L)  Parsing (L) Transformation  Uml Class Diagrams to Java Code (H) Documentation  Provided examples and Efficiency, completeness, and clarity of documentation (H)

14 GRL

15 1.Integration Currently each modeling tool uses its own dialect of the UML interchange format XMI. It is therefore very difficult to create an XMI import functionality that works correctly for each UML model Octopus is an Eclipse plug-in Both tools exchange UML models with ArgoUML OCLE  USE Octopus  Poseidon

16 Octopus Tool

17 OCLE Tool

18 2. Validation and Verification OCLE Demo Octopus Demo

19 1-Syntactical analysis - Octopus

20 1-Syntactical analysis - OCLE

21 2-Typechecking - Octopus As OCL constraints always make reference to an underlying class model, an OCL typechecker has to have access to the underlying UML model information.

22 2-Typechecking - OCLE

23 3-Logical consistency - Octopus As was expected non of the tools respond to the contradiction of OCL Constraints

24 3-Logical consistency - OCLE

25 4-Dynamic Checking - Octopus The tool imported the object class diagram successfully BUT: the OCL constraints were not evaluated against the corresponding instance model (object diagram)

26 4-Dynamic Checking - OCLE

27 5-Parsing Octopus context Course inv CUniqueN: Course::allInstances()->isUnique(name)

28 5-Parsing - OCLE

29 3. Transformation correspondence and traceability presentation of generalization relations handling of associations directions representation of collections getters, setters or any additional methods Compilation Code generation for OCL constraints

30 Uml Class Diagrams to Java Code -Octopus

31 Uml Class Diagrams to Java Code -OCLE

32 Summary and recommendation The evaluation was applied to the candidate tools aiming at the use of OCL as a facilitator resource for modeling and developing the academic system. OCLE has the dynamic checking, Octopus is an Eclipse plug-in. So it is recommended to benefit from both tools for better checking OCL and building the code.

33 References 1. Dresden OCL Toolkit: Dresden OCL Toolkit: 2. OCLE – Object Constraint Language Environment: OCLE – Object Constraint Language Environment: BAAR, T., et al. Tool Support for OCL and Related Formalisms – Needs and Trends, GOGOLLA, M., et al. Tool Support for Validating UML and OCL Models through Automatic Snapshot Generation, HUSSMANN, H., et al. Modular architecture for a toolset supporting OCL, CLARK, T. AND WARMER, J. Object Modeling with the OCL, 2002, pp DZIDEK, W. et al. Lessons Learned from Developing a Dynamic OCL Constraint Enforcement Tool for Java, JOS WARMER, ANNEKE KLEPPE. The Object Constraint Language ISBN

34 Thank you Questions ?