A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues

Post on 17-Jul-2015

103 views 0 download

Tags:

Transcript of A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

A Method for theUnified Definition and Treatment ofConceptual Schema Quality Issues

Thesis supervised byDr. Antoni Olivé

Dr. Cristina Gómez

David AguileraJune 6th, 2014Barcelona

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

Which means software's qualityhas become essentialto our society.

Introduction

3SOMMERVILLE, I. Software Engineering, 9 ed. Addison-Wesley, 2010

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Quality

The degree up to which a set ofproperties are met.

It depends on the perspective: - Innate excellence - Product-based - User-based - Manufacturing-based - Value-based

Introduction

4GARVIN, D.A.. What does “product quality” really mean? Sloan Manag. Review 26, 1 (1984), 25-43

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Quality in Software

It's been classically focused on evaluating the final product.

ISO standards - ISO 9000 - ISO/IEC 1926

Proposals in the literature

Introduction

5

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Maintenance

Software Development Process

Requirements

Design

Impl. & Unit Testing

Integration & Testing

Introduction

Classic Waterfall Model

Agile Methodologies(like SCRUM, with iterations)

6SOMMERVILLE, I. Software Engineering, 9 ed. Addison-Wesley, 2010

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Evaluating Quality in Software

Focusing on the Final Product ispositive and necessary...

...but is not as efficient as it could be.

numbercost

time

Introduction

7

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conceptual Modeling

Essential Activity in theRequirements Stage of the

Software Development Process

Introduction

8OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conceptual Modeling

Conceptual SchemaGeneral Knowledge for an Information Systemto operate.

Essential Activity in theRequirements Stage of the

Software Development Process

Introduction

8OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Problem

Defining Conceptual Schemasis a complex and difficult activity,

but the support modelers get is scarce.

There's a lot of work in the literature,but it does not reach practitioners.

Introduction

9

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Goal of this Thesis

Improve the Quality ofConceptual Schemas

We want to help conceptual modelers.We want their tools to assist them. - Study and characterize several quality criteria. - Create a catalog that unifies those criteria. - Implement a conceptual modeling assistant.

Introduction

10

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Addressed Quality Dimensions

We focus on those dimensions that can be evaluated using the schema itself.

According to conceptual modeling quality frameworks: - Syntactical Quality - Empirical Quality - Other dimensions, such as semantic validity, comprehension, ...

Introduction

11

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Motivation

Formalization of Quality Issues

Catalog of Quality Issues

Conceptual Modeling Assistant

outline

02

03

04

05Notes on Efficient Evaluation06Conclusions and Future Work07

Introduction01

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

MotivationWhat we want. What we have.

13

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Goal of this Thesis

Improve the Quality ofConceptual Schemas

We want to help conceptual modelers to create conceptual schemas: - that are syntactically correct, - that are complete, - whose elements are relevant, - that follow a set of best practices...

Motivation

14

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

LandVehicle

MotorVehicle

CarplateNumber:String

motorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

15

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be syntactically correct.e.g. generalization cycles

Motivation

LandVehicle

MotorVehicle

CarplateNumber:String

motorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be syntactically correct.e.g. generalization cycles

Motivation

LandVehicle

MotorVehicle

CarplateNumber:String

motorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be syntactically correct.e.g. generalization cycles

Motivation

LandVehicle

MotorVehicle

CarplateNumber:String

motorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Remove one generalization to break the cycle

16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be syntactically correct.e.g. generalization cycles

Motivation

LandVehicle

MotorVehicle

CarplateNumber:String

motorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

16OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. redundant generalizations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. redundant generalizations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. redundant generalizations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Remove redundantgeneralization

Motivation

17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. redundant generalizations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

17OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Pull-Up PropertyRefactoring

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Pull-Up PropertyRefactoring

Incomplete GeneralizationSet

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, complete}

parent 23child

IsParentOf

Owns* 0..1

Incomplete GeneralizationSet

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it not to have duplicated info.e.g. repeated attributes

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

18FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 23child

IsParentOf

Owns* 0..1

I want it to be correct.e.g. non-empty populations

Motivation

19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be correct.e.g. non-empty populations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 23child

IsParentOf

Owns* 0..1

Motivation

19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be correct.e.g. non-empty populations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 23child

IsParentOf

Owns* 0..1

Changemultiplicities

Motivation

19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be correct.e.g. non-empty populations

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

