Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project...

57
CTI # 14575.1 PFES-ES Andreas Martin - FHNW Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge Andreas Martin, Sandro Emmenegger and Gwendolin Wilke Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge 1

description

Full Paper Presentation @ The First International Conference on Enterprise Systems ES 2013 - http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6690082

Transcript of Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project...

Page 1: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning

Approach for Project Knowledge

Andreas Martin, Sandro Emmenegger and Gwendolin Wilke

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

1

Page 2: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Table of contents

1. Introduction

1. CTI founded Research Projects

2. [sic!]

3. The application partner

2. Project Goal and Application Scenario

3. The Approach

4. Implementation

5. Conclusion & Future Work

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

2

Page 3: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Introduction CTI founded Research Projects / [sic!] / the application partner

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

3

Page 4: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

CTI founded Research Projects

The Commission for Technology and Innovation (CTI) promotes projects in applied research and development between centres of higher education and companies.

The Swiss Confederation founds 50 % of the total costs.

The application partner must cover at least 50 % of the total costs - the cash contribution must equal at least 10% of the federal contribution.

This work was supported in part by the CTI under Grant 14575.1 PFES-ES.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

4

Page 5: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

This work is an outcome of the research project [sic!].

[sic!] stands for software integration using ontology-based case-based reasoning.

Start: September 2012

End: January 2015

CTI – founding (50%): CHF 285’000.-

Application partner: ELO Digital Office CH AG

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

5

Page 6: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The application partner – ELO Digital Office CH AG

The ELO Digital Office CH AG is a subsidiary of the ELO Digital Office GmbH, which has its headquarters in Stuttgart (Germany).

ELO develops and sells software solutions in the areas of electronic document management, digital archiving and workflow management - Enterprise Content Management (ECM).

ELO Digital Office CH AG is an own legal entity and acts on the Swiss market.

ELO Digital Office CH AG has an extensive network of local partners.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

6

Page 7: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Project Goal and Application Scenario

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

7

Page 8: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Problem

ELO is an international company with branch offices and distribution partners all over Europe…

…project knowledge is distributed over different people…

…and also over different teams in different locations.

For a project worker, it is of vital importance to have access to other people’s historic project knowledge and experience.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

8

Page 9: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Problem and Goal

Current Situation: ELO uses enterprise content management and document management systems, workflow management systems, a user forum, as well as a centralized project database.

Problem: An all-embracing management of historic project knowledge based on problem descriptions is not available.

Goal: Improving and optimizing experience management process …

… by implementing an ontology-based case-based reasoning system.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning

Approach for Project Knowledge 9

Page 10: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario

The application scenarios are elicited from our business partner ELO Digital Office CH AG.

An IT- project usually consists of the following three phases:

In every phase certain project knowledge is needed.

From other people… / about certain technical issues… / etc.

We focus on the sales phase and we derived two exemplary application scenarios:

Application Scenario 1: Answering a customer’s questionnaire.

Application Scenario 2: Searching for a module expert.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

10

Sales Implementation Operation and Maintenance

Page 11: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario - Overview

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

11

Sales Implementation Operation and Maintenance

Page 12: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario - Overview

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

12

Sales Implementation Operation and Maintenance

Page 13: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario - Overview

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

13

Sales Implementation Operation and Maintenance

Page 14: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario 1 Answering a customer’s questionnaire.

In the tendering part of the sales phase of an ECM project, a detailed offer is assembled.

The offer is based on the customer’s specifications and requirements catalogue, which is usually handed out as a questionnaire.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

14

Page 15: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario 1 Answering a customer’s questionnaire.

Typical question:

Is the integration of an ELO product or module possible with a customer’s system component?

If the person in charge does not know the answer…

…it may be helpful to retrieve similar project experience and related documentation.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

15

Page 16: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario 1 Answering a customer’s questionnaire.

The information need of a person trying to answer a question includes details of the integration such as the question

if integration is possible,

if customization is necessary (and possible),

if additional programming effort is necessary,

if there are function parameters, or

if there are functionality constraints.

