Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

18
Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU Luca Mazzola, Patrick Kapahnke, and Matthias Klusch German Research Center for Artificial Intelligence (DFKI), Saarbrücken, Germany iiWAS conference 2017Salzburg 05/Dec/2017 iiWAS 2017 , Luca Mazzola

Transcript of Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Page 1: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Pattern-Based Semantic Composition

of Optimal Process Service Plans with

ODERU

Luca Mazzola, Patrick Kapahnke, and Matthias Klusch

German Research Center for Artificial Intelligence (DFKI), Saarbrücken, Germany

iiWAS conference 2017– Salzburg

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 2: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

• Context

• Needs

• ODERU architecture and overview• Semantics for tasks and Services

• Infrastructure and surrounding PEE

• Constraint Optimization for QoS

• Process service plans

• An Application

• Results

• Conclusions

Agenda

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 3: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

• SOA

• BPMN optimization

• XaaS

• Industry 4.0

• QoS Manufacturing Domain

Context

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 4: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

• ICT Integration for BPMN in Manufacturing

• Dynamic design and execution of BPMN

• Adaptation to changing context

• Service and Process Plan Optimisation

• Functional and non-Functional requirements

• Semantic models and KPI representation

• QoS consideration and aggregation methods

• Effective composition of complete PSP

• Support for run-time incremental re-planning

Needs for ODERU

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 5: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Architecture - Infrastructure

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 6: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Architecture – COP for QoS

• BPMN extension for (COP) Constraint Optimization

Problem definition, at the process level

• Based on a newly defined COPSE2 grammar

• Usage of complex formulas

• Adaptable type of constraints

• User-definable optimization objective function

• Internally the COP is solved by the JaCoP package

• Result encoded back into the produced PSP in term

of services selection and/or variable assignments

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 7: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

COPSE2 grammar

05/Dec/2017iiWAS 2017 , Luca Mazzola

1 grammar COPSE2_meta ;

3 problem:'PROBLEM ' type solver problemclass probleminstance output ? 'END

PROBLEM ';

5 type:'TYPE ' Linear Objective 'END TYPE ';

6 Linear:('linear '|'nonlinear ');

7 Objective:('single '|'multi ');

9 solver:'SOLVER ' Solver 'END SOLVER ';

10 Solver:(' centralized '|'distributed '|'both ');

12 problemclass:'CLASS ' variables constants ? functions ? constraints ?

objectivefunction + 'END CLASS ';

14 variables:'VARIABLES ' ( Identifier | ArrayIdentifier )+ 'END VARIABLES ';

15 constants:'CONSTANTS ' ( Identifier | ArrayIdentifier )+ 'END CONSTANTS ';

16 functions:'FUNCTIONS ' function + 'END FUNCTIONS ';

17 functionSignature:Identifier '(' identifierList ')';

18 function:functionSignature '=' ( expr | ifexpr );

20 Comparison:' >='|' <='|'== '|'!= '|'>'|'<';

21 Assignment:'=';

22 expr:'-'? term (('+'|'-') term )*;

23 term:mterm (('*'|'/'|'^') mterm )*;

24 dim:Identifier '. length ' ;

26 loop:('SUM '|'PRODUCT ') '(' Identifier ',' ( Number | dim) ',' ( Number | dim) ',‘

expr ')';

28 mterm:( Identifier | ArrayElem | REAL |'(' expr ')'|('MIN '|'MAX ') '{' expr (',‘ expr

)* '}'| functionSignature | dim| Number | loop );

30 ifexpr:'IF ' expr Comparison ( expr | Number ) 'THEN ' ( expr | ifexpr ) 'ELSE ' (

expr | ifexpr ) 'END IF ';

32 constraints:'CONSTRAINTS ' constraint + 'END CONSTRAINTS ';

33 constraint:expr ( Comparison | Assignment ) ( expr | Identifier | Number );

35 objectivefunction:('minimize '|'maximize ') expr ('->' URI)?;

37 probleminstance:'INSTANCE ' variabledomains ? constantvalues ? 'END

INSTANCE ';

39 variabledomains:'DOMAINS ' vdomain + 'END DOMAINS ';

40 constantvalues:'VALUES ' cvalue + input ? 'END VALUES ';

42 input:'INPUT ' inputEntry + 'END INPUT ';

43 inputEntry:Identifier '<-' '(' Identifier ',' URI ')';

44 URI:'http :// ' ([a-zA -Z0 -9/.]) + '#' ([a-zA -Z0 -9]) +;

46 vdomain:( Identifier | ArrayIdentifier ) ( Number | '[' Number ',' Number ']' |

'{' Number (',' Number )* '}');

47 cvalue:( Identifier | ArrayElem ) Assignment Number ;

49 output:'OUTPUT ' ( valueAssignment | serviceSelection )+ 'END OUTPUT ';