IsParentOf

Owns* 0..1

Changemultiplicities

parent 20..3child

Motivation

19OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1

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

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1

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

Yes, all relevant constraints are in the schema.

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1

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

Yes, all relevant constraints are in the schema.

Create an asymmetry constraint, which is missing.

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1Create an asymmetry

constraint, which is missing.

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we would like to have...

I want it to be complete.e.g. awareness of (possibly) missing information

LandVehicle

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

Person{disjoint, incomplete}

parent 20..3child

IsParentOf

Owns* 0..1

context Person inv: self.child.child-> excludes( self )

Motivation

20OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

But, what do we have today?

Motivation

- Inspections, testing, reviews, …

- There are several quality properties pu- blished (and scattered) in the literature.

- There are also proposals for efficiently dealing with inconsistencies.

- Current modeling tools o er little toff no support for dealing with this stu .ff (ArgoUML, Rational Rose, USE, Poseidon, ...)

21

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

FormalizationA

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization

Characterization of Quality Issues

A

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization

Characterization of Quality Issues

A

Issue AScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Issue AContext, conditions...

Issue CScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog CMA

Modeling Tool

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Issue AContext, conditions...

Issue CScope, conditions...

Motivation

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Issue AContext, conditions...

Issue CScope, conditions...

Motivation

CMA

Modeling Tool

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Issue AContext, conditions...

Issue CScope, conditions...

1. This gen is redu2. Association has3. Constraint does

Motivation

CMA

Modeling Tool

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

1. This gen is redu2. Association has3. Constraint does

Catalog

Issue AContext, conditions...

Issue AScope, conditions...

Issue AContext, conditions...

Issue BScope, conditions...

Issue AContext, conditions...

Issue CScope, conditions...

Formalization

Characterization of Quality Issues

A

Issue AScope, conditions...

Motivation

CMA

Modeling Tool

22

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Design Science Research

“its fundamental principle is that knowledge and understanding

of a design problem and its solutionare acquired in the building and

application of an artifact”.

Motivation

23HEVNER, A. R., MARCH, S. T., PARK, J., AND RAM, S. Design science in information systems research, MIS Q. 28, 1 (2004) 75-105

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Design Science Research

Quality Properties

Characterization and Formalization

Catalog CMA

State of the Art

ChallengeAssist Modelers and Improve Quality

SearchingAdaptingTesting

Motivation

24

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Characterization and Formalization ofConceptual Schema Quality Issues

25

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What is an Issue?

“an important topic or problemfor debate or discussion”

Formalization

26

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What is an Issue?

“an important topic or problemfor debate or discussion”

In essence, it is a condition the schema should not satisfy to: - be syntactically correct, - be complete, - ensure all elements are relevant, - follow a best practice...

Formalization

26

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What is an Issue?

Formalization

An Issue Type describes the problem.

An Issue Instance is a concrete instanceof that problem in the schema.

27

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What is an Issue?

An Issue Type describes the problem.

An Issue Instance is a concrete instanceof that problem in the schema.

Formalization

Type: “There are redun-dant generalizations”

Instance: “g1 is redundant”

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

27

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

An Issue Type must be able to specify: - which kind of elements may raise an issue, - which elements do actually raise it, - how to fix that issue, and - when and how should that issue be addressed

Formalization

28

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

An Issue Type must be able to specify: - which kind of elements may raise an issue, - which elements do actually raise it, - how to fix that issue, and - when and how should that issue be addressed

Formalization

28

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Formalization

28

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }Sx (scope) and Φx (applicability condition)

determine the potential set of elements that may raise an issue of type Ix

Formalization

29

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }Sx (scope) and Φx (applicability condition)

determine the potential set of elements that may raise an issue of type Ix

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Formalization

29

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }Sx (scope) and Φx (applicability condition)

determine the potential set of elements that may raise an issue of type Ix

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Sx = { Generalization }

Formalization

29

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }Sx (scope) and Φx (applicability condition)

determine the potential set of elements that may raise an issue of type Ix

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Sx = { Generalization }Φx (g) = “there are two generalizations ga and gb such that: g.general = ga.general g.specific = gb.specific

Formalization

29

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

ρx (issue condition) determines if an element in Pot(Ix) does actually raise an issue of type Ix

Formalization

30

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

ρx (issue condition) determines if an element in Pot(Ix) does actually raise an issue of type Ix

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

