Sofa2 Q-im ress-ow2-conference-nov10
-
Upload
ow2-consortium -
Category
Documents
-
view
616 -
download
0
description
Transcript of Sofa2 Q-im ress-ow2-conference-nov10
![Page 1: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/1.jpg)
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.
![Page 2: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/2.jpg)
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.
![Page 3: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/3.jpg)
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.
![Page 4: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/4.jpg)
SOFA 2 Facts (Ohloh)
SOFA at OW2 (ObjectWeb) SOFA 2
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 5: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/5.jpg)
SOFA 2 Features
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
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
supporting extra-functional properties
Data Processor
Logger
Management Console
Sensor1
Sensor2
Sensor3
method invocation connectors
bus connector
![Page 6: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/6.jpg)
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.
![Page 7: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/7.jpg)
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.
component CardReader { types { states = {CARD_READER_ENABLED, CARD_READER_DISABLED} } vars { states state = CARD_READER_ENABLED } provided { ( ?CardReader.enable() + ?CardReader.disable() ) |* } reactions { CardReader.enable() { state <- CARD_READER_ENABLED } CardReader.disable() { state <- CARD_READER_DISABLED } } threads { T1: while (?) { if (state == CARD_READER_ENABLED) { !CardReaderCallback.CreditCardScanned(); while (!CardReaderCallback.PINEntered() == FAIL) { NULL } } } } }
![Page 8: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/8.jpg)
SOFA 2 Development Tools
1. Set of command line tools
2. Eclipse-based IDE
3. Runtime-monitoring tool
SOFA IDE
MConsole
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 9: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/9.jpg)
SOFA 2 Implementation
Implementation in Java tools
run-time
demos
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 10: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/10.jpg)
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.
![Page 11: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/11.jpg)
Project Goal
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Define a new service engineering method to create and evolve service-oriented software with predictable end-to-end quality
![Page 12: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/12.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
![Page 13: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/13.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
![Page 14: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/14.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
![Page 15: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/15.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
Service 1
![Page 16: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/16.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
10 ms
Service 1
![Page 17: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/17.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
10 ms 0,01%
Service 1
![Page 18: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/18.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
10 ms 0,01%
Service 1
20.000 €
![Page 19: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/19.jpg)
Example Q-ImPrESS Application
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Legacy Application
Java
C / C++
SOA? QoS?
10 ms 0,01%
5 ms 0,10%
Service 1Service 2
20.000 €
25.000 €
![Page 20: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/20.jpg)
Method Overview
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 21: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/21.jpg)
Method Overview
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 22: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/22.jpg)
What Reverse Engineering Does
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Reverse Engineering
![Page 23: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/23.jpg)
What Reverse Engineering Does
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
C/C++, Java &
Delphi Code
extendable
Reverse Engineering
![Page 24: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/24.jpg)
What Reverse Engineering Does
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
C/C++, Java &
Delphi Code
extendable
• Component-Based
Software Architectures
• Component Behaviour
• Trace Model
Reverse Engineering
![Page 25: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/25.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries
![Page 26: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/26.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries Their related classes
MyClass.java
Another.java
Converter.java
AClass.java
Calc.java
BClass.java
Util.java
Con.java
![Page 27: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/27.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries Their related classes
Interfaces
MyClass.java
Another.java
Converter.java
AClass.java
Calc.java
BClass.java
Util.java
Con.java
![Page 28: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/28.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries Their related classes Composite Components
Interfaces
MyClass.java
Another.java
Converter.java
AClass.java
Calc.java
BClass.java
Util.java
Con.java
![Page 29: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/29.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries Their related classes Composite Components
Interfaces Connectors
MyClass.java
Another.java
Converter.java
AClass.java
Calc.java
BClass.java
Util.java
Con.java
![Page 30: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/30.jpg)
What is Recognised?
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
Components Boundaries Their related classes Composite Components
Interfaces Connectors Additionally: Trace & Behaviour Model
MyClass.java
Another.java
Converter.java
AClass.java
Calc.java
BClass.java
Util.java
Con.java
Target Model: Q-ImPrESS Software Architecture Model (SAM)
![Page 31: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/31.jpg)
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.
![Page 32: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/32.jpg)
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.
![Page 33: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/33.jpg)
Demo – Scenario
• Simple component (a Java class) • corresponding protocol – TBP
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 34: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/34.jpg)
Demo – Scenario
• Simple component (a Java class) • corresponding protocol – TBP
1. Running the tool on corresponding pair • no error is found
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 35: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/35.jpg)
Demo – Scenario
• Simple component (a Java class) • corresponding protocol – TBP
1. Running the tool on corresponding pair • no error is found
2. Modifying the sources • inconsistency is discovered and reported
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 36: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/36.jpg)
Demo – Scenario
• Simple component (a Java class) • corresponding protocol – TBP
1. Running the tool on corresponding pair • no error is found
2. Modifying the sources • inconsistency is discovered and reported
3. The inconsistency is fixed • correspondence re-established
OW2 Annual Conference 2010, November 24-25, La Cantine, Paris.
www.ow2.org.
![Page 37: Sofa2 Q-im ress-ow2-conference-nov10](https://reader034.fdocuments.us/reader034/viewer/2022051323/54810ebeb37959582b8b5cf3/html5/thumbnails/37.jpg)
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.