29
An MDA based environment for modelling and executing business Negotiations Pierfranco Ferronato, Jason Finnegan Soluta.Net, TSSG/WIT

One Dsl4negotiations Presented

Embed Size (px)

DESCRIPTION

Digibiz conference Paper about the ONE project\'s architecture

Citation preview

Page 1: One Dsl4negotiations Presented

An MDA based environment for modelling and executing business

Negotiations

Pierfranco Ferronato, Jason Finnegan

Soluta.Net, TSSG/WIT

Page 2: One Dsl4negotiations Presented

[email protected] - [email protected]

The ONE projectONE Open Negotiation EnvironmentProposal/Contract no.: FP6-034744www.one-project.euStarted: September 2006End: June 2009

Page 3: One Dsl4negotiations Presented

[email protected] - [email protected]

ONE Objective''The main objective of the project is to enrich Digital Ecosystems with an negotiation environment where organisations can specify and execute negotiation models for supplying complex, services or products as a virtual organisation''

''To solve these problems, a negotiation environment must be affordable, open, not centrally managed, support the sharing of knowledge via flexible security and trust policies and be able to learn and evolve with the changing business conditions''

In essence: allow users to create and customized their own negotiation models and to run them in a web environment

Page 4: One Dsl4negotiations Presented

[email protected] - [email protected]

ONE, the Environments

Page 5: One Dsl4negotiations Presented

[email protected] - [email protected]

The environments

ONE

ONE ProjectDevelopment

Negotiation Factory(negotiation modelling)

Negotiation RuntimeEnvironment

Negotiation Setup

Negotiation Execution)

Announcement

Publish

Page 6: One Dsl4negotiations Presented

[email protected] - [email protected]

The Model Editor

Simplified

Negotiation Features

Negotiation Notation

Page 7: One Dsl4negotiations Presented

[email protected] - [email protected]

ONE Web Portal

Page 8: One Dsl4negotiations Presented

[email protected] - [email protected]

Creating a negotiation

Page 9: One Dsl4negotiations Presented

[email protected] - [email protected]

Sending Admission Request

Page 10: One Dsl4negotiations Presented

[email protected] - [email protected]

Evaluating Offer

Page 12: One Dsl4negotiations Presented

[email protected] - [email protected]

ONE, the MDA Approach

Page 13: One Dsl4negotiations Presented

[email protected] - [email protected]

The architectural strategyDefine a DSL (metamodel) for business negotiations Generate the model editor from the metamodelRun the model editor to generate XMI files for the

modelProcess the XMI file at run-time to generate

negotiation instances (adding data to the model)Models and instances are stored in model-

independent content repositoryHave a negotiation engine execute the XML file

Page 14: One Dsl4negotiations Presented

[email protected] - [email protected]

Role of a DSLCapture domain knowledge as assets!Terms like:Acceptance, constraints, offer, price, admission, issue, discount, negotiations, agreement, owner, participant,...

Actions like:To admit, To offer, to agree, to be invited,...

A “template” for models creationFrom a DSL many models can be createdAllow an high level of reuse of tooling which becomes model independentNo re-coding in case of new models

Allow adaptability/flexibilityIncrease the ROI

Page 15: One Dsl4negotiations Presented

[email protected] - [email protected]

How to create a DSL?UML/BPMN subset

UML is too complex, the effort requires does not allow

BPMN is not Negotiation specific, customization is required

Customization of a UML tool feasible

UML/BPMN Profile

Doable but not effective when creating a model

Hard to tailor an UML tool

Customization of a UML tool feasible

A new language (MOF or ECORE)

Hard to create

Very effective

A new DSL Editor has to be created

ONE Project decided for the 3rd approach

Page 16: One Dsl4negotiations Presented

[email protected] - [email protected]

Creating a DSLIt was decided to Enterprise Architect UML Editor

which has the ability to create metamodels and to export XMI 1.2/MOF 1.4 for reusability

From the computable MOF metamodel through a series of transformation we could generate the and execute the negotiations

Page 17: One Dsl4negotiations Presented

[email protected] - [email protected]

Conceptc l a s s N e g o t i a t i o n C o n c e p t s

N e g o t i a t i o n{ l e a f }

- i d : S t r i n g- v e r s i o n : S t r i n g- c r e a t i o n D a t e : D a t e- n a m e : S t r i n g+ v i s i b i l i t y : V i s i b i l i t y K i n d

N e g o t i a t i o n E l e m e n t

I t e m

