Presentation is loading. Please wait.

Presentation is loading. Please wait.

Next Generation Enterprise Modelling - exercise guide - Dimitris Karagiannis, Robert Buchmann.

Similar presentations


Presentation on theme: "Next Generation Enterprise Modelling - exercise guide - Dimitris Karagiannis, Robert Buchmann."— Presentation transcript:

1 Next Generation Enterprise Modelling - exercise guide - Dimitris Karagiannis, Robert Buchmann

2 Assumed requirements

3 Assumption1: A parking company publishes parking space availability as (3 rd party) Linked Enterprise Data @prefix :. :LegacyData { :ParkingA :availability 2 ; a :ParkingArea. :ParkingB :availability 0 ; a :ParkingArea. :ParkingC :availability 4 ; a :ParkingArea. :ParkingD :availability 0 ; a :ParkingArea. :ParkingE :availability 3 ; a :ParkingArea. } *Data available in provided file thirdpartydata.trig

4 Assumption2: A courier company requires a modelling tool to define courier tasks and map them to geographical areas (cities)

5 Query that only uses model information Query that uses both data and models Assumption3: A courier requires an app where he can select a task (assigned by the courier company) and can see, for that task, all available parking spaces (as published by the parking company) in order to make a reservation

6 Goal of the exercise 1.To create the required modelling tool 2.To enable the creation of the app

7 Modelling tool requirements

8 Assumption: modelling requirements evolve Phase1: I want to model what parking areas are available in each city Phase2: I want to model the courier tasks and map them on cities Phase3: I need that app Interoperability requirement

9 App requirements

10 Get only enterprise data "Give me all parking areas and their availability"

11 Get only model information "Give me all courier tasks"

12 Get enterprise data constrained by model information "Give me all parking areas from cities where I have to go"

13 Get model information constrained by enterprise data "Give me all tasks for which parking spaces are available"

14 Get both model information and enterprise data "Give me all cities where my task will take me, and the available parking spaces"

15 Exercise overview

16

17 Part I. Creating the modelling tool (iterative metamodelling)

18 Iteration I metamodel

19 Iteration I model sample

20 Iteration II metamodel

21 Iteration II model sample

22 Iteration III metamodel

23 Iteration III extensions

24 Part I steps Step1. Create method definition (MML file) – Required Tool: MM-DSL editor Step2. Create ADOxx-specific method library (ABL file) – Tool: MM-DSL editor/compiler Step3. Import library and create models – Tool: ADOxx Dev and Modelling toolkits

25 Iteration I. Step 1 Edit method definition code (MM-DSL) a.Unzip and open provided Eclipse MM-DSL editor b.Create an Eclipse project (File-New Project) c.Either: a.Import the provided MML file (Method files/CityTransportBasic.mml – see pages 10-11 in the guide) b.Create an empty MML file and copy-paste the code d.Have a look on the code structure

26 Iteration I. Step 2 Create ADOxx-specific method library (page 12) a.Open generated ALL file b.Compile c.Refresh explorer d.Look in src-gen folder for ABL file e.Copy-paste ABL file in convenient location

27 Iteration I. Step 3a Create modelling tool (page 13-14) a. Import ABL file in ADOxx b. Create user *Use provided Method files/CityTransportBasic_output.abl to avoid potential errors from previous step

28 Iteration I. Step 3b Create models (page 14) a.Login modelling toolkit b.Create models

29 Iteration II. Step 1 Edit method definition code (MM-DSL) a.Open provided Eclipse MM-DSL editor b.Extend code with new snippets (provided in Extension code file, table Part I) c.Save changes, check for errors d.Have a look at new code Intermediate version of the code available on the Web: http://goo.gl/PfQK5D (mml code intermediate)http://goo.gl/PfQK5D

30 Iteration II. Step 2 Create ADOxx-specific method library (page 12) a.Open generated ALL file b.Compile c.Refresh explorer d.Look in src-gen folder for ABL file e.Copy-paste ABL file in convenient location

31 Iteration II. Step 3a Create modelling tool (page 13-14) a. Import ABL file in ADOxx b. Create user *Use provided Method files/CityTransportExtension1_output.abl to avoid potential errors from previous step

