Evolving Services Architectures   Petr Hnetynka and Jan Kofron  Charles University, Czech Republic   A joint presentation ...
Overview   SOFA 2 overview   Q-ImPrESS overview   Dependencies between SOFA 2 and    Q-ImPrESS   Short Q-ImPreSS tools...
SOFA 2 Basic Info   http://sofa.ow2.org/   Second generation of the SOFA project   OW2 (formerly ObjectWeb) project sin...
SOFA 2 Facts (Ohloh)                     SOFA at OW2 (ObjectWeb)              SOFA 2    OW2 Annual Conference 2010, Novemb...
SOFA 2 Features   Component model defined via a meta-model       EMF       generated repository and tools   Components...
SOFA 2 Features (cont.)   Formal specification of component behavior       using behavior protocols            a type o...
SOFA 2 Features (cont.)    component CardReader {      types {        states = {CARD_READER_ENABLED, CARD_READER_DISABLED}...
SOFA 2 Development Tools1. Set of command line tools2. Eclipse-based IDE3. Runtime-monitoring tool                        ...
SOFA 2 Implementation   Implementation in Java       tools       run-time       demos                   OW2 Annual Con...
Q-ImPrESS• “Quality Impact Prediction for Evolving Service-  Oriented Software”• Seventh Framework Programme• Three-year (...
Project GoalDefine a new service engineering method tocreate and evolve service-oriented softwarewith predictable end-to-e...
Example Q-ImPrESS Application                                        Java                                       C / C++   ...
Example Q-ImPrESS Application   SOA?   QoS?                                          Java                                 ...
Example Q-ImPrESS Application   SOA?   QoS?                                          Java                                 ...
Example Q-ImPrESS Application                            Service 1   SOA?   QoS?                                          ...
Example Q-ImPrESS Application                            Service 1                                                        ...
Example Q-ImPrESS Application                                  Service 1 0,01%                                            ...
Example Q-ImPrESS Application                                              20.000 €                                  Servi...
Example Q-ImPrESS Application                                              20.000 €                                       ...
Method Overview  OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.                                           ...
Method Overview  OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.                                           ...
What Reverse Engineering Does     Reverse     Engineering        OW2 Annual Conference 2010, November 24-25, La Cantine, P...
What Reverse Engineering Does                Reverse                EngineeringC/C++, Java &Delphi Code extendable       ...
What Reverse Engineering Does                Reverse                EngineeringC/C++, Java &                              ...
What is Recognised?Components  Boundaries               OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.    ...
What is Recognised?Components  Boundaries  Their related classes                     AClass.java                     Calc....
What is Recognised?Components                             Interfaces  Boundaries  Their related classes                   ...
What is Recognised?Components                          Interfaces  Boundaries  Their related classes  Composite Components...
What is Recognised?Components                          Interfaces  Boundaries                        Connectors  Their rel...
What is Recognised?Components                            Interfaces  Boundaries                          Connectors  Their...
Specific Models• Once the Service Architecture Model (SAM) is  available  • either via RE or designed as new system• it is...
Q-ImPrESS and SOFA• SOFA is used for checking the consistency  between model and implementation  • transparent transformat...
Demo – Scenario• Simple component (a Java class)  • corresponding protocol – TBP                OW2 Annual Conference 2010...
Demo – Scenario• Simple component (a Java class)  • corresponding protocol – TBP1. Running the tool on corresponding pair ...
Demo – Scenario• Simple component (a Java class)  • corresponding protocol – TBP1. Running the tool on corresponding pair ...
Demo – Scenario• Simple component (a Java class)  • corresponding protocol – TBP1. Running the tool on corresponding pair ...
Conclusion• http://sofa.ow2.org/  • http://sofaproject.posterous.com/  • http://twitter.com/#!/sofaproject• http://www.q-i...
Upcoming SlideShare
Loading in...5
×

Sofa2 Q-im ress-ow2-conference-nov10

444

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
444
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×