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

174
CMA Incremental Conclusions Motivation Formalization Catalog Introduction A Method for the Unified Definition and Treatment of Conceptual Schema Quality Issues Thesis supervised by Dr. Antoni Olivé Dr. Cristina Gómez David Aguilera June 6th, 2014 Barcelona

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

Page 1: 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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

We cannot run the modern worldwithout software

2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

MotivationWhat we want. What we have.

13

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Motivation

22

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

FormalizationA

Motivation

22

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization

Characterization of Quality Issues

A

Motivation

22

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization

Characterization of Quality Issues

A

Issue AScope, conditions...

Motivation

22

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Overview of Our Method

Formalization Catalog

Characterization of Quality Issues

A

Issue AScope, conditions...

Motivation

22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Characterization and Formalization ofConceptual Schema Quality Issues

25

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What is an Issue?

“an important topic or problemfor debate or discussion”

Formalization

26

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Issue Type Definition

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

Formalization

28

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 )

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

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 )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

A Catalog of Quality Issues

40

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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...)

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What we found...

Syntactic Support3 Full

17 Partial

9 None

Catalog

52

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conceptual Modeling AssistantImplementation of a Prototype Tool

55

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

CMA

57

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Plug

ins

Architecture of our CMA

Eclipse

Workbench

Platform Runtime

UML2Tools

OCLInterpreter

CMA

57

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

The Catalog

CMA

58

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

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

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

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

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

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

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

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

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

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)

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

CMA

CMA

61

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

CMA

CMA

61

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Efficient Evaluationof Quality Issues

62

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

Conclusions and Future Work

72

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

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

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

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

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

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

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

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

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

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

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?

77

Conclusions

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Extending the Catalog

78

Conclusions

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Integration with Testing

79

Conclusions

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Validation with Real Users and Projects

80

Conclusions

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

CMA Incremental ConclusionsMotivation Formalization CatalogIntroduction

What's next?Automatic Reparation

81

Conclusions

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

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

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

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