ρx (g) = “there is an indi-rect generalization path between g.general and g.specific”

Formalization

30

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

ρx (issue condition) determines if an element in Pot(Ix) does actually raise an issue of type Ix

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

ρx (g) = “there is an indirect generalizations path between g.general and g.specific”

Formalization

30

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ox is a set of actions that help the conceptual modeler to fix an issue instance

Formalization

31

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Ox = { “remove redundant generalization” }

Ox is a set of actions that help the conceptual modeler to fix an issue instance

Formalization

31

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Ox = { “remove redundant generalization” }

Ox is a set of actions that help the conceptual modeler to fix an issue instance

Formalization

31

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

g1g2

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Ox = { “remove redundant generalization”,“break the indirect path of generalizations” }

Ox is a set of actions that help the conceptual modeler to fix an issue instance

Formalization

31

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

g1

g3, g4

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Ox = { “remove redundant generalization”,“break the indirect path of generalizations” }

Ox is a set of actions that help the conceptual modeler to fix an issue instance

Formalization

31

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Formalization

32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Ia = “there is a cycle of generalizations”

Ib = “there are redundant generalizations”

Formalization

g1g2

g3

LandVehicle

MotorVehicle

Car32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Ia = “there is a cycle of generalizations”

Ib = “the generalization is redundant”

Formalization

g1g2

g3

LandVehicle

MotorVehicle

Car32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Ia = “there is a cycle of generalizations”

Ib = “the generalization is redundant”

Formalization

g1g2

g3

LandVehicle

MotorVehicle

Car32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Ia = “there is a cycle of generalizations”

Ib = “the generalization is redundant”

Formalization

g1g2

g3

LandVehicle

MotorVehicle

Car32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Px is a set of precedents, which are issue types that must not have issues for considering Ix.

Ia = “there is a cycle of generalizations”

Ib = “the generalization is redundant”

Pb = { Ia }

Formalization

g2

g3

LandVehicle

MotorVehicle

Car32

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

Formalization

33

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

Problem Issues can only be fixed by changing the schema, so that the issue does no longer exist.

Formalization

34

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

LandVehicle

MotorVehicle

Car Motorcycle

{disjoint, complete}

Formalization

34

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

Checking Issues require the conceptual modeler to manually check something.

There might be situations in which this checking will entail some changes in the schema.

Formalization

35

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

“Check whether the asso-ciation «IsParentOf» needs a constraint enforcing the symmetry property.”

Formalization

35

Personparent 0..2

*child

IsParentOf

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

Personparent 0..2

*child

IsParentOf

Formalization

35

“Check whether the asso-ciation «IsParentOf» needs a constraint enforcing the symmetry property.”

context Person inv: self.child.child-> excludes( self )

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Kx (kind) can either be Problem or Checking.

Personparent 0..2

*child

IsParentOf

Formalization

35

“Check whether the asso-ciation «IsParentOf» needs a constraint enforcing the symmetry property.”

context Person inv: self.child.child-> excludes( self )

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

Formalization

36

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, complete}

If non-acceptable,we must modify the schema in a way such that the issue disappears.

Formalization

37

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, complete}

If non-acceptable,we must modify the schema in a way such that the issue disappears.

Formalization

37

Pull-up Property

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicleplateNumber:String

Car Motorcycle

{disjoint, complete}

If non-acceptable,we must modify the schema in a way such that the issue disappears.

Formalization

37

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, complete}

If non-acceptable,we must modify the schema in a way such that the issue disappears.

Formalization

37

Change it to incomplete

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, incomplete}

If non-acceptable,we must modify the schema in a way such that the issue disappears.

Formalization

37

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, complete}

If acceptable,the modeler can simply state that he won't fix it the schema.

Formalization

38

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

Ix = { Sx, Φx, ρx, Ox, Px, Kx, Ax }

Ax (acceptability) indicates whether anissue type is Acceptable or Non-acceptable

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{disjoint, complete}

If acceptable,the modeler can simply state that he won't fix it the schema.

Formalization

38

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Life cycle of an Issue Instance

Formalization

Non-AcceptableProblem Issue

AcceptableProblem Issue

Non-AcceptableChecking Issue

AcceptableChecking Issue

PendingPending

Accepted

Pending

CheckedChecked

Pending

Accepted

Deletion

Deletion Deletion Deletion