N e g o t i a t i o n P r o t o c o l{ l e a f }

A c t o r

- i d : S t r i n g

N e g o t i a t i o n T y p e{ a b s t r a c t }

N e g o t i a t i o n R o l e{ a b s t r a c t }

N e g o t i a t i o n E l e m e n t

I s s u e

N e g o t i a t i o n M e s s a g e

A g r e e m e n t

« e n u m e r a t i o n »V i s i b i l i t y K i n d

p r i v a t e p u b l i c

r e s o l v e s

+ i s s u e 1 . . *

+ i s s u e 1 . . *

c o m p o s e do f

+ s u b - i s s u e

c o m p o s e d O f

0 . . *

+ i t e m 1 . . *

c o m p r i s e d O f

s p e c i f i e s

+ r o l e 2 . . *

+ p r o t o c o l

1

e x e c u t e s

1

d e f i n e s

+ p a r t y2 . . *

d e f i n e s

h a s

+ r o l e1

+ n e g o t i a t i o n 0 . . *

i si n v o l v e d

+ p a r t y 1 . . *

N a m e :P a c k a g e :V e r s i o n :A u t h o r :

N e g o t i a t i o n C o n c e p t s« m e t a m o d e l » N e g o t i a t i o n M e t a M o d e l1 . 0W I T

SimplifiedResult of work of the Waterford Institute of Technology, Ireland

Page 18: One Dsl4negotiations Presented

[email protected] - [email protected]

Information MMc l a s s I n f o r m a t i o n M e t a M o d e l

N e g o t i a t i o n M e t a M o d e l : :N e g o t i a t i o n

{ l e a f }

I s s u e

N e g R u l e : : C r i t e r i a

N e g o t i a t i o n E l e m e n t{ a b s t r a c t }

- i d : S t r i n g

A t t r i b u t e

- n a m e : S t r i n g

T y p e s : : T y p e{ a b s t r a c t }I t e m

A t t r i b u t e V a l u e

N e g R u l e : :N e g o t i a t i o n R u l e

{ a b s t r a c t }

h a s

+ t y p e 1

+ v a l u e

+ i s s u e

1 . . *

c o m p o s e do f

c o - r e l a t e d*

+ s u b - i s s u ec o m p o s e d O f0 . . *

+ c r i t e r i a *

c o n s t r a i n e d B y

*

+ a t t r i b u t e

1 . . *

c o n s t r a i n e d B y

+ c r i t e r i a

*

+ i t e m 1 . . *

N a m e :P a c k a g e :V e r s i o n :A u t h o r :

I n f o r m a t i o n M e t a M o d e l« m e t a m o d e l » N e g I n f o r m a t i o n M e t a M o d e l1 . 0W I T

Simplified

c l a s s F a c i l i t y M a n a g e m e n t I n f o r m a t i o n M o d e l

« I t e m »B u i l d i n g C l e a n i n g

- i d : S t r i n g

« A t t r i b u t e »- n a m e : S t r i n g- a d d r e s s : S t r i n g- t y p e : S t r i n g

« I s s u e »P r i c e

- i d : S t r i n g

« A t t r i b u t e »- p r i c e : i n t

N a m e :P a c k a g e :V e r s i o n :A u t h o r :

F a c i l i t y M a n a g e m e n t I n f o r m a t i o n M o d e lI n f o r m a t i o n M o d e l1 . 0W I T

Result of work of the Waterford Institute of Technology, Ireland

Page 19: One Dsl4negotiations Presented

[email protected] - [email protected]

Action language issueNegotiations need imperative language for decision block

“If time left <5 minutes and new offers arrive, then extend negotiation deadline by other 10 minutes”

“Final price is equal to the value of the second offer arrived “

Behavioral logic (xUML) in UML/OMG is a recent UML “extension”

We opt to go with Java Script which was added to the XMI streamed-line modelNot formal but practical for the need of the projectStraight to the run-time where the Java code can be

executed

Page 20: One Dsl4negotiations Presented

[email protected] - [email protected]

MDA Enabling Technologies

Page 21: One Dsl4negotiations Presented

[email protected] - [email protected]

How it was created and used

.eap fileGenerates

NMM XMI.ecore file

NegotiationModel Editor

NMXMI

NM XMIwith values

Ecore->JPDL

transformationJPDL

transformation

Sparx SystemsEA Custom Code

Setup

Negotiation Engine

Bean Shell

Page 22: One Dsl4negotiations Presented

[email protected] - [email protected]

