Next:
7. Our Approach
Up:
Automatic Generation of an
Previous:
6. Conflicting Interfaces
Contents
III
. Solution
Subsections
7
. Our Approach
7
.
1
Assumptions about Petri-Nets and Components
7
.
2
Requirements for the Adaptor
7
.
2
.
1
The No-Conflict Requirement
7
.
2
.
2
The No-Races Requirement
7
.
2
.
3
The Liveness Requirement
7
.
3
Pure Approaches
7
.
3
.
1
Automatic Deduction of an Adaptor
7
.
3
.
2
Applicability of Pure Learning Algorithms
7
.
4
Modularizing The Adaptor
7
.
4
.
1
An Enforce-Action Module
7
.
4
.
2
A Liveness Module
7
.
4
.
3
A Concurrency Module
7
.
5
Argumentation of a Correct Construction
7
.
5
.
1
Satisfying the No-Conflict Requirement
7
.
5
.
2
Satisfying the No-Races Requirement
7
.
5
.
3
Satisfying the Liveness Requirement
7
.
6
Summary
8
. Module 1: The Enforce-Action Module
8
.
1
Introduction
8
.
2
Formal Analysis
8
.
3
Converting a Petri-Net Description to Prolog Rules
8
.
4
Predicting the Future & Deducing the Past
8
.
5
Reachability Analysis: Forward and Backward Tracing
8
.
6
Discussion
8
.
6
.
1
Implementation Notes & Performance
8
.
6
.
1
.
1
Why not using 'delete/3' ?
8
.
6
.
1
.
2
Why not using 'select/3' ?
8
.
6
.
1
.
3
Why not a step with less rules ?
8
.
6
.
2
Verifying Places versus Verifying Enabled Transitions
8
.
7
Summary
9
. Module 2: The Liveness Module
9
.
1
A Petri-Net Representation
9
.
1
.
1
Requirements for a Petri-net Representation
9
.
1
.
2
Runtime Creating of Transitions
9
.
2
Runtime Feedback
9
.
2
.
1
Check-pointing the Component's Source
9
.
2
.
1
.
1
Pros
9
.
2
.
1
.
2
Cons
9
.
2
.
2
Correlation
9
.
3
Reinforcement Learning
9
.
3
.
1
A Markov Decision Process
9
.
3
.
2
-learning
9
.
3
.
3
State Space Compaction
9
.
3
.
3
.
1
Definition of
and
9
.
3
.
4
Structural Aspects of this Compaction
9
.
4
Discussion
9
.
4
.
1
Experiments
9
.
4
.
2
Bypassing a Concurrency Strategy
9
.
4
.
3
Comparison with Classifier Systems and the BBA
9
.
5
Summary
10
. Module 3: The Concurrency Module
10
.
1
Resources
10
.
2
The Requirement: What is a Race-Condition ?
10
.
3
Control
10
.
4
Choice-Points
10
.
5
Avoiding Race Conditions
10
.
5
.
1
Handling Incoming
Requests
10
.
5
.
2
Handling Incoming
Requests
10
.
5
.
2
.
1
Detecting managed resources
10
.
5
.
2
.
2
Is a future realizable ?
10
.
5
.
2
.
3
Realizing a future
10
.
6
Discussion
10
.
6
.
1
Server Requirements
10
.
6
.
2
Unmanaged Concurrency
10
.
6
.
3
Livelocks
10
.
6
.
4
Deadlocks
10
.
6
.
5
Implicit Requirements
10
.
6
.
6
Virtual Resources
10
.
6
.
7
Implementation Issues
10
.
7
Summary
Werner 2004-03-07