AMADEOS An Online System for Automated Modeldriven Database Design - - PowerPoint PPT Presentation

amadeos an online system for automated model driven
SMART_READER_LITE
LIVE PREVIEW

AMADEOS An Online System for Automated Modeldriven Database Design - - PowerPoint PPT Presentation

Workshop Cooperation at Academic Informatics Education across Balkan Countries and Beyond: The Impact of Informatics to Society Hvar, 1 st 7 th September 2019. AMADEOS An Online System for Automated Modeldriven Database Design D.


slide-1
SLIDE 1

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

  • D. Banjac, D. Brdjanin, G. Banjac, S. Maric

University of Banja Luka, Bosnia & Herzegovina

AMADEOS – An Online System for Automated Model‐driven Database Design

Workshop “Cooperation at Academic Informatics Education across Balkan Countries and Beyond: The Impact of Informatics to Society” Hvar, 1st – 7th September 2019.

slide-2
SLIDE 2

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Introduction

  • Different surveys show that only a small number of papers present

implemented automatic model‐driven generator of data models

  • AMADEOS ‐ the first online two‐phase business process model‐

driven generator of the conceptual database model (CDM)

  • AMADEOS enables automatic generation of the target data model

based on business process models (BPM) represented by two concrete notations: BPMN and UML activity diagram (UML AD)

  • Target model is represented by a UML class diagram

2

slide-3
SLIDE 3

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Research context

3

M‐lab long‐term research project: Automatic database design driven by business process models

Main project achievements:

2010: the first ideas and prototype UML ADUML CD 2012: identified semantic capacity of BPM for automatic CDM synthesis 2014: ATL‐based generator BPMNUML CD 2017: controlled experiment with database professionals 2017: two‐phase approach to automatic BPM‐driven CDM synthesis 2018: online BPM‐driven CDM generator service 2019: AMADEOS – the first online web‐based system for BPM‐driven CDM synthesis http://m-lab.etf.unibl.org

slide-4
SLIDE 4

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

BPM‐driven CDM synthesis

4

P L2 L1 P_L2 P P_L1 O P1 P1 T1 T2

O

P2

M

P2 M

Classes

O P P T1 T2

O

T1

1 * 0..1 *

T2

P2 P1

M

P1 M P2

*

0..1 P1_M

*

0..1 P2_M

O1 O2

m1

T

T

O1 O2

m2

Associations

O_state

P P T O

[state]

O O O_state P

T1

1 * * 0..1

T2

O

1 *

T1

P T1 T2 O

[state]

O P L2 L1 P_L1 P P_L2

1 *

P_P_L1

1 *

P_P_L2

Our recent experiment conducted with database professionals confirmed that identified semantic potential and implemented generator enable automatic generation of very high percentage of the target model with very high precision:

  • Average effectiveness:
  • ~ 78% (for automatic generation of classes)
  • ~ 85% (for automatic generation of associations)
  • Average recall of the generated model is > 80%
  • Average precision:
  • ~ 75% (for automatically generated classes )
  • ~ 90% (for automatically generated associations)
slide-5
SLIDE 5

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Phase I Phase II

Two‐phase synthesis of the target model

5

UML Activity Diagram BPMN extractor UML AD extractor BMRL BMRL to UML CD generator UML Class Diagram BPMN

slide-6
SLIDE 6

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Illustrative example

6

BMRL BMRL to UML CD generator BPMN extractor

participant Librarian participant Member

  • bject Book
  • bject Request
  • bject Catalog
  • bjectReference ExistingBook_ references Book existing
  • bjectReference ExistingCatalog_ references Catalog existing
  • bjectReference Book_ references Book
  • bjectReference Request_ references Request
  • bjectReference Book_Loaned references Book[Loaned]

task Reception { actor: Member input { Book_ multiplicity 1 }

  • utput { } }

task Issuing { actor: Librarian input { Book_Loaned multiplicity 1 }

  • utput { Book_ multiplicity 1 } }

task Requesting { actor: Member input { ExistingCatalog_ multiplicity 1 }

  • utput { Request_ multiplicity 1 } }

task Loaning { actor: Librarian input { ExistingBook_ multiplicity 1 Request_ multiplicity 1 }

  • utput { Book_Loaned multiplicity 1 } }
slide-7
SLIDE 7

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Previously implemented tools

  • During the last several years of research, we

implemented a set of tools for the automatic CDM synthesis:

– ATL‐based CDM generator based on the single source UML AD – ATL‐based CDM generator based on the single source collaborative BPMN model – Java‐based CDM generator taking a collection of the source UML AD models

  • This set of tools, like all existing tool‐supported

MDSDM approaches, is platform‐dependent – all tools are implemented as Eclipse plug‐ins

7

slide-8
SLIDE 8

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

AMADEOS

  • In order to obtain a platform independent and publicly available