Setup <negmod:InformationModel xmi:id="_fE-B8DODEdysSf1x7kCsFQ"> <primitiveTypes xmi:type="negmod:OneBoolean" xmi:id="_fE-B8TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneByte" xmi:id="_fE-B8jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneChar" xmi:id="_fE-B8zODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneDate" xmi:id="_fE-B9DODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneDouble" xmi:id="_fE-B9TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneFloat" xmi:id="_fE-B9jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneInt" xmi:id="_fE-B9zODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneLong" xmi:id="_fE-B-DODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneShort" xmi:id="_fE-B-TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneString" xmi:id="_fE-B-jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneImage" xmi:id="_fE-B-jKKKdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneXML" xmi:id="_fE-B-XMLKdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneBinary" xmi:id="_fE-BYNARYdysSf1x7kCsFQ"/>

<items xmi:type="negmod:Item" xmi:id="_HzoM8DOEEdysSf1x7kCsFQ" name="MobilePhone" issues="_cWQigDOPEdysSf1x7kCsFQ _IdbhcDOQEdysSf1x7kCsFQ"> <attributes xmi:type="negmod:Attribute" xmi:id="_RdId0DOEEdysSf1x7kCsFQ" name="brand" type="_fE-B-jODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_AjgNQDOPEdysSf1x7kCsFQ" name="model" type="_fE-B-jODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_DWBYMDOPEdysSf1x7kCsFQ" name="type" type="_fE-B-jODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_GDBJ8DOPEdysSf1x7kCsFQ" name="cameraDetail" type="_fE-B-jODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_I9SisDOPEdysSf1x7kCsFQ" name="isBlueTooth" type="_fE-B8TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kCsFQ" name="isColourScreen" type="_fE-B8TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_SobLQDOPEdysSf1x7kCsFQ" name="isGPRS" type="_fE-B8TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_VrLxoDOPEdysSf1x7kCsFQ" name="isRadio" type="_fE-B8TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_YW_3oDOPEdysSf1x7kCsFQ" name="isLocked" type="_fE-B8TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kKKKK" name="PhonePicture" type="_fE-B-jKKKdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kKXML" name="PhoneXML" type="_fE-B-XMLKdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kKBIN" name="PhoneBinary" type="_fE-BYNARYdysSf1x7kCsFQ"/> </items> <issues xmi:type="negmod:Issue" xmi:id="_cWQigDOPEdysSf1x7kCsFQ" name="Price" constrainedBy="_GCIm4DOUEdysSf1x7kCsFQ _SNd7UDOUEdysSf1x7kCsFQ"> <attributes xmi:type="negmod:Attribute" xmi:id="_6vmfgDOPEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_C4stkDOQEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ"/> </issues> <issues xmi:type="negmod:Issue" xmi:id="_IdbhcDOQEdysSf1x7kCsFQ" name="Usage"> <attributes xmi:type="negmod:Attribute" xmi:id="_LlZ_ADOQEdysSf1x7kCsFQ" name="isUsed" type="_fE-B8TODEdysSf1x7kCsFQ"/> </issues> <criteria xmi:type="negmod:Criteria" xmi:id="_eZtykDOQEdysSf1x7kCsFQ" name="ReleasedDate"> <attributes xmi:type="negmod:Attribute" xmi:id="_geVVsDOQEdysSf1x7kCsFQ" name="date" type="_fE-B9DODEdysSf1x7kCsFQ"/> </criteria> <criteria xmi:type="negmod:Criteria" xmi:id="_GCIm4DOUEdysSf1x7kCsFQ" name="StartPrice"> <attributes xmi:type="negmod:Attribute" xmi:id="_IDCHoDOUEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_MxEkEDOUEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ"/> </criteria> <criteria xmi:type="negmod:Criteria" xmi:id="_SNd7UDOUEdysSf1x7kCsFQ" name="ReservePrice"> <attributes xmi:type="negmod:Attribute" xmi:id="_UhInEDOUEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ"/> <attributes xmi:type="negmod:Attribute" xmi:id="_WsdPIDOUEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ"/> </criteria> </negmod:InformationModel>

xmi:type="negmod:Attribute" name="brand"

xmi:type="negmod:Attribute" name="isBlueTooth"