Acc

ept

Acc

ept

Chec

k

Chec

k

Rec

onsi

der

Rec

onsi

der

Rec

onsi

der

Rec

onsi

der

39

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

A Catalog of Quality Issues

40

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog

Design Science Research requiresan artifact to be built.

Catalog

A Catalog of Quality Issues presents quality properties uniformly and

demonstrates the expressiveness and usefulness of our method.

41

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Expressiveness

The catalog includes all metamodel constraints plus 65 additional non-syntactic quality issue types.

(from conceptual modeling books, papers, and IDEs)

Catalog

We defined them as Quality Issues using

our formalization.

42

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Syntactic Issue TypesAn integrity constraint defined in the UML metamodel.

For example,“There is a cycle of generalizations.”

43OBJECT MANAGEMENT GROUP (OMG), Unified Modeling Language (UML), Superstructure, 2011

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Syntactic Issue TypesAn integrity constraint defined in the UML metamodel.

LandVehicle

MotorVehicle

Car

Non-acceptable Problem = <Classifier> = true = self.allParents()-> includesSelf()

S Φ ρ

43

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Syntactic Plus Issue Types (11)Integrity constraints applicable when UML is used as a conceptual modeling language.

For example,“An attribute has no type.”

44MOODY, D.L., Metrics for evaluating the quality of entity relationship models. In ER, vol. 1507 of LNCS. Springer, 1998, pp. 211-225

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Syntactic Plus Issue Types (11)Integrity constraints applicable when UML is used as a conceptual modeling language.

CarplateNumber

Non-acceptable Problem = <Property> = it is an attribute = self.type()-> notEmpty()

S Φ ρ

44

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Basic Quality Issue Types (20)Fundamental properties for a schema to be correct, relevant, and complete.

For example,“The schema is not strongly satisfia-ble because of a recursive associa-tion.”

45OLIVÉ, A. Conceptual Modeling of Information Systems, Springer, 2007

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Basic Quality Issue Types (20)

Personparent 2

3child

IsParentOf

Fundamental properties for a schema to be correct, relevant, and complete.

Non-acceptable Problem = <Association> = “is binary and recursive” = “the multiplicities are not strongly satisfiable”

S Φ ρ

45

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Best Practices (18)Issues that are recommended by some authors in some contexts.

For example,“An attribute repeated among all specific classes of an incomplete generalization set is correct.”

46FOWLER, M. Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Best Practices (18)Issues that are recommended by some authors in some contexts.

(Non-)Acceptable Checking = <gs:GenSet, s:String> = “gs is incomplete” = “every specific class of gs has an attribute named s”

S Φ ρ

MotorVehicle

CarplateNumber:String

MotorcycleplateNumber:String

{incomplete}

46

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Naming Guidelines (16)Special kind of best practices, focused on the names given to schema elements.

For example,“The name of a boolean attribute is not a third-person singular verb-phrase.”

47AGUILERA, D., GÓMEZ, C., OLIVÉ, A., A complete set of guidelines for naming UML conceptual schema elements.Data Knowl. Eng. 88, 0 (2013), 60-74

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Classification

Catalog

Naming Guidelines (16)Special kind of best practices, focused on the names given to schema elements.

(Non-)Acceptable Problem = <Property> = “it is boolean” = “its name is not a verb phrase written in singu- lar third-person form”

S Φ ρ

Personadult:Boolean

47

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Usefulness

We analyzed 13 conceptual schemas developed by students as part of their

final projects in a Computer Science degree.

Catalog

Size of the schemas (median):- 17 Classes- 3 AssocClases- 12 Associations

- 56 Attributes- 8 Invariants

48

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Usefulness

Catalog

All conceptual schemas presentedseveral Quality Issues!

Number of issues (median):- 0 Syntactic+- 111 Basic Properties

- 33 Best Practices- 24 Naming Guidelines

Size of the schemas: - 17 Classes - 3 AssocClases - 12 Associations

- 56 Attributes- 8 Invariants

49

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Explore and Analyze current UML IDEs, comparing them with our catalog

Support by Current IDEs

29 Modeling ToolsFocus on the UML

Conceptual Modeling Tasks

Catalog

50

(ArgoUML, Rational Rose, USE, Poseidon, SDMetrics...)

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

- Do they control syntactic issue types?- What about other issue types?- How do they o er this support?ff- Do they provide assistance for fixing them?- Can they be extended with new issue types?