tool for the BPM‐driven CDM synthesis, we performed the migration of these tools into a SOA application

  • The result of the migration is the AMADEOS – an online tool for the

automatic BPM‐driven CDM synthesis

  • AMADEOS currently enables automatic generation of the target

database model, based on BPMs represented by:

– BPMN – UML AD

  • The target database model is represented by UML class diagram
  • AMADEOS GitLab:

https://gitlab.com/m‐lab‐research/amadeos

8

slide-9
SLIDE 9

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

AMADEOS architecture

9

Apache Tomcat CDM generator REST BPMN extractor

source.bpmn source.bmrl

UML AD extractor

source.uml source.bmrl

UML CD generator

cdm.uml

UML CD layouter

cdm.notation source.bmrl cdm.uml

Web browser Client web application Source model processor Model editor Model exporter

source.bpmn / source.uml cdm.uml + cdm.notation

Orchestrator

  • AMADEOS consists of two main components:

– CDM generator – Client web application

slide-10
SLIDE 10

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

AMADEOS CDM generator

  • Services are exposed as RESTFul web

services

  • CDM generator receives a source

BPM represented by BPMN or UML AD

  • Orchestrator service orchestrates

the two‐phase BPM‐driven CDM synthesis:

– Invokes the corresponding BPM extractor – Invokes the UML CD generator service

  • Orchestrator forwards the generated

model to the UML CD Layouter service that generates layout of the diagram

  • Orchestrator merges model and

diagram and returns response

10

slide-11
SLIDE 11

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

AMADEOS Client web application

  • Client web application is available at:

http://m‐lab.etf.unibl.org:8080/amadeos/

  • User selects a source UML AD or BPMN

model

  • Source model processor invokes the remote

CDM generator service and submits the source BPM

  • Client web application processes the JSON

response and visualizes the corresponding UML class diagram in the browser

  • jsUML2* library is used for web visualization
  • Diagram and model can be exported in

native jsUML2 format

11

* http://www.jrromero.net/tools/jsUML2

slide-12
SLIDE 12

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals 12

  • AMADEOS enables web‐based visualization and editing

functionalities of automatically generated database models

Web application provides

  • ptions for adding new

classes and new relationships (generalization, association, aggregation and composition)

AMADEOS Client web application

slide-13
SLIDE 13

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Illustrative example

13

slide-14
SLIDE 14

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Usage of the AMADEOS CDM generator

14

FileDataBodyPart filePart = new FileDataBodyPart("input", new File("path_to_source_model")); FormDataMultiPart multipart = new FormDataMultiPart(); multipart.field("source_model_type", "AD").bodyPart(filePart); // For BPMN: multipart.field("source_model_type", "BPMN").bodyPart(filePart); ClientConfig clientConfig = new ClientConfig().register(MultiPartFeature.class); Client client = ClientBuilder.newClient(clientConfig); WebTarget target = client.target("http://m‐ lab.etf.unibl.org:8080/amadeos/services/").path("generate").path("cdm"); Response response = target.request().post(Entity.entity(multipart, multipart.getMediaType())); if (response.getStatus() == 200) { InputStream is = response.readEntity(InputStream.class); File f = new File("path_to_target_model.uml"); FileUtils.copyToFile(is, f); is.close(); } filePart.cleanup(); multipart.close(); client.close(); response.close();

  • AMADEOS CDM generator can be used from independent client

application which consumes the exposed REST service for generation of the target database model

  • Еxample of the Web service client (Java):
slide-15
SLIDE 15

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

Conclusion and future work

  • AMADEOS - first online BPM‐driven CDM generator implemented as a web‐

based, platform‐independent tool, is presented

  • Its usage can be twofold:

– Using the implemented client web application database designers can upload the source BPM, and get visualised editable CDM directly in the browser – Developers are able to invoke the exposed web service from their own applications

  • The two‐phase synthesis enables the automatic generation of the target CDM

represented by UML class diagram, based on BPMs represented by two concrete notations: BPMN and UML activity diagram

  • In the future we plan to:

– Further identify the semantic capacity of BPMs for automated CDM design – Further improve BMRL – Further improve implemented tools (extractors, generator, layouter) – Cover the whole DB design process  forward engineering of (non)relational DBs – Conduct an experiment with database professionals using AMADEOS

15

slide-16
SLIDE 16

Banjac, Brdjanin, Banjac, Maric: Lessons Learned from an Experiment with Database Professionals

  • D. Banjac, D. Brdjanin, G. Banjac, S. Maric

University of Banja Luka, Bosnia & Herzegovina

Thank You!

AMADEOS – An Online System for Automated Model‐driven Database Design

Workshop “Cooperation at Academic Informatics Education across Balkan Countries and Beyond: The Impact of Informatics to Society” Hvar, 1st – 7th September 2019.