<negmod:InformationModel xmi:id="_fE-B8DODEdysSf1x7kCsFQ"> <primitiveTypes xmi:type="negmod:OneBoolean" xmi:id="_fE-B8TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneByte" xmi:id="_fE-B8jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneChar" xmi:id="_fE-B8zODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneDate" xmi:id="_fE-B9DODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneDouble" xmi:id="_fE-B9TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneFloat" xmi:id="_fE-B9jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneInt" xmi:id="_fE-B9zODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneLong" xmi:id="_fE-B-DODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneShort" xmi:id="_fE-B-TODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneString" xmi:id="_fE-B-jODEdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneImage" xmi:id="_fE-B-jKKKdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneXML" xmi:id="_fE-B-XMLKdysSf1x7kCsFQ"/> <primitiveTypes xmi:type="negmod:OneBinary" xmi:id="_fE-BYNARYdysSf1x7kCsFQ"/>

<items xmi:type="negmod:Item" xmi:id="_HzoM8DOEEdysSf1x7kCsFQ" name="MobilePhone" issues="_cWQigDOPEdysSf1x7kCsFQ _IdbhcDOQEdysSf1x7kCsFQ"> <attributes xmi:type="negmod:Attribute" xmi:id="_RdId0DOEEdysSf1x7kCsFQ" name="brand" type="_fE-B-jODEdysSf1x7kCsFQ" value="Nokia"/> <attributes xmi:type="negmod:Attribute" xmi:id="_AjgNQDOPEdysSf1x7kCsFQ" name="model" type="_fE-B-jODEdysSf1x7kCsFQ" value="N70"/> <attributes xmi:type="negmod:Attribute" xmi:id="_DWBYMDOPEdysSf1x7kCsFQ" name="type" type="_fE-B-jODEdysSf1x7kCsFQ" value="321/7"/> <attributes xmi:type="negmod:Attribute" xmi:id="_GDBJ8DOPEdysSf1x7kCsFQ" name="cameraDetail" type="_fE-B-jODEdysSf1x7kCsFQ" value="2Mp"/> <attributes xmi:type="negmod:Attribute" xmi:id="_I9SisDOPEdysSf1x7kCsFQ" name="isBlueTooth" type="_fE-B8TODEdysSf1x7kCsFQ" value="true"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kCsFQ" name="isColourScreen" type="_fE-B8TODEdysSf1x7kCsFQ" value="true"/> <attributes xmi:type="negmod:Attribute" xmi:id="_SobLQDOPEdysSf1x7kCsFQ" name="isGPRS" type="_fE-B8TODEdysSf1x7kCsFQ" value="true"/> <attributes xmi:type="negmod:Attribute" xmi:id="_VrLxoDOPEdysSf1x7kCsFQ" name="isRadio" type="_fE-B8TODEdysSf1x7kCsFQ" value="true"/> <attributes xmi:type="negmod:Attribute" xmi:id="_YW_3oDOPEdysSf1x7kCsFQ" name="isLocked" type="_fE-B8TODEdysSf1x7kCsFQ" value="true"/> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kKKKK" name="PhonePicture" type="_fE-B-jKKKdysSf1x7kCsFQ"></attributes> <attributes xmi:type="negmod:Attribute" xmi:id="_OeStIDOPEdysSf1x7kKXML" name="PhoneXML" type="_fE-B-XMLKdysSf1x7kCsFQ"></attributes> </items> <issues xmi:type="negmod:Issue" xmi:id="_cWQigDOPEdysSf1x7kCsFQ" name="Price" constrainedBy="_GCIm4DOUEdysSf1x7kCsFQ _SNd7UDOUEdysSf1x7kCsFQ"> <attributes xmi:type="negmod:Attribute" xmi:id="_6vmfgDOPEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ" value="123"/> <attributes xmi:type="negmod:Attribute" xmi:id="_C4stkDOQEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ" value="Euro"/> </issues> <issues xmi:type="negmod:Issue" xmi:id="_IdbhcDOQEdysSf1x7kCsFQ" name="Usage"> <attributes xmi:type="negmod:Attribute" xmi:id="_LlZ_ADOQEdysSf1x7kCsFQ" name="isUsed" type="_fE-B8TODEdysSf1x7kCsFQ" value="false"/> </issues> <criteria xmi:type="negmod:Criteria" xmi:id="_eZtykDOQEdysSf1x7kCsFQ" name="ReleasedDate"> <attributes xmi:type="negmod:Attribute" xmi:id="_geVVsDOQEdysSf1x7kCsFQ" name="date" type="_fE-B9DODEdysSf1x7kCsFQ"/> </criteria> <criteria xmi:type="negmod:Criteria" xmi:id="_GCIm4DOUEdysSf1x7kCsFQ" name="StartPrice"> <attributes xmi:type="negmod:Attribute" xmi:id="_IDCHoDOUEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ" value="100"/> <attributes xmi:type="negmod:Attribute" xmi:id="_MxEkEDOUEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ" value="Euro"/> </criteria> <criteria xmi:type="negmod:Criteria" xmi:id="_SNd7UDOUEdysSf1x7kCsFQ" name="ReservePrice"> <attributes xmi:type="negmod:Attribute" xmi:id="_UhInEDOUEdysSf1x7kCsFQ" name="amount" type="_fE-B9TODEdysSf1x7kCsFQ" value="200"/> <attributes xmi:type="negmod:Attribute" xmi:id="_WsdPIDOUEdysSf1x7kCsFQ" name="currency" type="_fE-B-jODEdysSf1x7kCsFQ" value="Euro"/> </criteria> </negmod:InformationModel>

