david aguilera presentation

50
CAiSE 2013 Enforcement of Conceptual Schema Quality Issues in Current Integrated Development Environments David Aguilera Cristina omez Antoni Oliv´ e 1/23

Upload: caise2013vlc

Post on 27-Jun-2015

467 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: David aguilera   presentation

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

CAiSE 2013

Enforcement of Conceptual Schema Quality Issues inCurrent Integrated Development Environments

David AguileraCristina GomezAntoni Olive

1/23

Page 2: David aguilera   presentation
Page 3: David aguilera   presentation
Page 4: David aguilera   presentation
Page 5: David aguilera   presentation
Page 6: David aguilera   presentation

IntroductionIntroduction

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Aim of this Work

Improve the support on addressing quality ofconceptual schemas

Explore and analyse current UML IDEs in order todetermine

the support they offer to modelers,how they offer this support, andwhether this support can be greater

Present a catalog of Conceptual Schema Quality Issues

6/23

Page 7: David aguilera   presentation

IntroductionIntroduction

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Aim of this Work

Improve the support on addressing quality ofconceptual schemas

Explore and analyse current UML IDEs in order todetermine

the support they offer to modelers,how they offer this support, andwhether this support can be greater

Present a catalog of Conceptual Schema Quality Issues

6/23

Page 8: David aguilera   presentation

IntroductionIntroduction

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Aim of this Work

Improve the support on addressing quality ofconceptual schemas

Explore and analyse current UML IDEs in order todetermine

the support they offer to modelers,how they offer this support, andwhether this support can be greater

Present a catalog of Conceptual Schema Quality Issues

6/23

Page 9: David aguilera   presentation

IntroductionIntroduction

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Outline

1 Introduction to Conceptual Schema Quality Issues

2 CSQI in current IDEs

3 A Catalog of CSQI

4 Extending IDEscan IDEs be improved?

5 Evaluationwhat we get VS what we could get

7/23

Page 10: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What is an Issue?

Informal Definition

According to the dictionary:

“an issue is an important topic or problemfor debate or discussion”

In conceptual modeling, we have:

Problem issuesChecking Issues

8/23

Page 11: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What is an Issue?

Informal Definition

According to the dictionary:

“an issue is an important topic or problemfor debate or discussion”

In conceptual modeling, we have:

Problem issuesChecking Issues

8/23

Page 12: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent 2

3child

Owns

IsParentOf

plateNumber:Stringmotorcycle

plateNumber:String

Person

9/23

Page 13: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent 2

3child

Owns

IsParentOf

plateNumber:Stringmotorcycle

plateNumber:String

Person

9/23

Page 14: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent 2

3child

Owns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

9/23

Page 15: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent 2

3child

Owns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

9/23

Page 16: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

9/23

Page 17: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

9/23

Page 18: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

9/23

Page 19: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

9/23

Page 20: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

9/23

Page 21: David aguilera   presentation

Conceptual Schema Quality IssuesConceptual Schema Quality Issues

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Example

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

9/23

Page 22: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

29 IDEs Analysed

10/23

Page 23: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

11/23

Page 24: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

Syntactic

11/23

Page 25: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

Syntactic+

11/23

Page 26: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

Basic Property

11/23

Page 27: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

Naming

11/23

Page 28: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Types: How many of them do they monitor?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

* 1..0parent

childOwns

IsParentOf

plateNumber:Stringm

plateNumber:String

Person

otorcycle

23

(ir)reflexive?(in)transitive?(a)symmetric?

Best Pratice

11/23

Page 29: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringmotorcycle

plateNumber:String

12/23

Page 30: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringmotorcycle

plateNumber:String

12/23

Page 31: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringmotorcycle

plateNumber:String

Forbidden!

12/23

Page 32: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringmotorcycle

plateNumber:String

Forbidden

12/23

Page 33: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringmotorcycle

plateNumber:String

Forbidden

Allowed

Forbidden

12/23

Page 34: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Issue Tolerance: How do they deal with issues?

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:Stringm

plateNumber:String

Forbidden

Allowed

Mixed

otorcycle

12/23

Page 35: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Corrective Actions: Do they help us?

mplateNumber:String

otorcycle

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:String

13/23

Page 36: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Corrective Actions: Do they help us?

mplateNumber:String

otorcycle

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:String

Remove redundant

generalization

Suggested Action

13/23

Page 37: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Corrective Actions: Do they help us?

mplateNumber:String

otorcycle

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:String

13/23

Page 38: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Corrective Actions: Do they help us?

