Sofa2 Q-im ress-ow2-conference-nov10

  • 394 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
394
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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. 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. SOFA 2 Facts (Ohloh) SOFA at OW2 (ObjectWeb) SOFA 2 OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. 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. 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. SOFA 2 Implementation Implementation in Java  tools  run-time  demos OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. Example Q-ImPrESS Application Java C / C++ Legacy Application OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. 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. 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. 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. 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. 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. Method Overview OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 21. Method Overview OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 22. What Reverse Engineering Does Reverse Engineering OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. What is Recognised?Components Boundaries OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. 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. 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. 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. 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. 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. Demo – Scenario• Simple component (a Java class) • corresponding protocol – TBP OW2 Annual Conference 2010, November 24-25, La Cantine, Paris. www.ow2.org.
  • 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. 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. 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. 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.