Example: “Does the ECM/DSM software support archiving the MS Exchange 2007 journal?”

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

16

Page 17: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario 2 Searching for a module expert.

Software integration is often a complex process, where usually different employees are in charge of different subtasks.

In particular, employees usually specialize on different aspects of the integration process or on different ELO modules. E.g., a person with a strong SAP background might be an “ELO SAP module” specialist.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

17

Page 18: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Application Scenario 2 Searching for a module expert.

it may be helpful to retrieve similar historic projects in order to find an module expert.

In this scenario, the information need of the project manager is to find a module expert who has experience with integrating the customer’s system component in question.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

18

Page 19: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach… …and Related Work

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

19

Page 20: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Three basic underlying research topics…

1. Case-based Reasoning (CBR)

2. Enterprise Architectures

3. Enterprise Ontologies

… why using them?

This work is an outcome of a «Design Science Research» instantiation:

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

20

Design science research cycles adapted from (Hevner and Chatterjee, 2010; Hevner et al., 2004)

Page 21: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach 1. Case-based Reasoning (CBR)

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

21

Page 22: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

What is Case-based Reasoning (CBR)

CBR can be seen as “reasoning by remembering”…

and it is a technically independent methodology to humans and information systems.

“Case-based reasoning is both […] the ways people use cases to solve problems and the ways we can make machines use them”.

Two central elements:

1. the CASE

2. the CBR- CYCLE (& CASE- BASE)

(a) SIMILARITY / (b) Adaptation / (c) Evaluation / (d) Learning

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

22

Page 23: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

What is Case-based Reasoning (CBR)

CASE

Traditional CBR terminology: a case consists of a problem space (problem items / descriptions) that is used for describing a certain solution space (solution items).

Bergmann’s CBR terminology: a case consists of a case characterization space that is used for describing a certain lessons space (derived from “lesson learned”).

Our CBR terminology: a case consists of a case characterization (sometimes called metadata) that is used for describing a certain case content (sometimes called lesson).

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

23

Characterization

Content

CASE

That is a concession to the business needs (relevance) – familiar and domain-oriented

wording.

Page 24: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

What is Case-based Reasoning (CBR)

CBR- CYCLE (& CASE- BASE)

Retrieve the most similar cases from the knowledge base (case-base containing previous cases) based on the problem description of the new case (problem case) using a similarity mechanism.

Reuse the knowledge in the retrieved case(s) in order to solve the current problem – adapt the historical knowledge to the new problem (adaptation).

Revise and test the suggested solution e.g. by evaluating it under the real world problem (evaluation).

Retain useful experience (past solutions and failures) for future reuse and store a new case in the knowledge base (case learning).

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

24

Based on: A. Aamodt and E. Plaza, “Case-Based Reasoning : Foundational Issues , Methodological Variations , and System Approaches,” Artificial Intelligence Communications, vol. 7, no. 1, pp. 39–59, 1994.

Page 25: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Why Case-based Reasoning (CBR)?

Findings

Our domain expert focus group (ELO people)

are experts in Enterprise Content Management (ECM).

They are using the latest technology on the market (their own software) for project management.

They have strong expertise in IT and business consulting.

Our main finding is: They are thinking in CASES and METADATA.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

25

Page 26: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Why Case-based Reasoning (CBR)?

Relevance

1. Requirements from business:

A way to gather information and lessons from project- work including metadata and data. → CASE (vocabulary)

A knowledge/data base -> Case- BASE

A way to retrieve similar cases -> SIMILARITY

A generic management process or method -> CBR- CYCLE

A prototypical implementation as IT system -> Case-based Reasoning Application

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

26

Page 27: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Why a new Case-based Reasoning (CBR) Approach?

Relevance

2. Requirements from business:

Focus on standardized methodology and technology.

ELO wishes to easily extend existing models and reuse existing knowledge about the enterprise.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

27

Page 28: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach 2. Enterprise Architectures

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

28

Page 29: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

How to re-use existing knowledge? What can be used and what is available?

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

29

Page 30: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Enterprise Architecture Knowledge about the Enterprise

