0
Crossing the Boundaries while Analyzing   Heterogeneous Component-Based           Software Systems                      Am...
Safety Monitoring and Control System                                       2
Safety Monitoring and Control System     Sensor                            Actuator     Sensor           logic            ...
Safety Monitoring and Control System                  logic          Input           Output                               ...
Case DescriptionStart with clear              More costumers:    More costumers:design & documents            new requirem...
Case Description…More costumers:reusing decisions                    6
Case Description…    Potentially unlimited number of configurations    –  No default/standard configuration of components...
Problem Statement                      logic                Comp. 1   Comp. 3        Input                       Output   ...
Problem Statement      Do sensor signals reach the correct output actuators?                               logic         I...
Tracking Information Flow           “find source based evidence that       signals from sensors trigger the correct       ...
Heterogeneous Systems  Deployed system is not just set of components   –  actual behavior depends on composition &      c...
Challenge #1:          void main() {       void main() {                                             void main() {        ...
Shared Memory Communication                                    main                           cause & effect              ...
Challenge #2:                     output#1sensor#1           input#1                     output#2sensor#2           input#...
Challenge #2:                     output#1sensor#1           input#1                     output#2sensor#2           input#...
Our solution: Build a HomogeneousModel of the System                                    16
KDM: Flexible and Extensible                               17
SDG: ICDG + CDGs                   18
Conclusionvoid main() {      void main() {      void main() {      void main() { int sum, I;        int sum, I;        int...
Conclusion                               output#1sensor#1                     voter#1           input#1                   ...
Conclusion✓              ✓✓                  ✓                                     ✓               ✓                      ...
Precision & Scalability Tests  Identical results with CodeSurfer on an   example program  Kongsberg code base:          ...
Precision & Scalability Tests  Identical results with CodeSurfer on an   example program  Kongsberg code base:          ...
Limitations   Bit manipulation: no precise information flow    –  granularity limitation in Codesurfer implementation   ...
Thank you!Comments/Questions?                      25
Upcoming SlideShare
Loading in...5
×

Components - Crossing the Boundaries while Analyzing Heterogeneous Component-Based Software Systems

383

Published on

Paper: "Crossing the Boundaries while Analyzing Heterogeneous Component-Based Software Systems"

Authors: Amir Reza Yazdanshenas, Leon Moonen

Session: Research Track Session 7: Components

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
383
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Components - Crossing the Boundaries while Analyzing Heterogeneous Component-Based Software Systems"

  1. 1. Crossing the Boundaries while Analyzing Heterogeneous Component-Based Software Systems Amir Reza Yazdanshenas Leon Moonen 2011/09/28 ICSM 2011
  2. 2. Safety Monitoring and Control System 2
  3. 3. Safety Monitoring and Control System Sensor Actuator Sensor logic Actuator Input Output Sensor Actuator 3
  4. 4. Safety Monitoring and Control System logic Input Output 4
  5. 5. Case DescriptionStart with clear More costumers: More costumers:design & documents new requirements scalabilityInput1 Output1Input2 A A Output2 • Inhibit Input1 A A Output1 D DInput3 D D Output3 • OverrideInput4 Output4Input5 D D Output5 • Suppress D DInput6 D D Output6 • Acknowledge CascIn CascOutInput7 Output7 A D D Output8 Output9 A A D Similar to digital circuit CascIn CascOut design components! Workaround: • Cascading modules • Voting modules 5
  6. 6. Case Description…More costumers:reusing decisions 6
  7. 7. Case Description…   Potentially unlimited number of configurations –  No default/standard configuration of components! –  Separate configuration for each installation –  (examples omitted due to NDA) 7
  8. 8. Problem Statement logic Comp. 1 Comp. 3 Input Output Comp. 2 Comp. n 8
  9. 9. Problem Statement Do sensor signals reach the correct output actuators? logic Input Output For certification purposes, can we provide source based evidence? 9
  10. 10. Tracking Information Flow “find source based evidence that signals from sensors trigger the correct actuators”   is there information flow from the desired sensors to the selected actuator?   are the desired sensors (input ports) part of the backward program slice for the selected actuator (output port)? 10
  11. 11. Heterogeneous Systems  Deployed system is not just set of components –  actual behavior depends on composition & configuration –  literature focuses on analysis of homogeneous systems⚡ Existing slicing tools are language specific ⚡ no support for “external” artifacts 11
  12. 12. Challenge #1: void main() { void main() { void main() { void main() { int sum, I; while ( i<11 ){ sum = add(sum) int sum, I; while ( i<11 ){ sum = add(sum) int sum, I; while ( i<11 ){ sum = add(sum) ✗ int sum, I; while ( i<11 ){ sum = add(sum) i = add(i, 1); i = add(i, 1); i = add(i, 1); i = add(i, 1); … … … … ✗ ✓ ✗ sensor.c input.c voter.c output.c© 2011 Leon Moonen Model-driven Information Flow Analysis to Support Software Certification - NECSIS Seminar at Queens (2011/06/27) 12
  13. 13. Shared Memory Communication main cause & effect cause matrix effect input A 1 2 3 j output B 2 3 effect output C input B cause i output D effect 13
  14. 14. Challenge #2: output#1sensor#1 input#1 output#2sensor#2 input#2 output#3sensor#N output#4 14
  15. 15. Challenge #2: output#1sensor#1 input#1 output#2sensor#2 input#2 output#3sensor#N output#4 15
  16. 16. Our solution: Build a HomogeneousModel of the System 16
  17. 17. KDM: Flexible and Extensible 17
  18. 18. SDG: ICDG + CDGs 18
  19. 19. Conclusionvoid main() { void main() { void main() { void main() { int sum, I; int sum, I; int sum, I; int sum, I; while ( i<11 ){ while ( i<11 ){ while ( i<11 ){ while ( i<11 ){ sum = add(sum) sum = add(sum) sum = add(sum) sum = add(sum) i = add(i, 1); i = add(i, 1); i = add(i, 1); i = add(i, 1); … … … … sensor.C input.C voter.C output.C 19
  20. 20. Conclusion output#1sensor#1 voter#1 input#1 output#2sensor#2 voter#2 input#2 output#3sensor#N voter#3 output#4 20
  21. 21. Conclusion✓ ✓✓ ✓ ✓ ✓ output#1 ✓✓ sensor#1 ✓ ✓ ✓ voter#1 ✓ input#1 ✓ output#2 ✓ sensor#2 ✓ voter#2 ✓ ✓ input#2 ✓ ✓ output#3 ✓ ✓✓ sensor#N ✓ voter#3 output#4 21
  22. 22. Precision & Scalability Tests  Identical results with CodeSurfer on an example program  Kongsberg code base: 22
  23. 23. Precision & Scalability Tests  Identical results with CodeSurfer on an example program  Kongsberg code base: 23
  24. 24. Limitations   Bit manipulation: no precise information flow –  granularity limitation in Codesurfer implementation   Implemented for C with proprietary composition –  experiment with other languages, e.g. Java and other composition languages/frameworks Future Work  Abstraction and visualization –  improve comprehensibility of results –  present the result in multiple abstraction layers –  separate Intra- and Inter- component information flows 24
  25. 25. Thank you!Comments/Questions? 25
  1. A particular slide catching your eye?

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

×