# The Orchestra of

### Presentations text content in The Orchestra of

The Orchestra ofMultiple Model Repositories

Sergejs Kozlovičssergejs.kozlovics@lumii.lv

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide2The ``Orchestra'' Metaphor

Orchestra:multiple musical instrumentsplaying simultaneously

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide3The ``Orchestra'' Metaphor

Orchestra:multiple musical instrumentsplaying simultaneously multiple model repositoriesaccessed simultaneously(inter-repository links are possible)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide4The ``Orchestra'' Metaphor

Orchestra:multiple musical instrumentsplaying simultaneously multiple model repositoriesaccessed simultaneously(inter-repository links are possible)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide5Meta-s

* a publication * a newspaper * The San Francisco Chronicle * the May 18 edition of the The San Francisco Chronicle * my copy of the May 18 edition of the The San Francisco Chronicle * my copy of the May 18 edition of the The San Francisco Chronicle as it was when I first picked it up (as contrasted with my copy as it was a few days later: in my fireplace, burning)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

The "Gödel, Escher, Bach" book

by Douglas Hofstadter

Slide6MOF Meta-Levels (Linguistic)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide7002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Artifacts are organized into three layers:

the meta-metamodel;metamodels conforming to the meta-metamodel;models conforming to some particular metamodel.

The Three-Level Conjecture

(I. Kurtev and J. Bézivin)

Slide8The Three-Level Conjecture(I. Kurtev and J. Bézivin, 2005)

Artifacts are organized into three layers:the meta-metamodel;metamodels conforming to the meta-metamodel;models conforming to some particular metamodel.The meta-metamodel is able to describe itself.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide9MOF Meta-Levels (Linguistic)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

UML metamodel

UML model

MOF

conforms to

conforms to

conforms to

Slide10Technical Spaces(I. Kurtev, J. Bézivin, and M. Aksit; 2002, 2005)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

UML metamodel

UML model

MOF

conforms to

conforms to

conforms to

MOF TS

OWL classes

OWL individuals

OWL DL

conforms to

conforms to

conforms to

RDF/OWL TS

ER-model (DB schema)

DB rows

DB system tables

conforms to

conforms to

conforms to

Relational DB TS

Slide11Technical Spaces (cont.)(I. Kurtev, J. Bézivin, and M. Aksit; 2002, 2005)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

XML schema

(.xsd)

XML document

XML metaschema(XSD.xsd)

conforms to

conforms to

conforms to

XML TS

Java grammar

Java program

BNF

conforms to

conforms to

conforms to

Grammarware TS

Slide12Why different technical spaces?

One TS can be more suitable than anotherReusing skills and knowledge of a familiar TSA capability not available in a desired TS can be borrowed from another TS

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide13TS interoperability

Offline solution: using projectors and extractors (B´ezivin et al.)“Online” (On-the-fly) solution: this paper!No deep copying of the data is required!

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide14Problem 1: Numerous different repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

See Table 1 in the paper!

Slide15Repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

See Table 1 in the paper!

MOF TS:

EMF

CDO

MDR (NetBeans)

Enchanced Model Repository

MetaMart Metadata Repository

JR

...

Slide16Repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

The solution is a univeral Repository Access API, RAAPI

t

da.lumii.lv/raapi.html

Slide17Problem 2: Ontological meta-levels

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide18Ontological meta-levels

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide19Meta-Levels (Ontological)

A meta-metamodel that supports infinitely many ontological meta-levels (used by the JR repository):

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide20Meta-Levels (Ontological)

A meta-metamodel that supports infinitely many ontological meta-levels (used by the JR repository):

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide21Meta-Levels (Ontological)

OWL Full also supports infinitely many ontological meta-levels.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide22Shostaks' conjecture

It is difficult for a human to think at more than two meta-levels at a time.Still, it is pretty easy for a human to focus on any two adjacent meta-levels.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide23Shostaks' conjecture

It is difficult for a human to think at more than two meta-levels at a time.Still, it is pretty easy for a human to focus on any two adjacent meta-levels.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Agris Šostaks

a

t SOFSEM 2012

Slide24We divide the repository into two parts:M3 contating the meta-metamodel; fixed for a particular repository/technical space;all other data (either M2+M1 or multiple ontological meta-levels)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Dealing with Šostaks' conjecture

Slide25Dealing with Šostaks' conjecture

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

RAAPI is designed to work with any two adjacent meta-levels

Switching between levels and mixing them is possible by, e.g., passing a reference to a class when a reference to an object is expected.

Slide26The Idea

The kernel represents all repositories as one big virtual repository.The kernel substitutes native references (integers) of each repository by globally unique proxy references.Inter-repository links are stored in the pivot repository.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide27Kernel Metamodel (the essence)

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide28RAAPI call example: createLink()

createLink(obj1_ref, obj2_ref, association_ref);If all proxy references point to the same repository, the call is forwarded to this repository.Otherwise, an inter-repository link is created and stored in the pivot repository.

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide29Organizing repositories

Unix file system directory tree:/boot/bin/mnt /mnt/c /mnt/d/media /media/cdrom/etc

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

m

ount points

Slide30Organizing repositories

Package tree (~ UML package tree):Package1Package2Package2::SubPackagePackage3Package4Use “MountPoint::ClassName” to access a class in a mounted repository

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

m

ount points

Slide31Organizing repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Slide32Organizing repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

New repository

SubP

Slide33002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Problem 3:

Manipulating the packages

How to merge packages?

I.e., when working with class Package1::A, objects and properties of Package2::A are also taken into a consideration.

Slide34Virtual repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Virtual repository

SubP

Relies on data from somewhere else

(or, invents data)

Slide35Virtual repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Virtual repository

SubP

Relies on data from somewhere else

Slide36Virtual repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Virtual repository

SubP

Relies on data from somewhere else

On-the-fly

m

odel

transformation

Slide37Use cases for virtual repositories

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Slide38Views on metamodels

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Virtual repository

SubP

View

Base

metamodel

Slide39Volatile repository

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

Pivot

Root

package

P1

P2

Virtual repository

(stores its content

In RAM)

SubP

Volatile

repository

Slide40Virtual merge

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

P

Q

Slide41Virtual merge

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

P

Virtual repository

i

mplementing

“merge”

Q

P

Slide42Derived (calculated) associations and properties

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

A

B

Slide43Derived (calculated) associations and properties

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

A

B

A

B

Virtual repository

c

omputes

the association

Slide44Derived (calculated) associations and properties

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

A

B

A

B

Virtual repository

c

omputes

the association

Finally, we just need to virtually merge these two packages!

merge

Slide45Virtual copy

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

P

Slide46Virtual copy

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

P

Virtual

repository

2

P’

P

(old data)

Virtual

repository

1

Slide47Virtual copy

002

Research Laboratory of Modeling and Software Technologies

Institute of Mathematics and Computer Science, University of Latvia

P

Virtual

repository

2

P’

P

(old data)

Virtual

repository

1

Δ

2

Δ

1

Slide48Slide50

Slide51

Slide52

Slide53

Slide54

Slide55

Slide56

Slide57

## The Orchestra of

Download Presentation - The PPT/PDF document "The Orchestra of" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.