Enterprise Architectures (AE) are a way to model the relevant aspects of an enterprise and interdependencies between business and information systems.

An Enterprise Architecture (AE) is

“[…] a coherent whole of principles, methods and models that are used in the design and realisation of an enterprise’s organisational structure, business processes, information systems, and infrastructure” (Lankhorst 2009, p. 3).

Example Enterprise Architecture Frameworks (EAF):

Zachman Framework

The Open Group Architecture Framework (TOGAF)

ArchiMate

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

30

Lankhorst, M., 2009. Enterprise Architecture at Work. Berlin, Heidelberg: Springer Berlin Heidelberg.

Page 31: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Enterprise Architecture ArchiMate®

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

31

The Open Group, “ArchiMate® 1.0 Specification,” 2009. [Online]. Available: http://pubs.opengroup.org/architecture/archimate-doc/ts_archimate/.

ArchiMate is a technical standard from The Open Group and is based on the concepts of the IEEE 1471 standard.

Page 32: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Enterprise Architecture ArchiMate® - Example

Business layer

Application layer

Technology layer

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

32

The Open Group, “ArchiMate® 1.0 Specification,” 2009. [Online]. Available: http://pubs.opengroup.org/architecture/archimate-doc/ts_archimate/.

Page 33: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach 3. Enterprise Ontologies

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

33

Page 34: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

How re-use existing knowledge?

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

34

Page 35: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Enterprise Ontologies and Semantic Technologies

“An ontology is a formal, explicit specification of a shared conceptualisation” (Studer, 1998, p. 184)

“The main purpose of an enterprise ontology is to promote the common understanding between people across enterprises, as well as to serve as a communication medium between people and applications, and between different applications” (Leppänen, 2007, p. 273)

Semantic Technologies:

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

35

http://smiy.wordpress.com/2011/01/10/the-common-layered-semantic-web-technology-stack/

Page 36: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

ArchiMEO is an enterprise ontology based on ArchiMate and is extended with selected concepts from other enterprise ontologies.

ArchiMEO is implemented using RDF(s) and OWL.

ArchiMEO has been developed by several team members of the FHNW Information and Knowledge Management Research Group (IKM).

ArchiMEO is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

ArchiMEO is available for download as TTL- files (Terse RDF Triple Language) under: ikm-group.ch/archimeo

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

36

ArchiMate is a technical standard from The Open Group.

RDF(S) / OWL is a W3C standard.

The enterprise ontology ArchiMEO is based on ArchiMate.

Page 37: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach 4. Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

37

Page 38: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

38

Page 39: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Why a new Case-based Reasoning (CBR) approach?

Rigor

Our state of the art analysis has shown that there is a potential for new ontology-based CBR approach, which uses an enterprise architecture formalized in an enterprise ontology.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

39

Page 40: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

The Approach applied to Application Scenario

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

40

Page 41: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

41

Page 42: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation

[sic!] is an iterative research project.

The results presented here are the outcome of the first implementation iteration (Prototype I).

Prototype I: Case Retrieval

Case-based Reasoning Ontology

CBR- Retrieval Component

User Interface

Similarity- Functions

Prototype II: whole CBR-Cycle

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

42

Page 43: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation - Ontologies

ArchiMEO: the Enterprise Ontology as basis.

Case Ontology: selected elements from the Case Management Model and Notation (CMMN).

Similarity Ontology: retrieval mechanism.

CBR Ontology: extends the Case Ontology and the Similarity Ontology for CBR specific needs.

Project Ontology : contains concepts that are specific for project related use cases.

ELO Domain Ontology: domain specific ontology that contains knowledge of ELO.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

43

Page 44: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation - Similarity

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

44

Page 45: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation - Similarity

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

45

What will be compared?

Case Characterization

Content

«New case»

Case Characterization

Content

«case 1»

Case Characterization

Content

«case 2»

Case Characterization

Content

«case X»

Compare

Page 46: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation Case characterization stored in ontology

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

46

System: Third-party systems that will be connected (e.g. ERP System) Requirement: Requirement and Solution (e.g. Archiving) Module: ELO – module (e.g. Backup) BusinessActor: Module expert

