Marsha Chechik Department of Computer Science University of Toronto CMU - April 2010
1
Marsha Chechik Department of Computer Science University of Toronto - - PowerPoint PPT Presentation
Marsha Chechik Department of Computer Science University of Toronto CMU - April 2010 1 Dependable software: that can justifiably be depended upon, in safety- and mission-critical settings main concern: prevent catastrophes
1
Dependable software:
Reasoning with partial and inconsistent information
Checking behavioral properties of programs
Understanding and exploring results
analysis
Computer-aided model exploration
How to trust automated analysis
Synthesis, merge, analysis of structural and behavioral models
General study of models for representing abstractions
Runtime monitoring and recovery of web service conversations
Dealing with systems of models
5
Loosely coupled, interaction through standardized interfaces Platform- and programming-language independent Communicating through XML messaging Together, form a Service-Oriented Architecture (SOA) Company X Web Service Company A Company B Web Service Company C Web Service
6
7
8
9
10
11
12
13
14
No code - observe finite executions at runtime Examine behavioral compatibility Pros
Specifically for Web Services:
15
16
Safety properties: negative scenarios that the system
Monitorable because they are falsified by a finite prefix of
17
Liveness properties: positive scenarios that the system
Not monitorable on finite traces of reactive systems! Solution: Finitary Liveness
18
Liveness properties: positive scenarios that the system
19
1 2 4 3 5 7 9 8 6 8 4
20
21
22
23
24
LTSA tool + new
new (incomplete)
python-automata + new
WebSphere Process Server (WPS)
WPS plugin
Blackbox
new, based on SAT-solver
new
25
Operations formalized [Foster ‘06]:
Modeling language: Labelled Trans. Systems (LTS) Tool support: LTSA
26
27
28
Trace: e: 1. Receive input 2. Get car at airport 3. Hold car at airport 4. Hold hotel room 5. Update travel dates and hold flight 6. Display itinerary 7. Book flight 8. Book hotel 9. Check date consistency
29
Goal: it should be
Thus: undo error trace
We call these change
30
31
32
Trace: e: 1. Receive input 2. Hold hotel room 3. Hold flight (no date update) 4. Get car at hotel 5. Hold shuttle 6. No cars available at hotel 7. Display itinerary 8. Book hotel 9. Book car > TERMINATE
33
34
Get the monitor into a green
Compute cross-product
Goal links: cross-product
Moreover, reach a goal link
a
a
LTSA tool + new
new (incomplete)
python-automata + new
WebSphere Process Server (WPS)
WPS plugin
Blackbox
new, based on SAT-solver
Post-Processor: new
35
Input:
Preprocessing
Recovery
Evaluation Related work, conclusion and future work
36
38
39
40
41
42
43
43
Ranking plans is based on:
Post processing:
Plan execution:
44
45
LTSA tool + new
new (incomplete)
python-automata + new
WebSphere Process Server (WPS)
WPS plugin
Blackbox
new, based on SAT-solver
Post-Processor: new
46
47
48
Expected plans for TBS computed in first two
Steep jump in number of plans caused by
SAT instances become harder as we
Scalability?
49
Success: built a prototype of a user-guided runtime
Challenge: Compute fewer plans
Challenge: Improve scalability of plan computation
50
Coming up with correctness properties Modeling data (e.g., NOT_SAME_DATE)
Modeling compensation
Developing this framework outside of IBM’s WebSphere,
51
52
53
54
Reasoning with partial and inconsistent information
Checking behavioral properties of programs
Understanding and exploring results
analysis
Computer-aided model exploration
How to trust automated analysis
Synthesis, merge, analysis of structural and behavioral models
General study of models for representing abstractions
Runtime monitoring and recovery of web service conversations
Dealing with systems of models
56
57
58
Expected plans
Steep jump in
59
SAT instances become harder as we increase k, so