One Dsl4negotiations Presented


Published on

Digibiz conference Paper about the ONE project\'s architecture

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

One Dsl4negotiations Presented

  1. 1. An MDA based environment for modelling and executing business Negotiations Pierfranco Ferronato, Jason Finnegan Soluta.Net, TSSG/WIT
  2. 2. The ONE project <ul><li>ONE Open Negotiation Environment
  3. 3. Proposal/Contract no.: FP6-034744
  4. 4.
  5. 5. Started: September 2006
  6. 6. End: June 2009 </li></ul>
  7. 7. ONE Objective <ul><li>''T he 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 ''
  8. 8. ''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''
  9. 9. In essence: allow users to create and customized their own negotiation models and to run them in a web environment </li></ul>
  10. 10. ONE, the Environments
  11. 11. The environments
  12. 12. The Model Editor Simplified Negotiation Features Negotiation Notation
  13. 13. ONE Web Portal
  14. 14. Creating a negotiation
  15. 15. Sending Admission Request
  16. 16. Evaluating Offer
  17. 17. Agreement!
  18. 18. ONE, the MDA Approach
  19. 19. The architectural strategy <ul><li>Define a DSL (metamodel) for business negotiations
  20. 20. Generate the model editor from the metamodel
  21. 21. Run the model editor to generate XMI files for the model
  22. 22. Process the XMI file at run-time to generate negotiation instances (adding data to the model)
  23. 23. Models and instances are stored in model-independent content repository
  24. 24. Have a negotiation engine execute the XML file </li></ul>
  25. 25. Role of a DSL <ul><li>Capture domain knowledge as assets! </li><ul><li>Terms like: </li><ul><li>Acceptance, constraints, offer, price, admission, issue, discount, negotiations, agreement, owner, participant,... </li></ul><li>Actions like: </li><ul><li>To admit, To offer, to agree, to be invited,... </li></ul></ul><li>A “template” for models creation </li><ul><li>From a DSL many models can be created
  26. 26. Allow an high level of reuse of tooling which becomes model independent </li><ul><li>No re-coding in case of new models </li></ul><li>Allow adaptability/flexibility
  27. 27. Increase the ROI </li></ul></ul>
  28. 28. How to create a DSL? <ul><li>UML/BPMN subset </li></ul><ul><ul><li>UML is too complex, the effort requires does not allow
  29. 29. BPMN is not Negotiation specific, customization is required
  30. 30. Customization of a UML tool feasible </li></ul></ul><ul><li>UML/BPMN Profile </li></ul><ul><ul><li>Doable but not effective when creating a model
  31. 31. Hard to tailor an UML tool
  32. 32. Customization of a UML tool feasible </li></ul></ul><ul><li>A new language (MOF or ECORE) </li></ul><ul><ul><li>Hard to create
  33. 33. Very effective
  34. 34. A new DSL Editor has to be created
  35. 35. ONE Project decided for the 3rd approach </li></ul></ul>
  36. 36. Creating a DSL <ul><li>It 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
  37. 37. From the computable MOF metamodel through a series of transformation we could generate the and execute the negotiations </li></ul>
  38. 38. Concept Simplified Result of work of the Waterford Institute of Technology, Ireland
  39. 39. Information MM Simplified Result of work of the Waterford Institute of Technology, Ireland
  40. 40. Action language issue <ul><li>Negotiations need imperative language for decision block </li><ul><li>“ If time left <5 minutes and new offers arrive, then extend negotiation deadline by other 10 minutes”
  41. 41. “ Final price is equal to the value of the second offer arrived “ </li></ul><li>Behavioral logic (xUML) in UML/OMG is a recent UML “extension”
  42. 42. We opt to go with Java Script which was added to the XMI streamed-line model </li><ul><li>Not formal but practical for the need of the project
  43. 43. Straight to the run-time where the Java code can be executed </li></ul></ul>
  44. 44. MDA Enabling Technologies
  45. 45. How it was created and used transformation Sparx Systems EA Custom Code Negotiation Engine Bean Shell .eap file NMM XMI .ecore file Negotiation Model Editor NM XMI NM XMI with values Ecore->JPDL transformation JPDL Setup
  46. 46. Setup The Setup creates a negotiation instance adding data to the model
  47. 47. Run-time architecture
  48. 48. The component model Simplified
  49. 49. P2p Deployment model
  50. 50. One Node
  51. 51. Conclusions <ul><li>Development </li><ul><li>MDA is well supported by Open Source software
  52. 52. Standards are sufficiently mature for supporting a MDA full featured project, like ONE
  53. 53. MDD process eased the collaboration across partners
  54. 54. Action semantics (aka executable UML) is not yet fully supported, we went Java Lang
  55. 55. Still need to use a plethora of tools to “execute” DSL </li></ul><li>The environment </li><ul><li>The business analysts feel confident when modelling using DSL
  56. 56. Runtime architecture pretty fragmented and complex </li></ul><li>The definition of a DSL is still a very hard task to accomplish
  57. 57. It's a success: we are creating “the ONE Company” for the industrialization process </li></ul>
  58. 58. ONE Workshop 16:50-18:00 Workshop Tutorial – W2 Chaired by Volker Hoyer, Jason Finnegan ONE Running Business Negotiations in the web
  59. 59. Thanks Pierfranco Ferronato, Jason Finnegan Soluta.Net, TSSG/WIT