Page 47: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation Similarity - Weighting

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

47

Application Scenario 1: Answering a customer’s questionnaire. • Which third-party system should be integrated? • Which requirement should be fulfilled? • Which ELO- module would be worth considering?

Application Scenario 2: Searching for a module expert. • Which ELO system is relevant? • Who is an expert for a specific ELO module?

Page 48: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation - Similarity - Annotations

Similarity functions: (a) levenshtein: minimal number of edit operations when transforming one string to another. (b) version: custom function for comparing versions. (c) average: average of numbers. (d) equals: is one string identical to another.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

48

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

version

name

role

levelrdfs:label

ObjectPropertySimweight: 1simFunction: average

ObjectPropertySimweight: 5simFunction: average

AnnotationPropertySimweight: 3simFunction: equalsannotationProperty: labellanguage: en

ObjectPropertySimweight: 2simFunction: average

DatatypePropertySimweight: 2simFunction: levenshtein

DatatypePropertySimweight: 1simFunction: version

DatatypePropertySimweight: 1simFunction: equals

DatatypePropertySimweight: 3simFunction: levenshtein

Page 49: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Implementation - Similarity - Query Case

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

49

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

version

name

role

levelrdfs:label

ObjectPropertySimweight: 1simFunction: average

ObjectPropertySimweight: 5simFunction: average

AnnotationPropertySimweight: 3simFunction: equalsannotationProperty: labellanguage: en

ObjectPropertySimweight: 2simFunction: average

DatatypePropertySimweight: 2simFunction: levenshtein

DatatypePropertySimweight: 1simFunction: version

DatatypePropertySimweight: 1simFunction: equals

DatatypePropertySimweight: 3simFunction: levenshtein

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

levelrdfs:label

«_queryCase»

«_querySystem»«mySQL»

«_queryModule»

«Backup»

«_queryExpert»

«Expert»

Query Case

Page 50: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

version

name

role

levelrdfs:label

ObjectPropertySimweight: 1simFunction: average

ObjectPropertySimweight: 5simFunction: average

AnnotationPropertySimweight: 3simFunction: equalsannotationProperty: labellanguage: en

ObjectPropertySimweight: 2simFunction: average

DatatypePropertySimweight: 2simFunction: levenshtein

DatatypePropertySimweight: 1simFunction: version

DatatypePropertySimweight: 1simFunction: equals

DatatypePropertySimweight: 3simFunction: levenshtein

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

role

levelrdfs:label

«Case2»

«case2System»«MySQL»

«case2Module»

«Backup»

«case2Expert»

«Programmer»

«Beginner»

version«5.1»

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

role

levelrdfs:label

«Case1»

«case1System»«Oracle»

«case1Module»

«Barcode»

«case1Expert»

«TechConsultant»

«Expert»

version«11g»

Implementation - Similarity - Cases

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

50

Case 1 (in Case Base) Case 2 (in Case Base)

Page 51: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Class Instance Property Weight Function Sim #1 Sim #2 Sim #3

Case

“_queryCase” hasSystem = ”_querySys”

hasModule = ”_queryMod”

“case1” hasSystem = ”case1Sys” 1 average 0.17

0.46 hasModule = ”case1Mod” 5 average 0.52

“case2” hasSystem = ”case2Sys” 1 average 1.0

0.66 hasModule = ”case2Mod” 5 average 0.6

System

“_querySys” name = “MySQL”

version = “”

“case1Sys name = “Oracle” 2 levenshtein 0.17

0.17

version “11g” 1 levenshtein

“case2Sys name = “MySQL” 2 levenshtein 1.0

1.0

version = “5.1” 1 levenshtein

Module

“_queryMod” label = “Backup”

hasExpert “_queryExp”

“case1Mod” label = “Barcode” 3 equals 0.2

0.52

hasExpert = “case1Exp” 2 average 1.0

“case2Mod” label = “Backup” 3 equals 1.0

0.6

hasExpert = “case2MExp” 2 average 0.0

Employee

“_queryExp” role = “”

level = “Expert”