Support by Current IDEs

Catalog

Explore and Analyze current UML IDEs, comparing them with our catalog

51

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we found...

Syntactic Support3 Full

17 Partial

9 None

Catalog

52

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we found...

Syntactic Support Non-Syntactic Support

S+ BasProp BestPrac Naming

20

0

3 Full

17 Partial

9 NoneCatalogArgoUMLSDMetrics

CatalogCatalog

52

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we found...

Syntactic Support Non-Syntactic Support3 Full

17 Partial

9 None

S+ BasProp BestPrac Naming

20

0

CatalogArgoUMLSDMetrics

CatalogCatalog

Corrective Actions - 2 tools only

52

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we found...

Syntactic Support Non-Syntactic Support

Extension Mechanisms - 4 tools only

3 Full

17 Partial

9 None

S+ BasProp BestPrac Naming

20

0

CatalogArgoUMLSDMetrics

Catalog

Corrective Actions - 2 tools only

52

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Support by IDEs vs. our Catalog

Best IDEs today ArgoUML and SDMetrics

The number ofissues detected by our catalog versus

those detected by these toolsis 10 times larger!

Catalog

53

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Fair Comparison... (extensibility?)

- Only 4 tools can be extended

- They all deal with problem issues, thus ignoring checking issues

- The formalization they use is less expressive than ours

Catalog

54

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conceptual Modeling AssistantImplementation of a Prototype Tool

55

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Eclipse

CMA based on Eclipse

Plugin

Plugin

Plugin

Workbench

Platform Runtime

WebTools

Java DevTools

CMA

Design Science Research requiresan artifact to be built.

56

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

CMA

57

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

UML2Tools

OCLInterpreter

CMA

57

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issu

e Ty

pe

Man

ager

Issue View(feedback)

CMA

57

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

IssueTypeXML

Issu

e Ty

pe

Man

ager

CMA

57

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

Remote Server

IssueCatalog

IssueTypeXML

Issu

e Ty

pe

Man

ager

CMA

57

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog

CMA

58

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog – Regular Issue Types

CMA

<issue nid=”038” id=”redundant-gen” kind=”problem” acceptance=”non-acceptable”>

<context>Generalization</context> <title>A generalization is redundant</title>

<applicability-condition> Generalization.allInstances()->select( g1, g2 | g1 <> self and g2 <> self and g2.specific = self.specific and g2.general = self.general ) ->notEmpty() </applicability-condition>

<!-- issue-condition, description, actions... -->

</issue>59

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog – Black-Box Issue Types

CMA

60

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

IssueCatalogIssue

TypeXML

Issu

e Ty

pe

Man

ager

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog – Black-Box Issue Types

CMA

60

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

IssueCatalogIssue

TypeXML

Issu

e Ty

pe

Man

ager

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog – Black-Box Issue Types

CMA

60

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

IssueCatalogIssue

TypeXML

Issu

e Ty

pe

Man

ager

«interface»IBlackBoxIssueType

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog – Black-Box Issue Types

CMA

60

UML2Tools

OCLInterpreter

CMA Plugin

Issue Processor

Issue View(feedback)

IssueCatalogIssue

TypeXML

Issu

e Ty

pe

Man

ager

«interface»IBlackBoxIssueType

BlackBoxIssueType

getPotentialSet()doesRaiseAnIssueType(Tuple)

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

CMA

CMA

61

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

CMA

CMA

61

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Efficient Evaluationof Quality Issues

62

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

63

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Issues?Evaluate the Applicability and Issue Conditions for every instance of the scope.

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

63

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

64

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

64

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

64

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

The name of the boolean attribute «adult» is not a verb phrase.

64

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

This evaluation takes time.

We want to detect quality issuesas fast as possible.

65

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Computation of Issue Instances

Incremental

“Not all changes that can be applied to the schema have an e ect on the ffevaluation of the expression”.

Incremental Methods

66

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes:

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1

Incremental

Personadult:Boolean

Bookfree:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

The name of the boolean attribute «free» is not a verb phrase.

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1 - Change the name of A2

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1 - Change the name of A2

Incremental

PersonisAnAdult:Boolean

BookisABestSeller:Boolean

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1

Incremental

Manadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1 - Add a new attribute - Delete an association - Create a generalization

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

67

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Incremental

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1 - Add a new attribute - Delete an association

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”The goal of an Incremental Method