mplateNumber:String

otorcycle

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:StringCapitalize classname

Suggested Action

13/23

Page 39: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Corrective Actions: Do they help us?

MplateNumber:String

otorcycle

Vehicle

LandVehicle

MotorVehicle

Car

{disjoint, complete}

plateNumber:String

13/23

Page 40: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What were we looking for?

Extensibility: Can we add support for new issue types?

OCL or a custom constraint language

A plugin mechanism aimed at this end

14/23

Page 41: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What we found

15/23

Page 42: David aguilera   presentation

CSQI in current IDEsCSQI in current IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

What we found

Syntactic Support

9 None

17 Partial

3 Full

Non-Syntactic Support

14

0

ArgoUML SDMetrics Others

Best PraticeNamingBasic PropertySyntactic+

Issue Tolerance

7Forbidden

10 Mixed

3 Allowed

Corrective Actions (2)ArgoUML, VisualParadigm

Extension Mechanisms (4)Generic Modeling Environment,IBM Rational Rose, MagicDraw UML,SDMetrics

16/23

Page 43: David aguilera   presentation

A Catalog of CSQIA Catalog of CSQI

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Where and How to look for?

“Quality Issues” is not used broadly

“Quality” is used too much

Some works may imply quality issues (e.g. refactorings)

We manually reviewed CAiSE and ER papers

This is obviously an on-going work

17/23

Page 44: David aguilera   presentation

A Catalog of CSQIA Catalog of CSQI

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Where and How to look for?

“Quality Issues” is not used broadly

“Quality” is used too much

Some works may imply quality issues (e.g. refactorings)

We manually reviewed CAiSE and ER papers

This is obviously an on-going work

17/23

Page 45: David aguilera   presentation

A Catalog of CSQIA Catalog of CSQI

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Our Catalog

Issue CatalogID Name

020 A recursive binary association nee

035 A recursive binary association nee

036 A recursive binary association nee

037 Non strongly satisfiable schema be

064 A class has really so many attribut

059 A class is really involved in so man

049 A class really has more than 60 att

023 A class without generalizations or

045 A cycle of composition relationship

046 An abstract class has a concrete p

063 There are no attributes missing in

CMA - Issue Catalog - Mozilla Firefox

Firefox CMA - Issue Catalog

helios.lsi. /phd/catalog/issues.php?select=BEST-PRAupc.edu Google

A class has no name

CMA - Issue Catalog - Mozilla Firefox

Firefox CMA - Issue Catalog

helios.lsi. /phd/catalog/issues.php?select=OCupc.edu Google

According to [SDMetrics] and [ArgoUML], classes should have a descriptive name that reflectsthe concept they represent.

Label

Selector Condition

Description

1 self isEmpty or self size .name-> () .name. () = 0

Issue Condition

#051 :: NAMING-GUIDELINES-unamed-class

The class has no name

1 true

Scope: <Class>

59 non-syntactic issue types (37 problem, 22 checking)11 Syntactic+

20 Basic Properties

10 Naming Guidelines

18 Best Practices18/23

Page 46: David aguilera   presentation

A Catalog of CSQIA Catalog of CSQI

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Our Catalog

Defined in XML

XSLT make them user-friendly

We use a formalization to uniformly define them

We use OCL conditions to detect issues

Problem VS Checking issues

It includes Issue Actions

19/23

Page 47: David aguilera   presentation

Extending IDEsExtending IDEs

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

The problems one may face

Only 4 tools can be extended

They all deal with problem issues, ignoring checkingissues

The formalization they use is less expressive than oursSingle VS multiple scopePrecedents

20/23

Page 48: David aguilera   presentation

EvaluationEvaluation

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Conceptual Schemas and Results

13 conceptual schemas that were developed bystudents, as part of their their final projects, during thelast year of their Computer Science degree.

Evaluation with ArgoUML and SDMetrics:several issues were found.

Evaluation with our catalog: the number of issuesincreases dramatically (10x).

The missing issue types cannot be easily integrated inthese two tools (specially the 22 checking ones).

21/23

Page 49: David aguilera   presentation

ConclusionsConclusions

Introduction

Concept.SchemaQuality Issues

CSQI in currentIDEs

Catalog of CSQI

Extending IDEs

Evaluation

Conclusions

Conclusions

There is a large room for improvement

IDEs should enforce all relevant quality criteria

Only 2 out of 29 IDEs provide some significant support.

We presented our catalog of issue types

We compared the support that is currently offered by thesupport that could be offered (if our catalog was used)

22/23

Page 50: David aguilera   presentation