50 valueAssignment:( Identifier | ArrayElem ) '->' '(' Identifier ',' URI ')';

51 serviceSelection:ArrayIdentifier ':: ' Identifier ;

53 fragment Letter:[a-zA -Z];

54 fragment ANumber:[0 -9];

55 fragment INF:('INF '|'-INF ');

57 Number:(( '-'? ( ANumber +| ANumber * '.' ANumber +) ('*' ('10 '|'e') '^' '-'?

ANumber +)?)|INF);

59 Identifier:Letter ( Letter | ANumber |'_')*;

60 ArrayIdentifier:Identifier '[] ';

61 ArrayElem:Identifier '['Identifier ']';

62 identifierList:Identifier (',' Identifier )*;

64 WS: [ \t\r\n]+ -> skip ;

Page 8: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Example of COP definition

05/Dec/2017iiWAS 2017 , Luca Mazzola

1 PROBLEM

3 TYPE linear single END TYPE

4 SOLVER both END SOLVER

6 CLASS

7 VARIABLES

8 S

9 END VARIABLES

11 CONSTANTS

12 α β γ Costs[] Quality[] Tolerance[] Limit_C Min_Q Max_T

13 END CONSTANTS

15 FUNCTIONS

16 Objective_Function (S) = SUM (i ,1,S.length ,S[i] * (α * Costs[i]

+ β * (1 - Quality[i]) + γ * Tolerance[i]) )

17 Produced_Quality (S) = PRODUCT (i ,1,S. length , IF S[i] == 1

THEN Quality[i] ELSE 1 END IF )

18 Produced_Tolerance (S) = SUM (i ,1,S.length ,S[i] *

Tolerance[i])

19 END FUNCTIONS

21 CONSTRAINTS

22 SUM (i ,1,S.length , Costs[i]) < Limit_C

23 Produced_Quality (S) >= Min_Q

24 Produced_Tolerance (S) < Max_T

25 END CONSTRAINTS

27 minimize Objective_Function (S) ->

http://CREMA/Ont/fake.owl#TaskCosts

29 END CLASS

31 INSTANCE

33 DOMAINS

34 S[]{0 ,1}

35 END DOMAINS

37 VALUES

38 α = 1.0 β = 0.2 γ = 0.1 Limit_C = 125 Min_Q = 0.5 Max_T = 3

39 INPUT

40 Costs <- ( Task_ X, http://CREMA/Ont/fake.owl#ServiceCosts

)