32 Iteration II. Step3b Create models (page 16-17)

33 Iteration III. Step 1 Edit method definition code (MM-DSL) a.Open provided Eclipse MM-DSL editor b.Extend code with snippets (provided in Extension code file, table Part II) c.Save changes, check for errors d.Have a look at new code Final version of the code available on the Web: http://goo.gl/PfQK5D (mml code final) http://goo.gl/PfQK5D

34 Iteration III. Step 2 Create ADOxx-specific method library (page 12) a.Open generated ALL file b.Compile c.Refresh explorer d.Look in src-gen folder for ABL file e.Copy-paste ABL file in convenient location

35 Iteration III. Step 3a Create modelling tool (page 13-14) a. Import ABL file in ADOxx b. Create user *Use provided Method files/CityTransportExtension2_output.abl to avoid potential errors from previous step

36 Iteration III. Step3b Test added functionality (page 20) *Works only in ParkingMap model type

37 Part II. Bridging the technology gap to Linked Data

38 Part II steps Pre-requisite: Have models prepared Step4. Create enterprise data sample – Tool: any test editor Step5. Create model-data links – Tool: modelling tool Step6. Serialize models in XML – Tool: modelling tool Step7. Serialize metamodel in XML – Tool: ADOxx dev toolkit Step8. Transform metamodel in RDF format – Tool: RDF transformer Step9. Transform models in RDF format – Tool: RDF transformer Step10. Upload metamodel, models and enterprise data in Linked Data repository: – Tool: http://rdf.dke.univie.ac.at/openrdf-workbench Step11. Query examples – Tool: http://rdf.dke.univie.ac.at/openrdf-workbench

39 Pre-requisite: prepare models (page 21)

40 Step4. Create third party data (page 22) @prefix :. :LegacyData { :ParkingA :availability 2 ; a :ParkingArea. :ParkingB :availability 0 ; a :ParkingArea. :ParkingC :availability 4 ; a :ParkingArea. :ParkingD :availability 0 ; a :ParkingArea. :ParkingE :availability 3 ; a :ParkingArea. } *Data available in provided file thirdpartydata.trig

41 Step 5: Create model-data links (page 23) For the 4 parking objects in the Parkings model, fill the URI attribute: http://example.org#ParkingA http://example.org#ParkingB http://example.org#ParkingC http://example.org#ParkingD

42 Step6. Serialize models in XML (page 24)

43 Step7. Serialize metamodel in XML (page 25)

44 Step8. Transform metamodel in RDF (page 26-27) Use http://example.org# as a prefix! Make sure the URI attribute is turned blue before saving! *Use as input provided metamodel.xml to avoid potential errors from previous step

45 Step9. Transform models in RDF (page 28) Use http://example.org# as a prefix! *Use as input provided models.xml to avoid potential errors from previous step

46 Step 10: Upload to Linked Data server (page 29-30) Copy (URL only!) Paste (no spaces!) Use the prepared server: http://rdf.dke.univie.ac.at/openrdf-workbench Warning: at first connection, you might need to copy-paste the server URL (see below)

47 Step 10: Upload to Linked Data server (page 29-30) Create a repository (name it after you, without spaces or special characters)

48 Step 10: Upload to Linked Data server (page 29-30) Upload thirdpartydata.trig, models.trig, metamodel.trig (*use provided files to avoid errors from previous steps)

49 Step 11: Run queries (page 29-30) SPARQL Queries are provided in the Queries folder (copy-paste them in Sesame) SPARQL documentation: http://www.w3.org/TR/sparql11-query/

50 Query types Query that only uses model information Query that only uses third party data Query that uses model-data links Query available in Queries/Cities, parkings, spaces for OnDemandTask.txt Query available in Queries/Parking IDs and spaces.txt Query available in Queries/Task names.txt

51 Final app Query that only uses model information Query that uses model-data links


Download ppt "Next Generation Enterprise Modelling - exercise guide - Dimitris Karagiannis, Robert Buchmann."

Similar presentations


Ads by Google