“case1Exp” role = “TechConsultant” 3 levenshtein

1.0

level = “Expert” 1 equals 1.0

“case2Exp” role = “Programmer” 3 levenshtein

0.0

level = “Beginner” 1 equals 0.0

Class Instance Property Weight Function Sim #1 Sim #2 Sim #3

Case

“_queryCase” hasSystem = ”_querySys”

hasModule = ”_queryMod”

“case1” hasSystem = ”case1Sys” 1 average

hasModule = ”case1Mod” 5 average

“case2” hasSystem = ”case2Sys” 1 average

hasModule = ”case2Mod” 5 average

System

“_querySys” name = “MySQL”

version = “”

“case1Sys name = “Oracle” 2 levenshtein 0.17

0.17

version “11g” 1 levenshtein

“case2Sys name = “MySQL” 2 levenshtein 1.0

1.0

version = “5.1” 1 levenshtein

Module

“_queryMod” label = “Backup”

hasExpert “_queryExp”

“case1Mod” label = “Barcode” 3 equals

hasExpert = “case1Exp” 2 average

“case2Mod” label = “Backup” 3 equals

hasExpert = “case2MExp” 2 average

Employee

“_queryExp” role = “”

level = “Expert”

“case1Exp” role = “TechConsultant” 3 levenshtein

1.0

level = “Expert” 1 equals 1.0

“case2Exp” role = “Programmer” 3 levenshtein

0.0

level = “Beginner” 1 equals 0.0

Class Instance Property Weight Function Sim #1 Sim #2 Sim #3

Case

“_queryCase” hasSystem = ”_querySys”

hasModule = ”_queryMod”

“case1” hasSystem = ”case1Sys” 1 average

hasModule = ”case1Mod” 5 average

“case2” hasSystem = ”case2Sys” 1 average

hasModule = ”case2Mod” 5 average

System

“_querySys” name = “MySQL”

version = “”

“case1Sys name = “Oracle” 2 levenshtein 0.17

0.17

version “11g” 1 levenshtein

“case2Sys name = “MySQL” 2 levenshtein 1.0

1.0

version = “5.1” 1 levenshtein

Module

“_queryMod” label = “Backup”

hasExpert “_queryExp”

“case1Mod” label = “Barcode” 3 equals 0.2

0.52

hasExpert = “case1Exp” 2 average 1.0

“case2Mod” label = “Backup” 3 equals 1.0

0.6

hasExpert = “case2MExp” 2 average 0.0

Employee

“_queryExp” role = “”

level = “Expert”

“case1Exp” role = “TechConsultant” 3 levenshtein

1.0

level = “Expert” 1 equals 1.0

“case2Exp” role = “Programmer” 3 levenshtein

0.0

level = “Beginner” 1 equals 0.0

Class Instance Property Weight Function Sim #1 Sim #2 Sim #3

Case

“_queryCase” hasSystem = ”_querySys”

hasModule = ”_queryMod”

“case1” hasSystem = ”case1Sys” 1 average 0.17

0.46 hasModule = ”case1Mod” 5 average 0.52

“case2” hasSystem = ”case2Sys” 1 average 1.0

0.66 hasModule = ”case2Mod” 5 average 0.6

System

“_querySys” name = “MySQL”

version = “”

“case1Sys name = “Oracle” 2 levenshtein 0.17

0.17

version “11g” 1 levenshtein

“case2Sys name = “MySQL” 2 levenshtein 1.0

1.0

version = “5.1” 1 levenshtein

Module

“_queryMod” label = “Backup”

hasExpert “_queryExp”

“case1Mod” label = “Barcode” 3 equals 0.2

0.52

hasExpert = “case1Exp” 2 average 1.0

“case2Mod” label = “Backup” 3 equals 1.0

0.6

hasExpert = “case2MExp” 2 average 0.0

Employee

“_queryExp” role = “”

level = “Expert”

“case1Exp” role = “TechConsultant” 3 levenshtein

1.0

level = “Expert” 1 equals 1.0

“case2Exp” role = “Programmer” 3 levenshtein

0.0

level = “Beginner” 1 equals 0.0

