A Visualization of OCL using Collaborations

Similar documents
Semantics of Metamodeling

For Official Use Only Application Number. Application for Antigua and Barbuda Passport for Applicants Under 16 Years Form M. Surname: First Name:

Indiana K-12 Computer Science Standards

National Ordinance, Personal Records Database AB 2013 GT, no.16 ( )

USING CENSUS RECORDS IN GENEALOGICAL RESEARCH AN ONLINE COURSE

From: AAAI Technical Report FS Compilation copyright 1994, AAAI ( All rights reserved.

Application to record an overseas birth in the register of births (section 36 of the Civil Status Act)

2 Logic Gates THE INVERTER. A logic gate is an electronic circuit which makes logic decisions. It has one output and one or more inputs.

An MDA -based framework for model-driven product derivation

Required Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14

SOFT 437. Software Performance Analysis. What is UML? UML Tutorial

How to Change Your Child s Surname

Methodology for Agent-Oriented Software

EE292: Fundamentals of ECE

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

The Sign of a Permutation Matt Baker

Model Based Systems Engineering

LAW ON RECORDS OF BIRTHS, DEATHS AND MARRIAGES

6 panelists and 1 moderator

Midterm Examination. CSCI 561: Artificial Intelligence

From ProbLog to ProLogic

First Families of Ashland County

22c181: Formal Methods in Software Engineering. The University of Iowa Spring Propositional Logic

Application to record an overseas birth in the register of births (section 36 of the Civil Status Act)

Voluntary Paternity Acknowledgment. Angie Saleeby Vital Records Operations Manager PHSIS

THE CANADIAN HERALDIC AUTHORITY

Ch ange of name fo r adul ts

Modeling Social Networking Privacy

PTB TWG-ICS- Session 3: Specific domains of respectful newborn care: The role of Civil Registration and Vital Statistics Systems

How to make an appointment with the Foreigners Office ( Ausländerbehörde )

A Metamodeling Approach for Requirements Specification 1

This is a repository copy of Workshop in OCL and Textual Textual Modelling: Report on Recent Trends and Panel Discussion.

Registry Publication 62

Monte Carlo Tree Search. Simon M. Lucas

PROGRAMA ESCUCHAR LISTING BASELINE QUESTIONNAIRE HOUSEHOLD-LEVEL SURVEY

LIGHT STUDIO 485. Software Instrrctions Mancal. Read trhe mancal tarefclly before operaing trhis software

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Agent-Oriented Software Engineering

TRINIDAD AND TOBAGO. Registration of Cause of Death

Towards Modeling of Data in UML Activities with the SPACE Method

CDIB/Membership Card FAQ and Instructions

Completeness of Birth Registration

Consolato Generale d Italia FILADELFIA

Multiplication and Area

Local Registrar Process

MEMBERSHIP APPLICATION

Fleshing Out Ancestry Research How To Get the Most Out Of a Death Certificate

Math 3012 Applied Combinatorics Lecture 2

Model-Driven Engineering: Realizing the vision

Examples of Record Linkage Studies from Norway and Bosnia

A modeling language to support early lifecycle requirements modeling for systems engineering

CENSUS DATA COLLECTION IN MALTA

Problem of the Month What s Your Angle?

A Domain Specific Language for Smart Cities

Digital Logic Circuits

Evolving a Software Requirements Ontology

Subway simulator Case study

Chapter 1: Economic and Social Indicators Comparison of BRICS Countries Chapter 2: General Chapter 3: Population

DIGITAL LOGIC CIRCUITS

Course Outline Department of Computing Science Faculty of Science

Component Based Mechatronics Modelling Methodology

Examining the CARA Specification. Elsa L Gunter, Yi Meng NJIT

Permutations and Combinations. MATH 107: Finite Mathematics University of Louisville. March 3, 2014

Mauritius. Area: 2,040 km² Population: 1.3 million Capital: Port Louis

SAMPLE COURSE OUTLINE AUTOMOTIVE ENGINEERING AND TECHNOLOGY GENERAL YEAR 12

BOSS PUTS YOU IN CHARGE!

Restricted earth-fault protection function block description

Vital Statistic Services Fees Effective October 1, 2017

Agent-Oriented Software Engineering

Building-Use Knowledge Representation for Architectural Design

ANGUILLA. Guatemala City, Guatemala COUNTRY PRESENTATION. September Sound Statistics for Sustainable Development

Design task: Pacman. Software engineering Szoftvertechnológia. Dr. Balázs Simon BME, IIT

Overview of Civil Registration and Vital Statistics systems

MANAGING PERSON-LEVEL RELATIONSHIPS. Knowledge Base Article

SAMPLE ASSESSMENT TASKS MATERIALS DESIGN AND TECHNOLOGY ATAR YEAR 11

Linking Migration Administrative Migration Records And. The Electoral List For Estimating The Number Of Costa

You should see the following screen when you first login to Student E-Service

First Families of Lake County, Ohio

Perry County Pioneers Lineage Society. Rules and Application Procedures

Easy to Read Guide to. Filling in the Social Housing Support Application Form

CC.2.1.HSF2a: Convert between fractions and decimals in a real-world problem

Network Flow Based Datapath Bit Slicing

The National Curriculum and the Centre for Computing History

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

Séminaire Supélec/SCEE

HCM-L: Domain-Specific Modeling for Active and Assisted Living

Grimes Amanda 1885? 8 Dec Prot

elaboration K. Fur ut a & S. Kondo Department of Quantum Engineering and Systems

Female population and number of live-born children in Montenegro

Theory of Probability - Brett Bernstein

NUMBERS & OPERATIONS. 1. Understand numbers, ways of representing numbers, relationships among numbers and number systems.

; ECONOMIC AND SOCIAL COUNCIL

Eastern Shore Métis Nation

FamilySearch. When you sign into FamilySearch, your own personalized home page will appear. This page will consistently change.

Family of Lou Vicie Pierce Wright Custer Smith

A User Interface Level Context Model for Ambient Assisted Living

MÉTIS NATION BRITISH COLUMBIA CITIZENSHIP APPLICATION PACKAGE Youth 14 yrs of age and under

Logical Agents (AIMA - Chapter 7)

11/18/2015. Outline. Logical Agents. The Wumpus World. 1. Automating Hunt the Wumpus : A different kind of problem

Transcription:

A Visualization of OCL using Collaborations P. Bottoni, F. Parisi-Presicce, University of Rome M. Koch, PSI Berlin G. Taentzer, Technical University of Berlin 1

A fictitious Dialog on OCL We use UML for our OO-development. Look! Great! But why do you describe all the constraints by natural language? Why don t you use OCL? This would avoid ambiguties! OCL? Oh, it s too difficult! I don t understand all the formula stuff. Would you use it, if it is also expressed by diagrams? Maybe. 2

How to visualize OCL? Start from the graphical elements of the UML notation. Derive new notation from the UML core notation where needed. Propose shortcuts for complex visualizations. Limit the size of a diagram. We depart from collaborations. 3

Running Example: egovernment certificate passports or ID cards Resident register inhabitants register the birth of a child Registration office 4

The Business Object Model <<enumeration>> StateOfApartment sole main second future <<enumeration>> KindOfCare father mother other Address attrstateofapartment: 0..* StateOfApartment attrdateofmovein: Date attrdateofmoveout: Date NaturalPersonCare attrkind: KindOfCare 0..* +statutoryagent 1 NaturalPerson attrfamilyname: String attrsex: String attrdateofdeath: Date Inhabitant attrstate: StateOfInhabitant <<enumeration>> StateOfInhabitant resident unknown known died Birth +birth attrbirthdate: Date attrbirthplace: String 1 0..4 +citizenship State attreu: Boolean attrcitizenship: String 5

egovernment Constraints Sample constraints: The birth date of a person comes before the date of moving into an apartment. The birth date of a mother/father has to preceed the birth date of her/his child. If a person has several citizenships, they must be different. A natural person without a state of inhabitation does not have an address. 6

Outline Visualization of OCL constraints: Constraints on object properties Collections Logical expressions Related work and conclusions 7

Constraints on Object Attributes The birth date of a person comes before the date of moving into an apartment: contextnaturalperson inv: self.birth.attrbirthdate < self.address.attrdateofmovein inv : Address /self : NaturalPerson /self: NaturalPerson birth : Birth attrdateofmovein = x attrbirthdate = y y < x 8

Constraints on Object Methods The age of a person has to be the current date minus the birth date. context NaturalPersoninv: self.getage() = currentdate() - self.birth.attrbirthdate inv a := getage() /self: NaturalPerson : Birth attrbirthdate = b a = currentdate() - b 9

Visualizing Collections The number of addresses of a natural person who is resident or has a known address is at least one. context NaturalPerson inv: self.address -> select(naturalperson.inhabitant.attrstate = #resident or naturalperson.inhabitant.attrstate = #known) -> size > 0 10

Visualizing Collections context NaturalPerson inv: self.address -> select(naturalperson.inhabitant.attrstate = #resident or naturalperson.inhabitant.attrstate = #known) -> size > 0 /self: NaturalPerson a: a: Address Address a : Inhabitant #n attrstate attrstate = #resident #resident #known #known n > 0 shortcut for select: a - iterator, n - result shortcut: set boxes for collections 11

Visualized Logical Expressions The citizenships of a person are different. context NaturalPerson inv: self. citizenship -> forall(x,y: state x.attrcitizenship = y.attrcitizenship implies x = y) shortcut: implies inv: uniquecitizenship /self: NaturalPerson /self : NaturalPerson isin / x: State attrcitizenship = a : State isin / y: State attrcitizenship = b a = b implies / x: State = / y: State shortcut: forall 12

Visualized Logical Expressions The birth date of a mother has to preceed the birth date of her child. context NaturalPersoninv: (self. naturalpersoncare.attrkind = #mother) implies self.birth.attrbirthdate < self. naturalpersoncare.statuoryagent.birth.attrbirthdate 13

inv /self: NaturalPerson /ID: NaturalPersonCare attrkind = #mother id /self: NaturalPerson implies id /ID: NaturalPersonCare attrkind = #mother : Birth attrbirthdate = y statutoryagent : NaturalPerson x > y : Birth attrbirthdate = x 14

Visualized Logical Expressions Disjunction and Conjunction: ((A and B) or C) and D A B C D and or idea for shortcuts: Peircean graphs and 15

Composed Constraints Natural persons without the state of inhabitant don t have an address AND the citizenships of a person are different. inv reference subdiagram content unknownaddress inv: unknownaddress uniquecitizenship inv: uniquecitizenship 16

Related Work Constraint diagrams: Kent et.al. NaturalPerson address Address inv : Address Birth birth attrdateofmovein Date /self: NaturalPerson birth : Birth attrdateofmovein = x attrbirthdate x y attrbirthdate = y y < x 20

Related work Constraint diagrams: Kent et.al. visualization is not based on UML notation partly visualizes OCL formally defined, tool support OCL meta modelling: Richters, Gogolla validation of OCL constraints in snapshots tool support Formal semantics for OCL denotational semantics based on graph transformation 21

Conclusions visualization of OCL based on collaborations limited amount of new core notations variety of visual shortcuts adaption of OCL metamodel stronger integration of the OCL and UML meta models along collaborations future work mapping between textual and visual notations after consolidation of OCL meta model visual editor for proposed OCL notation 22