Attribute" name="brand" value="Nokia"

Attribute" name="isBlueTooth" value="true"

The Setup creates a negotiation instance adding data to the model

Page 23: One Dsl4negotiations Presented

[email protected] - [email protected]

Run-time architecture

Page 24: One Dsl4negotiations Presented

[email protected] - [email protected]

The component model

FactoryEnvironment

DKB

Security

Setup Execution Trust&Rep

Recomm.

Announce

Publish

Eclipse Rich UI

Execu

te

NegotiationModel

Web based UI Web based UI

Negotiation

ONE Node

Simplified

Page 25: One Dsl4negotiations Presented

[email protected] - [email protected]

P2p Deployment model

P a r t i c i p a n t

P a r t i c i p a n t

O n e N o d e( T r u s t e d N o d e )

O n e N o d e( N e g o t i a t i o n N o d e )

O n e N o d e( T r u s t e d N o d e )

O n e N o d e( T r u s t e d N o d e )

O n e N o d e( N e g o t i a t i o n N o d e )

D e c e n t r a l i z e d K B

O n e N o d e( T r u s t e d N o d e )

O n e N o d e( ) r u s t e d N o d e

P a r t i c i p a n t

P a r t i c i p a n tP a r t i c i p a n t

P a r t i c i p a n t

O w n e r

O n e N o d e( T r u s t e d N o d e )

N e g o t i a t i o n A

N e g o t i a t i o n B

D e c e n t r a l i z e d K B

D e c e n t r a l i z e d K B

O w n e r

O n e N o d e

O n e N o d e

O n e N o d e

O n e N o d e

N o t e : A T r u s t e d N o d e i s a O N E N o d e j u s t i n a d i f f e r e n t r o l e

P 2 P n e t w o r k

P 2 P n e t w o r k

Page 26: One Dsl4negotiations Presented

[email protected] - [email protected]

Spring (application server)http://www.springframework.org/

Pluto Web Portalhttp://portals.apache.org/pluto/

NegotiationConsole

PublicPortalMyOne

Soapod (p2p infrastructure, DBE conn, service registry,..)http://www.soapod.org/

Tomcat (container)http://tomcat.apache.org/

JVM

ONE framework (announcement logging, timers...)

AJAX, Portlet

To soapod in ONE nodes for node registry

Web Interfaces

local API

NegotiationEngine

JBossMySQL

NetWork

DKB

JCRJackrabbit

NetWork

Security

NetWork

Trust &Reputation

NetWork

R&L

WSAPI

JColibrì

One Node

Page 27: One Dsl4negotiations Presented

[email protected] - [email protected]

ConclusionsDevelopment

MDA is well supported by Open Source software

Standards are sufficiently mature for supporting a MDA full featured project, like ONE

MDD process eased the collaboration across partners

Action semantics (aka executable UML) is not yet fully supported, we went Java Lang

Still need to use a plethora of tools to “execute” DSL

The environment

The business analysts feel confident when modelling using DSL

Runtime architecture pretty fragmented and complex

The definition of a DSL is still a very hard task to accomplish

It's a success: we are creating “the ONE Company” for the industrialization process

Page 28: One Dsl4negotiations Presented

[email protected] - [email protected]

ONE Workshop

16:50-18:00 Workshop Tutorial – W2 Chaired by Volker Hoyer, Jason Finnegan

ONERunning Business Negotiations in the web

Page 29: One Dsl4negotiations Presented

[email protected] - [email protected]

Thanks

www.one-project.eu

Pierfranco Ferronato, Jason Finnegan

Soluta.Net, TSSG/WIT