How to implement a theory of
correctness in the area of
business processes and services




Niels Lohmann and Karsten Wolf
About us



• cooperation between
   – University of Rostock
   – Humboldt-Universität zu Berlin

• focus: correctness of ...
What is this talk about?


what the title says                                         what it is about

How to           ...
communication fingerprints realizability

                   s
registration validation uml activity diagrams

             ...
Challenge #1: Correctness

                                                                                               ...
Lesson #1: Prototypes

• Have them early!
• Have a lot of them!

• Pros:                                                  ...
Lesson #1: Prototypes (bonus)


• prototypes
   – make research results transparent
   – make experiments repeatable
   – ...
Challenge #2: Academic environment



Universities ≠ professional software companies

•    hardly any tenure programmers
•...
Lesson #2: Single purpose tools

• Goals:
   – Limit exposed code base!
   – Minimize dependencies!
   – Reduce error hori...
Lesson #2: Single purpose tools - bonus

• single purpose tools:                                          • other best pra...
Lesson #3: Code ownership

• give code away to students
   – code ownership motivates improvement
   – direct acknowledgme...
Challenge #4: Formal methods

• complicated algorithms and formalisms

• Lesson: keep formalisms natural
   – Do not limit...
How to implement a theory of correctness?



• rapid prototyping
  allows to quickly validate and share algorithms

• sing...
Niels Lohmann
niels.lohmann@uni-rostock.de
http://service-technology.org




Tool demo
What: service-technology.org/live
W...
Upcoming SlideShare
Loading in …5
×

How to implement a theory of correctness in the area of business processes and services

1,516 views

Published on

Conference presentation given by Niels Lohmann on September 16, 2010 in Hoboken, NJ, USA at the Eighth International Conference on Business Process Management (BPM 2010).

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,516
On SlideShare
0
From Embeds
0
Number of Embeds
591
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

How to implement a theory of correctness in the area of business processes and services

  1. 1. How to implement a theory of correctness in the area of business processes and services Niels Lohmann and Karsten Wolf
  2. 2. About us • cooperation between – University of Rostock – Humboldt-Universität zu Berlin • focus: correctness of business processes and services • output: research papers + software tools • 5+ years • 30+ developers • ~ 500,000 lines of source code 16.09.10 How to implement a theory of correctness in the area of business processes and services 2
  3. 3. What is this talk about? what the title says what it is about How to best practices, lessons learned implement tool development a theory academic environment of correctness special requirements in the area of BP and services the area you care about 16.09.10 How to implement a theory of correctness in the area of business processes and services 3
  4. 4. communication fingerprints realizability s registration validation uml activity diagrams s partner characterization compatibility petri nets e choreography correction controllability adaptation n business process model checking diagnosis ws-bpel t web service instance migration analysis decomposition c deadlock freedom test case generation workflow nets service-technology.org rre process configuration modeling substitutability artifacts o model transformation operating guidelines composition c adaptive business processes correctness-by-design conformance soundness verification partner synthesis soa behavioral constraints choreographies desynchronizability contracts refactoring service discovery public view generation
  5. 5. Challenge #1: Correctness theory Is it possible? decidability result How can it be done? algorithm How does it really work? efficient algorithm we already fail here Is it actually useful? product practice 16.09.10 How to implement a theory of correctness in the area of business processes and services 5
  6. 6. Lesson #1: Prototypes • Have them early! • Have a lot of them! • Pros: • Cons: – detect bottlenecks early – a lot of resources required – avoid useless optimization – programming/optimization – work on real data skills required – propel technology transfer – rapid prototyping is hardly rewarded by performance evaluations • Possible if you create the right environment! 16.09.10 How to implement a theory of correctness in the area of business processes and services 6
  7. 7. Lesson #1: Prototypes (bonus) • prototypes – make research results transparent – make experiments repeatable – allow for community benchmarks – make comparisons simpler service-technology.org live / • service-technology.org/live: – Website hosting our prototypes – replay experiments in your Web browser – demo at 2:00 pm at Babbio 430 16.09.10 How to implement a theory of correctness in the area of business processes and services 7
  8. 8. Challenge #2: Academic environment Universities ≠ professional software companies • hardly any tenure programmers • definitely no coding pros • coding is never top priority • maintenance is not enforced • programming is hardly enforced • frequently changing staff (2-5 year frequency) • hard to collect knowledge • hard to keep consistency 16.09.10 How to implement a theory of correctness in the area of business processes and services 8
  9. 9. Lesson #2: Single purpose tools • Goals: – Limit exposed code base! – Minimize dependencies! – Reduce error horizons! • Realization: single purpose tools – UNIX philosophy • small is beautiful • make each program do one thing well • everything is a stream – complex tasks = tool interplay – be minimalistic: no GUI – simple integration via system call or service invocation 16.09.10 How to implement a theory of correctness in the area of business processes and services 9
  10. 10. Lesson #2: Single purpose tools - bonus • single purpose tools: • other best practices applicable – faster release cycles – pair programming – propels prototyping – code reviews – easier maintenance – test-driven development – continuous integration 16.09.10 How to implement a theory of correctness in the area of business processes and services 10
  11. 11. Lesson #3: Code ownership • give code away to students – code ownership motivates improvement – direct acknowledgment – simplifies responsibilities – trust and freedom are important! • propel development with continuous integration – reduces number of broken builds – visibility yields competition – implement rankings 16.09.10 How to implement a theory of correctness in the area of business processes and services 11
  12. 12. Challenge #4: Formal methods • complicated algorithms and formalisms • Lesson: keep formalisms natural – Do not limit the modeling formalism. – Separate modeling and verification formalism. – Keep verification technology domain-unspecific. • Side remark: – Domain-unspecific tools can outperform specific tools – Communication between tools only relies on simple formalisms. 16.09.10 How to implement a theory of correctness in the area of business processes and services 12
  13. 13. How to implement a theory of correctness? • rapid prototyping allows to quickly validate and share algorithms • single purpose tools reduce code complexity • code ownership and continuous integration propel motivation and increases quality • a simple and unified theory also simplifies tool development 16.09.10 How to implement a theory of correctness in the area of business processes and services 13
  14. 14. Niels Lohmann niels.lohmann@uni-rostock.de http://service-technology.org Tool demo What: service-technology.org/live When: today, 2.00 – 2.30 pm Where: Babbio 430

×