is to determine the set of changesthat (might) change the result of

evaluating an expression.

68

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Incremental

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1 - Add a new attribute - Delete an association - Create a generalization

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

69

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Incremental

Possible changes: - Change the name of A1 - Change the name of A2 - Change the name of C1 - Add a new attribute - Delete an association - Create a generalization

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

69

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Incremental Methods

Incremental

Personadult:Boolean

BookisABestSeller:Boolean

The name of the boolean attribute «adult» is not a verb phrase.

Sx = { Property }ρx(a) = “the name of a boolean attribute is not a verb phrase”

69

Possible changes: - Change the name of A1 - Change the name of A2 - Change the type of A2 - Delete A2 - Delete an association - Create a generalization

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Efficient Detection of Issues

We selected Egyed's method and applied it toour algorithm, taking into account: - Applicability and issue conditions - Precedents

Modify the algorithm forcomputing issue instances with an

instance-based incremental approach.

Incremental

70EGYED, A. Automatically detecting and tracking inconsistencies in software design models.IEEE Trans. Softw. Eng. 37, 2 (2011), 188-204

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Improvements in Efficiency

Regular approach (schemas <500 elems)

Incremental approach

Avg. 9 seconds Max. over 5 minutes

Max. 250 millisecs

Incremental

The results are conclusive.

71

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conclusions and Future Work

72

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conclusions

The ProblemDefining Conceptual Schemas is a complex and difficult activity, but the support modelers get is scarce.

Conclusions

73

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conclusions

The ProblemQuality in Conceptual Modeling is important,but the support modelers get is scarce.

The SolutionA method for defining and treating Quality Issues,

whose goal is to assist conceptual modelers.

(based on current literature)

The ProblemDefining Conceptual Schemas is a complex and difficult activity, but the support modelers get is scarce.

Conclusions

73

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

1Formalization

Conceptual Schema Quality Issues- Definition- (Efficient) Detection- Solution

Conclusions

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.A method for the definition and treatment of conceptual schema quality issues.In ER (2012), vol. 7532 of LNCS, Springer, pp. 501-514 74

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

2Catalog

Issues from the literature- UML/OCL- Syntactic correctness- Best practices and guidelines

Conclusions

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.A complete set of guidelines for naming UML conceptual schema elements.Data Knowl. Eng. 88, 0 (2013), 60-74

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.Enforcement of conceptual schema quality issues in current Integrated Development Environments. In CAiSE (2013), vol. 7908 of LNCS, Springer, pp. 626-640

75

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

3CMA

Conceptual Modeling Assistant- The Eclipse Platform- Implements the method- Integrates the catalog

Conclusions

AGUILERA, D., GARCÍA-RANEA, R., GÓMEZ, C., AND OLIVÉ, A.An eclipse plugin for validating names in UML conceptual schemas. InER Workshops (2011), vol. 6999 of LNCS, Springer, pp. 323-327

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.An eclipse plugin for improving the quality of UML conceptual schemas. InER Workshops (2012), vol. 7518 of LNCS, Springer, pp. 387-390 76

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?

77

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Extending the Catalog

78

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Integration with Testing

79

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Validation with Real Users and Projects

80

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Automatic Reparation

81

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Publications

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.Enforcement of conceptual schema quality issues in current Integrated Development Environments.In CAiSE (2013), vol. 7908 of LNCS, Springer, pp. 626-640

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.An eclipse plugin for improving the quality of UML conceptual schemas.In ER Workshops (2012), vol. 7518 of LNCS, Springer, pp. 387-390

AGUILERA, D., GARCÍA-RANEA, R., GÓMEZ, C., AND OLIVÉ, A.An eclipse plugin for validating names in UML conceptual schemas.In ER Workshops (2011), vol. 6999 of LNCS, Springer, pp. 323-327

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.A complete set of guidelines for naming UML conceptual schema elements.Data Knowl. Eng. 88, 0 (2013), 60-74

AGUILERA, D., GÓMEZ, C., AND OLIVÉ, A.A method for the definition and treatment of conceptual schema quality issues.In ER (2012), vol. 7532 of LNCS, Springer, pp. 501-514

82

Conclusions

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

David AguileraUPC - Barcelona

Dr. Olivé and Dr. Gómez

A Method for theUnified Definition and Treatment ofConceptual Schema Quality Issues