Sofa2 Q-im ress-ow2-conference-nov10

635 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
635
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sofa2 Q-im ress-ow2-conference-nov10

  1. 1. Evolving Services Architectures Petr Hnetynka and Jan Kofron Charles University, Czech Republic A joint presentation of the OW2 projects SOFA 2 and Q-ImPrESS. OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  2. 2. Overview SOFA 2 overview Q-ImPrESS overview Dependencies between SOFA 2 and Q-ImPrESS Short Q-ImPreSS tools demo OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  3. 3. SOFA 2 Basic Info http://sofa.ow2.org/ Second generation of the SOFA project OW2 (formerly ObjectWeb) project since 2003 SOFA 2 is a component system offering  hierarchical components  formal specification and verification of component behavior  transparently distributed run-time environment  many other features OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  4. 4. SOFA 2 Facts (Ohloh) SOFA at OW2 (ObjectWeb) SOFA 2 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  5. 5. SOFA 2 Features Component model defined via a meta-model  EMF  generated repository and tools Components have separated type and implementation  necessary for supporting product line development Explicit connectors between components  multiple communication styles Management Console bus connector Sensor1  supporting extra-functional Data Processor Sensor2 properties Sensor3 method invocation Logger connectors OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  6. 6. SOFA 2 Features (cont.) Formal specification of component behavior  using behavior protocols  a type of a process algebra  verification of  component composition  specification vs. actual implementation OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  7. 7. SOFA 2 Features (cont.) component CardReader { types { states = {CARD_READER_ENABLED, CARD_READER_DISABLED} } vars { Formal specification of component behavior } states state = CARD_READER_ENABLED using behavior protocols  provided { ( ?CardReader.enable() + ?CardReader.disable() ) |*  } a type of a process algebra reactions { verification of  CardReader.enable() { state <- CARD_READER_ENABLED }  component composition CardReader.disable() { state <- CARD_READER_DISABLED }  specification vs. actual implementation } threads { T1: while (?) { if (state == CARD_READER_ENABLED) { !CardReaderCallback.CreditCardScanned(); while (!CardReaderCallback.PINEntered() == FAIL) { NULL } } } } } OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  8. 8. SOFA 2 Development Tools1. Set of command line tools2. Eclipse-based IDE3. Runtime-monitoring tool SOFA IDE MConsole OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  9. 9. SOFA 2 Implementation Implementation in Java  tools  run-time  demos OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  10. 10. Q-ImPrESS• “Quality Impact Prediction for Evolving Service- Oriented Software”• Seventh Framework Programme• Three-year (2008-2010) STREP project• http://www.q-impress.eu• 9 partners – industrial: • ABB AG, Germany • itemis GmbH, Germany • Softeco Sismat, Italy • Ericsson Nikola Tesla, Croatia OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  11. 11. Project GoalDefine a new service engineering method tocreate and evolve service-oriented softwarewith predictable end-to-end quality OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  12. 12. Example Q-ImPrESS Application Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  13. 13. Example Q-ImPrESS Application SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  14. 14. Example Q-ImPrESS Application SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  15. 15. Example Q-ImPrESS Application Service 1 SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  16. 16. Example Q-ImPrESS Application Service 1 10 ms SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  17. 17. Example Q-ImPrESS Application Service 1 0,01% 10 ms SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  18. 18. Example Q-ImPrESS Application 20.000 € Service 1 0,01% 10 ms SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  19. 19. Example Q-ImPrESS Application 20.000 € 25.000 € 1 Service 2 0,01% 10 ms 0,10% 5 ms SOA? QoS? Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  20. 20. Method Overview OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  21. 21. Method Overview OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  22. 22. What Reverse Engineering Does Reverse Engineering OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  23. 23. What Reverse Engineering Does Reverse EngineeringC/C++, Java &Delphi Code extendable OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  24. 24. What Reverse Engineering Does Reverse EngineeringC/C++, Java & • Component-BasedDelphi Code Software Architectures extendable • Component Behaviour • Trace Model OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  25. 25. What is Recognised?Components Boundaries OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  26. 26. What is Recognised?Components Boundaries Their related classes AClass.java Calc.java BClass.java Util.java Con.java MyClass.java Another.java Converter.java OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  27. 27. What is Recognised?Components Interfaces Boundaries Their related classes AClass.java Calc.java BClass.java Util.java Con.java MyClass.java Another.java Converter.java OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  28. 28. What is Recognised?Components Interfaces Boundaries Their related classes Composite Components AClass.java Calc.java BClass.java Util.java Con.java MyClass.java Another.java Converter.java OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  29. 29. What is Recognised?Components Interfaces Boundaries Connectors Their related classes Composite Components AClass.java Calc.java BClass.java Util.java Con.java MyClass.java Another.java Converter.java OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  30. 30. What is Recognised?Components Interfaces Boundaries Connectors Their related classes Additionally: Composite Components Trace & Behaviour Model AClass.java Calc.java BClass.java Util.java Con.java MyClass.java Another.java Converter.javaTarget Model: Q-ImPrESS Software Architecture Model (SAM) OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  31. 31. Specific Models• Once the Service Architecture Model (SAM) is available • either via RE or designed as new system• it is used for transformation to specific models (PCM, Klaper, SOFA) for specific analyses OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  32. 32. Q-ImPrESS and SOFA• SOFA is used for checking the consistency between model and implementation • transparent transformation into SOFA TBP • verification of primitive components• Java PathFinder is used• Correspondence of observable behavior • accepted and fired service requests• at the model and implementation level is verified OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  33. 33. Demo – Scenario• Simple component (a Java class) • corresponding protocol – TBP OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  34. 34. Demo – Scenario• Simple component (a Java class) • corresponding protocol – TBP1. Running the tool on corresponding pair • no error is found OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  35. 35. Demo – Scenario• Simple component (a Java class) • corresponding protocol – TBP1. Running the tool on corresponding pair • no error is found2. Modifying the sources • inconsistency is discovered and reported OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  36. 36. Demo – Scenario• Simple component (a Java class) • corresponding protocol – TBP1. Running the tool on corresponding pair • no error is found2. Modifying the sources • inconsistency is discovered and reported3. The inconsistency is fixed • correspondence re-established OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  37. 37. Conclusion• http://sofa.ow2.org/ • http://sofaproject.posterous.com/ • http://twitter.com/#!/sofaproject• http://www.q-impress.eu • The method applied on case studies of ABB and ENT OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.

×