David aguilera presentation

Post on 27-Jun-2015

465 views 0 download

Tags:

Transcript of 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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