41 Quality <- ( Task_ X,

http://CREMA/Ont/fake.owl#ServiceQuality )

42 Tolerance <- ( Task_ X,

http://CREMA/Ont/fake.owl#ServiceTolerance )

43 END INPUT

44 END VALUES

46 END INSTANCE

48 OUTPUT

49 Produced_Quality (S) -> ( Task_ X

http://CREMA/Ont/fake.owl#TaskQuality )

50 Produced_Tolerance (S) -> ( Task_ X,

http://CREMA/Ont/fake.owl#TaskTolerance )

51 END OUTPUT

53 END PROBLEM

Page 9: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Architecture – PSP

2 steps: Service selection + Optimal Service composition

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 10: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Example of PSP

05/Dec/2017iiWAS 2017 , Luca Mazzola

1 <? xml version ="1.0" encoding =" UTF -8" ?>

2 <bpmn:definitions xmlns:bpmn=" http://www.omg.org/spec/BPMN

/20100524/MODEL“ xmlns:crema ="http ://crema-project.eu“

3 id="Definitions_1" targetNamespace ="http://bpmn.io/schema/bpmn">

4 <bpmn:process id="Process_1 " isExecutable =" true ">

5 <bpmn:extensionElements >

6 <crema:metadata >

7 <crema:optimization >

8 <crema:formulation > <![ CDATA [...]] > </ crema:formulation >

9 <crema:results >

10 <crema :log > <![ CDATA [ ...]] > </ crema :log >

11 <crema:dimension name=" Objective_Function (S)"><crema:value

>37</crema:value ></ crema:dimension >

12 </ crema:results >

13 </ crema:optimization >

14 <crema:implementation >

15 <crema:service implements="ServiceTask_1yjnl8n " seq ="1" origin

="optimization ">

16 <crema:marketplaceServiceID >6e0940f0-289f-45ee-b514

</crema:marketplaceServiceID >

17 <crema:owlsDescription > http ://.../6e0940f0-289f-45ee-b514.owl

</crema:owlsDescription >

18 <crema:assignments >

19 <crema:variable name =" Produced_Quality " service ="6e0940f0-

289f-45ee-b514-efd533ae9be0">

20 <crema :value >186.92 </ crema :value >

21 </crema:variable >

22 <crema:variable name =" Produced_Tolerance " service ="6e0940f0-

289f-45ee-b514-efd533ae9be0">

23 <crema :value >186.92 </ crema :value >

24 </crema:variable >

25 </ crema:assignments >

26 <crema:bindings >

27 <crema:binding >

28 <crema:origin >

29 <crema:variable name =" SparePart1 " service =" b5be92ca-a10e-

4386-80be-ead09a8cb9ce " />

30 </ crema:origin >

31 <crema:target >

32 <crema:variable name =" SpRef " service ="6e0940f0-289f-45ee-

b514-efd533ae9be0 " />

33 </ crema:target >

34 </ crema:binding >

35 <crema:binding >

36 <crema:origin >

37 <crema:env />

38 </ crema:origin >

39 <crema:target >

40 <crema:variable name =" Cu1 " service ="6e0940f0-289f-45ee-b514 -

efd533ae9be0 " />

41 </ crema:target >

42 </ crema:binding >

43 </ crema:bindings >

44 </ crema:service >

45 ...

46 </ crema:implementation >

47 </ crema:metadata >

48 </ bpmn:extensionElements >

49 ...

50 </ bpmn:process >

51 </ bpmn:definitions >

Page 11: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Architecture – PSP

Multiple PSP based on gateway “expansion”

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 12: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

An Application: PM

05/Dec/2017iiWAS 2017 , Luca Mazzola

• Very simple PM: raw material -> delivered brake disk

• Include the piece bending, drilling and engraving

• Need to be executed in two different production parts

• Different services (simple or composed) existing to

achieve the only “single usage” resource in the PM

(Mechanical Production), with different QoS

Page 13: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

An Application: services

iiWAS 2017 , Luca Mazzola

SA

SB1+2+3

Page 14: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

An Application: COP

05/Dec/2017iiWAS 2017 , Luca Mazzola

• This is for the first instance (I1)

• For I2 the constant values are:

ϕ = 0.8

χ = 0.1

ψ = 1.0

Functions Problem definition

Page 15: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Results

05/Dec/2017iiWAS 2017 , Luca Mazzola

Objective function values Comparison for I1& I2

(α = 1.0 β = 0.2 γ = 0.1)

With different parameters, the PSP can conflict for the

same resource:

User can decide which instance to make suboptimal

Page 16: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

Conclusions

05/Dec/2017iiWAS 2017 , Luca Mazzola

• ODERU : innovative flexible solution to optimal

service composition of process models

• Create functionally correct plans and supports

optimization of non-functional aspects (QoS-based)

• Advantages:

• Full integration with the BPMN process model

• directly enactable PSP by an PEE (execution

environment) as it contains services selection,

data bindings, and variable assignments

• Example: optimise two instances of a mechanical

process (disk brake production) in case of service

exclusive usage and with conflicting requirements

Page 17: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

ResourcesMazzola, L., Kapahnke, P., Vujic, M., & Klusch, M. (2016). CDM-Core: A Manufacturing Domain

Ontology in OWL2 for Production and Maintenance. In KEOD (pp. 136-143).

Mazzola, L., Kapahnke, P., Waibel, P., Hochreiner, C., & Klusch, M. (2017). FCE4BPMN: On-

demand QoS-based optimised process model execution in the cloud. In Proceedings of the

23rd ICE/IEEE ITMC Conference. IEEE.

Mazzola L., Kapahnke P., Klusch M. (2017) ODERU: Optimisation of Semantic Service-Based

Processes in Manufacturing. In: Różewski P., Lange C. (eds) Knowledge Engineering and

Semantic Web. KESW 2017. Communications in Computer and Information Science, vol 786.

Springer, Cham

Mazzola L., Kapahnke P., Klusch M. (2017). Pattern-Based Semantic Composition of Optimal

Process Service Plans with ODERU. In Proceedings of The 19th Int. Conference on

Information Integration and Web-based Applications & Services, Salzburg, Austria, December 4–

6, 2017 (iiWAS ’17), 10 pages. DOI: https://doi.org/10.1145/3151759.3151773

Mazzola L., and Kapahnke P. (2017). DLP: a Web-based Facility for Exploration and Basic

Modification of Ontologies by Domain Experts. In Proceedings of The 19th Int. Conference on

Information Integration and Web-based Applications & Services, Salzburg, Austria, December 4–

6, 2017 (iiWAS ’17), 5 pages. DOI: https://doi.org/10.1145/3151759.3151816

05/Dec/2017iiWAS 2017 , Luca Mazzola

Page 18: Pattern-Based Semantic Composition of Optimal Process Service Plans with ODERU

THANKS FOR THE ATTENTION

[email protected]

[email protected]

http://www.crema-project.eu

H2020-RIA agreement 637066

https://www.linkedin.com/in/mazzolaluca/

The ODERU code can be found at:

https://oderu.sourceforge.io/

05/Dec/2017iiWAS 2017 , Luca Mazzola