etap tutorial v8
Post on 03Jun2018
230 views
Embed Size (px)
TRANSCRIPT
8/12/2019 Etap Tutorial v8
1/99
4/13/02 ETAPS 2002 1
A family of resourcebound process
algebras for modeling and analysis of
embedded systems
Insup Lee1, Oleg Sokolsky1,Anna Philippou2
1SDRL (Systems Design Research Lab)RTG (RealTime Systems Group)
Department of Computer and Information Science
University of PennsylvaniaPhiladelphia, PA
2Department of Computer ScienceUniversity of Cyprus
Nicosia, CY
8/12/2019 Etap Tutorial v8
2/99
4/13/02 ETAPS 2002 2
Outline
Embedded systems
Resourcebound computation
Resourcebound process algebras
ACSR(Algebra of communicating shared resources) PACSR(Probabilistic ACSR)
P2ACSR(Probabilistic ACSR with power consumption) ACSRVP(ACSR with ValuePassing)
Conclusions
8/12/2019 Etap Tutorial v8
3/99
8/12/2019 Etap Tutorial v8
4/99
4/13/02 ETAPS 2002 4
Properties of embedded systems
Adherence to safetycritical properties Meeting timing constraints
Satisfaction of resource constraints
Confinement of resource accesses
Supporting fault tolerance
Domain specific requirements Mobility
Software configuration
8/12/2019 Etap Tutorial v8
5/99
4/13/02 ETAPS 2002 5
Realtime Behaviors
Correctness and reliability of realtime systemsdepends on Functional correctness
Temporal correctness
Factors that affect temporal behavior are Synchronization and communication
Resource limitations and availability/failures
Scheduling algorithms
Endtoend temporal constraints An integrated framework to bridge the gap between
concurrency theory and realtime scheduling
8/12/2019 Etap Tutorial v8
6/99
4/13/02 ETAPS 2002 6
Scheduling Problems
Priority Assignment Problem Schedulability Analysis Problem
Soft timing/performance analysis (ProbabilisticPerformance Analysis)
Endtoend Design Problem Parametric Analysis
Endtoend constraints, intermediate timing constraints
Execution Synchronization Problem
Starttime Assignment Problem with InterjobTemporal Constraints
Fault tolerance: dealing with failures, overloads
8/12/2019 Etap Tutorial v8
7/99
4/13/02 ETAPS 2002 7
Scheduling Factors
Static priority vs dynamic priority Cyclic executive, RM (Rate Monotonic), EDF (Earliest
Deadline First)
Priority inversion problem
Independent tasks vs. dependent tasks Single processor vs. multiple processors
Communication delays
8/12/2019 Etap Tutorial v8
8/99
4/13/02 ETAPS 2002 8
Example: Simple Scheduling Problem
( period, [ e, e+] ), where eand e+are the lower and upper bound ofexecution time, respectively.
Goal is to find the priority of each job so that jobs are schedulable
Considering only worst case leads to scheduling anomaly
(12, [1,2])
(4, [2,3]) (12, [1,3])
(4, [1,2])
(4, [1,2])
J2,2
J3,1 J2,1
J1,1J1,2
CPU1 CPU2 CPU3
8/12/2019 Etap Tutorial v8
9/99
4/13/02 ETAPS 2002 9
Example (2)
LetJ1,1 J2,1andJ2,2 J3,1Consider worst case execution time for all jobs, i.e.,
Execution timeE1,1=2,E2,1= 3, E2,2 = 2,E3,1 = 3
(12, [1,2])
(4, [2,3]) (12, [1,3])
(4, [1,2])(4, [1,2])
J2,2
J3,1 J2,1
J1,1 J1,2CPU1
CPU2 CPU3
J1,1
J3,1
4 8 12
4 8 12
J2,1 J1,1 J2,1 J1,1
J3,1 J2,2 J3,1
CPU2
CPU1
8/12/2019 Etap Tutorial v8
10/99
4/13/02 ETAPS 2002 10
Example (3)
With same priorities, J1,1 J2,1andJ2,2 J3,1Let execution time E1,1= 1, E2,1 = 1, E2,2 = 2,E3,1 = 3
(12, [1,2])
(4, [2,3]) (12, [1,3])
(4, [1,2])(4, [1,2])
J2,2
J3,1 J2,1
J1,1J1,2
CPU1 CPU2 CPU3
So with the priority assignment of J1,1 J2,1andJ2,2 J3,1,jobs cannot be scheduled and scheduling problems are in general NPhard
J1,1
J3,1
4 8 12
4 8 12
J2,1 J1,1 J1,1
J2,2
CPU2
CPU1
J3,1 missed its deadline
8/12/2019 Etap Tutorial v8
11/99
4/13/02 ETAPS 2002 11
Endtoend Design Problem
Given a task set with endtoend constraints on inputs andoutputs Freshness from input X to output Y (F(YX)) constraints:
bound time from input X to output Y Correlation between input X1 and X2 (C(YX1,X2))
constraints: max timeskew between inputs to output Separation between output Y (u(Y) and l(Y)) constraints:separation between consecutive values on a single output Y
Derive scheduling for every task Periods, offsets, deadlines
priorities Meet the endtoend requirements Subject to
Resource limitations, e.g., memory, power, weight, bandwidth
8/12/2019 Etap Tutorial v8
12/99
4/13/02 ETAPS 2002 12
Job1
s1 s1+e1
Job2
s2 s2+e2
[ 5,7 ] [ 3,4 ]
2514
1012
Starttime Assignment Problem with Interjob Temporal Constraints
Goalis to statically determine the range of start times for each job
so that jobs are schedulable and all interjob temporal constraints
are satisfied.
Example: Starttime Problem
8/12/2019 Etap Tutorial v8
13/99
4/13/02 ETAPS 2002 13
Example: poweraware RT scheduling
Dynamic Voltage Scaling allows tradeoffs betweenperformance and power consumption
Problem is how to minimize power consumption whilemeeting timing constraints.
Example: three tasks with probabilistic executiontime distribution
Task Worstcase execution time Period
1 3 82 3 10
3 2 14
8/12/2019 Etap Tutorial v8
14/99
4/13/02 ETAPS 2002 14
Our approach and objectives
Design formalisms for realtime and embeddedsystems Resourcebound realtime process algebras
Executable specifications
Logic for specifying properties Design analysis techniques
Automated verification techniques
Parameterized endtoend schedulability analysis
Toolset implementation
8/12/2019 Etap Tutorial v8
15/99
4/13/02 ETAPS 2002 15
Resourcebound computation
Computational systems are always constrained in theirbehaviors
Resources capture physical constraints
Resources should be supported as a firstclass notion
in modeling and analysis Resourcebound computation is a general framework
of wide applicability
8/12/2019 Etap Tutorial v8
16/99
8/12/2019 Etap Tutorial v8
17/99
4/13/02 ETAPS 2002 17
Process Algebras
Process algebras are abstract and compositionalmethodologies for concurrentsystem specificationand analysis.
Design methodology which systematically allows tobuild complex systems from smaller ones [Milner]
8/12/2019 Etap Tutorial v8
18/99
4/13/02 ETAPS 2002 18
Process Algebras
A process algebra consists of a set of operators and syntactic rules for constructing
processes a semantic mapping which assigns meaning or
interpretation to every process a notion of equivalence or partial order between
processes a set of algebraic laws that allow syntactic manipulation
of processes.
Ancestors CCS, CSP, ACP, focus on communication and concurrency
8/12/2019 Etap Tutorial v8
19/99
4/13/02 ETAPS 2002 19
Advantages of Process Algebra
A large system can be broken into simpler subsystems and thenproved correct in a modular fashion.
1 A hiding or restriction operator allows one to abstract awayunnecessary details.
2 Equality for the process algebra is also a congruence relation;and thus, allows the substitution of one component with anotherequal component in large systems.
8/12/2019 Etap Tutorial v8
20/99
4/13/02 ETAPS 2002 20
ACSR
ACSR (Algebra of Communicating Shared Resource) A realtime process algebra which features discrete
time, resources, and priorities
Timeouts, interrupts, and exception handling
Two types of actions: Instantaneous events
Timed actions
8/12/2019 Etap Tutorial v8
21/99
4/13/02 ETAPS 2002 21
Events
Eventsrepresent nontime consuming activities
events are instantaneous: crash
pointtopoint synchronization
8/12/2019 Etap Tutorial v8
22/99
4/13/02 ETAPS 2002 22
Events
Events
have priorities:
have input and output capabilities
or
)p?,e(1
)p,!e(2
)10,job( 10
)p,e(1 )p,e( 2
8/12/2019 Etap Tutorial v8
23/99
4/13/02 ETAPS 2002 23
Actions
Actionsrepresent activities that take time require access to resources each resource usage has priority of access
each resource can be used at most once resources of actionA: idling action:
Examples:{(cpu,2}}, {(cpu1,3),(cpu2,4)},{(semaphore,5)}
2211 ,,, prprA
A
8/12/2019 Etap Tutorial v8
24/99
4/13/02 ETAPS 2002 24
Syntax for ACSR processes
Process terms
Process names
C
Pb
FPP
SRQP
PPPP
Pna
PA
NILP
I
a
t


\][
),,(

).,(
:
::
PCdef
8/12/2019 Etap Tutorial v8
25/99
4/13/02 ETAPS 2002 25
Constant and Nil
PCdef C is a constant that
represents the process
algebra expression P
P = NIL
P