Implementation Similarity - Computation

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

51

cbr:Case

elo:System

elo:Module eo:Person

hasSystem

hasModule hasExpert

name

version

name

role

levelrdfs:label

ObjectPropertySimweight: 1simFunction: average

ObjectPropertySimweight: 5simFunction: average

AnnotationPropertySimweight: 3simFunction: equalsannotationProperty: labellanguage: en

ObjectPropertySimweight: 2simFunction: average

DatatypePropertySimweight: 2simFunction: levenshtein

DatatypePropertySimweight: 1simFunction: version

DatatypePropertySimweight: 1simFunction: equals

DatatypePropertySimweight: 3simFunction: levenshtein

elo:System

eo:Person

name

version

name

role

level

elo:Module

rdfs:label

cbr:Case

elo:System

elo:Module

hasSystem

hasModule

46%

66%

Page 52: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

System architecture

Technology:

Apache Jena: open source Java framework for building Semantic Web applications

OpenDolphin: open-source library for a lightweight remote model-view-controller separation.

JavaFX: GUI framework

TopBraid Composer: an ontology engineering software (paid)

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

52

Page 53: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Conclusion & Future Work

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

53

Page 54: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Conclusion I

Research perspective:

It is possible to retrieve historic project knowledge from a knowledge base using case based reasoning.

The novelty is the in-ontology approach that embeds the knowledge of the enterprise architecture ArchiMate in the CBR system using the W3C conform formalization ArchiMEO.

The similarity mechanism uses relations in the ontology in order to calculate the overall similarity of a query case to a historical case.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

54

Page 55: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Conclusion II

Business perspective

Standardized methodologies and technologies:

Enterprise concepts and relations are based on ArchiMate. «ArchiMate is a technical standard from The Open Group and is based on the

concepts of the IEEE 1471 standard»

ArchiMate is documented and not proprietary.

ArchiMEO is a RDF(S)/OWL ontology. «RDF(S) / OWL is a W3C Semantic Web standard»

No proprietary database technology.

CBR- Similarity uses the SPARQL Inferencing Notation (SPIN) on persistence layer «SPIN is a SPARQL-based rule and constraint language for the W3C Semantic Web.

SPIN is W3C Member Submission and open specification»

No proprietary code on persistence layer and inference support on business logic layer.

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

55

Page 56: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Future work:

Implementation perspective: Current - Prototype 1: Case Retrieval

Automatic Retrieve (Similarity)

Prototype 2: CBR- Cycle

Automatic Retrieve (Similarity),

Manual Reuse (Adaptation), Revision (Evaluation),

Automatic Retain (Case Learning - adding to case-base)

Prototype 3: Case Adaptation & Learning

Automatic Retrieve (Similarity),

Semi-automatically Reuse (Adaptation - OWL/Rule Reasoning & ML) ,

Manual Revision (Evaluation),

Automatic Retain (Case Learning & Ontology Learning - adding to elements to domain ontology, OWL/Rule Reasoning)

Research perspective: Enhance usability and retrieval in Ontology-based CBR using NLP- technology

Adaptation algorithms for the Ontology-based CBR [sic!] approach

Further sophisticated similarity algorithms for the Ontology-based CBR [sic!] approach

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

56

Page 57: Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

CTI # 14575.1 PFES-ES Andreas Martin - FHNW

Integrating an Enterprise Architecture Ontology in a Case-based Reasoning Approach for Project Knowledge

57

Knowledge Work and Case-based

Reasoning

Agile Business Process Management

and Workflow Systems

Enterprise Software Engineering,

Architectures & Development

Semantic Technologies

Enterprise Architectures / Ontologies

Information & Knowledge Management

Computational Linguistics and Natural

Language Processing

You can find me on:

linkedin.com/in/andreasmartinch

andreasmartin.ch

Team member of the FHNW «Information and Knowledge Management Research Group» IKM.

Project lead of the CTI- project «Software Integration using Ontology-based Case-Based Reasoning» [sic!].

Contributor to the ArchiMate based enterprise ontology ArchiMEO.

Always interested in a research collaboration in the following fields: