SBVR in Practice:  Systems Built for Change Declarative Technologies in a Digital Ecosystem Alexandros Marinos (a.marinos@...
Points to Cover <ul><li>Case Study Pt 1: SBVR + Relational Databases + REST </li></ul><ul><li>Case Study Pt 2: Deriving Pr...
Case Study Pt 1: SBVR + Relational Databases + REST Made for one another
SBVR
 
 
Terms student course study programme
Terms student course study programme
Terms student course study programme Fact Types student   is registered for   course student   is enrolled in  study progr...
Terms student course study programme Fact Types student   is registered for   course student   is enrolled in  study progr...
Terms student course study programme Fact Types student   is registered for   course student   is enrolled in  study progr...
Rules It is necessary that  each   student   is registered for   a t most five   courses Terms student course study progra...
Rules It is necessary that  each   student   is registered for   a t most five   courses It is  necessary  that  each   co...
Relational Database
 
 
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
Rules It is necessary that  each   student   is registered for   a t most five   courses It is  necessary  that  each   co...
REST
 
 
 
 
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
Vocabulary student ,  course ,  study programme ,  name student   is registered for   course student   is enrolled in  stu...
The Big Picture
 
Case Study Pt 2: Deriving Processes from Rules
What Processes? Student Study Programme Course Collection Instance Collection Instance Collection Instance GET + + + + + +...
If we were to write processes…
Cost of Change Rules It is necessary that  each   student   is registered for   a t most five   courses It is  necessary  ...
Cost of Change Rules It is necessary that  each   student   is registered for   a t most five   courses It is  necessary  ...
The alternative
The alternative
Meta-process?
One Rule, Many Processes
Declarative Programming and DNA <ul><li>Rules must be: </li></ul><ul><ul><li>Independent </li></ul></ul><ul><ul><li>Atomic...
Declarative Programming and DNA <ul><li>Rules can be: </li></ul><ul><ul><li>Deleted </li></ul></ul><ul><ul><li>Altered </l...
The Arrogant Epistemology of Computing <ul><li>Modern Information Systems are not built for change. </li></ul><ul><li>We c...
The Arrogant Epistemology of Computing <ul><li>Human society and organizations are constantly shifting. Not only do the ch...
Questions?
Extending the model <ul><li>The design is modular. The core does not do everything but is focused and extensible. </li></u...
 
Extending the model: Inputs
Integration with DE infrastructure
Integration with DE infrastructure
More Questions?
Upcoming SlideShare
Loading in …5
×

Lecce Presentation2008

662 views

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
662
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lecce Presentation2008

  1. 1. SBVR in Practice: Systems Built for Change Declarative Technologies in a Digital Ecosystem Alexandros Marinos (a.marinos@surrey.ac.uk)
  2. 2. Points to Cover <ul><li>Case Study Pt 1: SBVR + Relational Databases + REST </li></ul><ul><li>Case Study Pt 2: Deriving Processes from Rules </li></ul><ul><li>Extending the model (Transactions, UI, Composing Services) </li></ul><ul><li>Declarative Programming and DNA </li></ul><ul><li>The Epistemic Arrogance of Computing </li></ul><ul><li>Integration with DE infrastructure: The RISK board game </li></ul>
  3. 3. Case Study Pt 1: SBVR + Relational Databases + REST Made for one another
  4. 4. SBVR
  5. 7. Terms student course study programme
  6. 8. Terms student course study programme
  7. 9. Terms student course study programme Fact Types student is registered for course student is enrolled in study programme course is available for study programme
  8. 10. Terms student course study programme Fact Types student is registered for course student is enrolled in study programme course is available for study programme
  9. 11. Terms student course study programme Fact Types student is registered for course student is enrolled in study programme course is available for study programme
  10. 12. Rules It is necessary that each student is registered for a t most five courses Terms student course study programme Fact Types student is registered for course student is enrolled in study programme course is available for study programme
  11. 13. Rules It is necessary that each student is registered for a t most five courses It is necessary that each course t hat a student is registered for, is available for a study programme that the student is enrolled in. Terms student course study programme Fact Types student is registered for course student is enrolled in study programme course is available for study programme
  12. 14. Relational Database
  13. 17. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme
  14. 18. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme
  15. 19. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme student has name , course has name , study programme has name
  16. 20. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme student has name , course has name , study programme has name
  17. 21. Rules It is necessary that each student is registered for a t most five courses It is necessary that each course t hat a student is registered for, is available for a study programme that the student is enrolled in. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme student has name , course has name , study programme has name
  18. 22. REST
  19. 27. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme student has name , course has name , study programme has name
  20. 28. Vocabulary student , course , study programme , name student is registered for course student is enrolled in study programme course is available for study programme student has name , course has name , study programme has name URIs collection of students: http://domain.org/students/ A specific student: http://domain.org/students/John / list of courses a student is enrolled in: http://domain.org/students/John/courses/ [note: domain could be replaced with an IP address]
  21. 29. The Big Picture
  22. 31. Case Study Pt 2: Deriving Processes from Rules
  23. 32. What Processes? Student Study Programme Course Collection Instance Collection Instance Collection Instance GET + + + + + + PUT   +   +   + POST +   +   +   DELETE   +   +   +
  24. 33. If we were to write processes…
  25. 34. Cost of Change Rules It is necessary that each student is registered for a t most five courses It is necessary that each course t hat a student is registered for, is available for a study programme that the student is enrolled in. Fact Types student is registered for course student is enrolled in study programme course is available for study programme Terms student course study programme
  26. 35. Cost of Change Rules It is necessary that each student is registered for a t most five courses It is necessary that each course t hat a student is registered for, is available for a study programme that the student is enrolled in. It is necessary that each student that is under probation, is registered for a t most five courses Fact Types student is registered for course student is enrolled in study programme course is available for study programme student is under probation Terms student course study programme
  27. 36. The alternative
  28. 37. The alternative
  29. 38. Meta-process?
  30. 39. One Rule, Many Processes
  31. 40. Declarative Programming and DNA <ul><li>Rules must be: </li></ul><ul><ul><li>Independent </li></ul></ul><ul><ul><li>Atomic </li></ul></ul><ul><li>In other words, each rule should express exactly one constraint, no more, no less. </li></ul><ul><li>This gives them very interesting properties… </li></ul>
  32. 41. Declarative Programming and DNA <ul><li>Rules can be: </li></ul><ul><ul><li>Deleted </li></ul></ul><ul><ul><li>Altered </li></ul></ul><ul><ul><li>Mixed </li></ul></ul><ul><li>Therefore, having a set of candidate rules and a fitness function, we can generate variants of a model and apply genetic programming techniques </li></ul>
  33. 42. The Arrogant Epistemology of Computing <ul><li>Modern Information Systems are not built for change. </li></ul><ul><li>We check requirements at one point in time and build them into processes/code </li></ul><ul><li>Computing has evolved to deal with static problems, look for permanent solutions. We assume that our problem domain is static. </li></ul><ul><li>Changing an information system is a slow, expensive and dangerous process. </li></ul><ul><li>People are therefore tempted to conform to the software rather than having the software conform to their needs. </li></ul>
  34. 43. The Arrogant Epistemology of Computing <ul><li>Human society and organizations are constantly shifting. Not only do the challenges change, but people find constantly better ways to solve even relatively static problems. </li></ul><ul><li>When applying computing to human society, we need a different approach </li></ul><ul><li>The model needs to constantly change in order to reflect this organizational evolution. We need to remove the programmer to facilitate flexible system-stakeholder interaction. </li></ul><ul><li>Declarative Information Systems are built for cheap and frequent change. They assume that the problem domain is constantly shifting </li></ul>
  35. 44. Questions?
  36. 45. Extending the model <ul><li>The design is modular. The core does not do everything but is focused and extensible. </li></ul><ul><li>Adding Transactions and Querying </li></ul><ul><li>Adding Service Description </li></ul><ul><li>Adding User Interface </li></ul><ul><li>Even altering the persistence system </li></ul>
  37. 47. Extending the model: Inputs
  38. 48. Integration with DE infrastructure
  39. 49. Integration with DE infrastructure
  40. 50. More Questions?

×