From: darrell@cse.ucsc.edu (Darrell Long)
Newsgroups: ieee.tcos
Subject: mars.ps (MARS project description)
Date: 7 Oct 1992 18:31:51 GMT
Organization: University of California, Santa Cruz (CE/CIS Boards)
Distribution: ieee
NNTP-Posting-Host: cypress.ucsc.edu

%!PS-Adobe-2.0
%%Creator: dvips 5.479 Copyright 1986-92 Radical Eye Software
%%Title: mars.dvi
%%Pages: 3 1
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman Times-Bold Times-Italic Helvetica
%%EndComments
%DVIPSCommandLine: dvips -o mars.ps mars
%%BeginProcSet: tex.pro
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}
B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 -1 1 0 0 0]
concat}if 72 Resolution div 72 VResolution div neg scale isls{Resolution hsize
-72 div mul 0 TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix
currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put
setmatrix}N /@landscape{/isls true N}B /@manualfeed{statusdict /manualfeed
true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N
/IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix
fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{
CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn
put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0
0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data
dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128
ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127
sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type
/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N
/cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get
S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height
sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0
-1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{/cc X dup
type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1
ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}
B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
0 0 moveto}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N
/@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X
1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn
put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1
0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval
(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale
rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex
ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{moveto}B
/delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}
B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B
/k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1
w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{
/SS save N}B /eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: texps.pro
TeXDict begin /rf{655360 div mul 7227 div Resolution mul /PixPerEm X findfont
dup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
forall nn /Encoding get 1 0 1 255{2 index exch get /.notdef ne{1 add}if}for
dict begin 0 1 255{255 exch sub 2 copy get 3 index 2 index get 1000 mul
PixPerEm div def pop}for pop pop nn /Metrics currentdict put end{/foo setfont}
2 array copy cvx dup 0 nn dup definefont[PixPerEm 0 0 PixPerEm VResolution mul
Resolution div neg 0 0]makefont dup /nn X put N}N /ObliqueSlant{dup sin S cos
div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]TransFont}N /ExtendFont{/foo X 3 2
roll[S{foo div}forall]3 1 roll[foo 0 0 1 0 0]TransFont}N /TransFont{S findfont
S makefont dup length dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}
ifelse}forall dup nn definefont pop}N end
%%EndProcSet
TeXDict begin 40258437 52099154 1000 300 300 @start /Fa [ 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 12 12 15 23 23 37 28 9 14 14 16 24 12 14 12 12 23 23 23 23
23 23 23 23 23 23 12 12 24 24 24 23 42 28 28 30 30 28 25 32
30 12 21 28 23 35 30 32 28 32 30 28 25 30 28 39 28 28 25 12
12 12 19 23 9 23 23 21 23 23 12 23 23 9 9 21 9 35 23 23 23
23 14 21 12 23 21 30 21 21 21 14 11 14 24 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 23 23
7 23 23 23 23 8 14 23 14 14 21 21 0 23 23 23 12 0 22 15 9 14
14 23 42 42 0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14
14 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 15 0 0 0 0 23 32
42 15 0 0 0 0 0 37 0 0 0 12 0 0 9 25 39 25 0 0 0 0 ] /Helvetica
1000 655360 rf /Fb [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 10 14 23 21 21 42 35 14 14 14 21
24 10 14 10 12 21 21 21 21 21 21 21 21 21 21 14 14 24 24 24
21 39 30 28 30 30 28 25 32 32 16 21 32 28 39 30 32 25 32 30
23 28 30 30 42 30 30 28 14 12 14 24 21 14 21 23 18 23 18 14
21 23 12 14 23 12 35 23 21 23 23 18 16 14 23 21 30 21 21 18
16 9 16 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 14 21 21 7 21 21 21 21 12 21 21 14 14 23
23 0 21 21 21 10 0 22 15 14 21 21 21 42 42 0 21 0 14 14 14
14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 42 0 12 0 0 0 0 28 32 42 14 0 0 0 0 0 30 0 0 0 12
0 0 12 21 30 23 0 0 0 0 ] /Times-Bold 1000 655360 rf /Fc [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 10 14 17 21 21 35 32 14 14 14 21 28 10 14 10 12 21 21 21
21 21 21 21 21 21 21 14 14 28 28 28 21 38 25 25 28 30 25 25
30 30 14 18 28 23 35 28 30 25 30 25 21 23 30 25 35 25 23 23
16 12 16 18 21 14 21 21 18 21 18 12 21 21 12 12 18 12 30 21
21 21 21 16 16 12 21 18 28 18 18 16 17 11 17 22 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16
21 21 7 21 21 21 21 9 23 21 14 14 21 21 0 21 21 21 10 0 22
15 14 23 23 21 37 42 0 21 0 14 14 14 14 14 14 14 14 0 14 14
0 14 14 14 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 0 11 0 0 0
0 23 30 39 13 0 0 0 0 0 28 0 0 0 12 0 0 12 21 28 21 0 0 0 0
] /Times-Italic 1000 655360 rf /Fd [ 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 17 28 25 25 50
41 17 17 17 25 28 12 17 12 14 25 25 25 25 25 25 25 25 25 25
17 17 28 28 28 25 46 36 33 36 36 33 30 39 39 19 25 39 33 47
36 39 30 39 36 28 33 36 36 50 36 36 33 17 14 17 29 25 17 25
28 22 28 22 17 25 28 14 17 28 14 41 28 25 28 28 22 19 17 28
25 36 25 25 22 20 11 20 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 25 25 8 25 25 25 25
14 25 25 17 17 28 28 0 25 25 25 12 0 27 17 17 25 25 25 50 50
0 25 0 17 17 17 17 17 17 17 17 0 17 17 0 17 17 17 50 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 50 0 15 0 0 0 0 33 39 50 16 0 0 0
0 0 36 0 0 0 14 0 0 14 25 36 28 0 0 0 0 ] /Times-Bold 1000
786432 rf /Fe [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 10 14 17 21 21 35 32 14 14 14 21 23 10
14 10 12 21 21 21 21 21 21 21 21 21 21 12 12 23 23 23 18 38
30 28 28 30 25 23 30 30 14 16 30 25 37 30 30 23 30 28 23 25
30 30 39 30 30 25 14 12 14 19 21 14 18 21 18 21 18 14 21 21
12 12 21 12 32 21 21 21 21 14 16 12 21 21 30 21 21 18 20 8
20 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 14 21 21 7 21 21 21 21 7 18 21 14 14 23 23 0
21 21 21 10 0 19 15 14 18 18 21 42 42 0 18 0 14 14 14 14 14
14 14 14 0 14 14 0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 37 0 11 0 0 0 0 25 30 37 13 0 0 0 0 0 28 0 0 0 12 0 0 12
21 30 21 0 0 0 0 ] /Times-Roman 1000 655360 rf /Ff [ 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15
19 32 29 29 58 48 19 19 19 29 33 15 19 15 16 29 29 29 29 29
29 29 29 29 29 19 19 33 33 33 29 54 42 39 42 42 39 36 45 45
23 29 45 39 55 42 45 36 45 42 32 39 42 42 58 42 42 39 19 16
19 34 29 19 29 32 26 32 26 19 29 32 16 19 32 16 48 32 29 32
32 26 23 19 32 29 42 29 29 26 23 13 23 30 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 29 29
10 29 29 29 29 16 29 29 19 19 32 32 0 29 29 29 15 0 31 20 19
29 29 29 58 58 0 29 0 19 19 19 19 19 19 19 19 0 19 19 0 19
19 19 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 0 17 0 0 0 0 39
45 58 19 0 0 0 0 0 42 0 0 0 16 0 0 16 29 42 32 0 0 0 0 ] /Times-Bold
1000 917504 rf /Fg [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 12 17 20 25 25 41 39 17 17 17 25
28 12 17 12 14 25 25 25 25 25 25 25 25 25 25 14 14 28 28 28
22 46 36 33 33 36 30 28 36 36 17 19 36 30 44 36 36 28 36 33
28 30 36 36 47 36 36 30 17 14 17 23 25 17 22 25 22 25 22 17
25 25 14 14 25 14 39 25 25 25 25 17 19 14 25 25 36 25 25 22
24 10 24 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 17 25 25 8 25 25 25 25 9 22 25 17 17 28
28 0 25 25 25 12 0 23 17 17 22 22 25 50 50 0 22 0 17 17 17
17 17 17 17 17 0 17 17 0 17 17 17 50 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 44 0 14 0 0 0 0 30 36 44 15 0 0 0 0 0 33 0 0 0 14
0 0 14 25 36 25 0 0 0 0 ] /Times-Roman 1000 786432 rf /Fh [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 18 23 29 35 35 59 55 23 23 23 35 40 18 23 18 20 35 35 35
35 35 35 35 35 35 35 20 20 40 40 40 31 65 51 47 47 51 43 39
51 51 23 27 51 43 63 51 51 39 51 47 39 43 51 51 67 51 51 43
23 20 23 33 35 23 31 35 31 35 31 23 35 35 20 20 35 20 55 35
35 35 35 23 27 20 35 35 51 35 35 31 34 14 34 38 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23
35 35 12 35 35 35 35 13 31 35 23 23 39 39 0 35 35 35 18 0 32
25 23 31 31 35 71 71 0 31 0 23 23 23 23 23 23 23 23 0 23 23
0 23 23 23 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 0 19 0 0 0
0 43 51 63 22 0 0 0 0 0 47 0 0 0 20 0 0 20 35 51 35 0 0 0 0
] /Times-Roman 1000 1114112 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300
TeXDict begin

%%EndSetup
%%Page: 1 1
bop 534 286 a Fh(The)18 b(Distributed,)g(Fault-T)-5 b(olerant)454
378 y(Real-T)n(ime)18 b(Operating)h(System)f(MARS)509 498 y
Fg(H.)13 b(Kopetz,)g(G.)g(Fohler)n(,)f(G.)g(Gr)1070 499 y(\310)1066
498 y(unsteidl,)h(H.)g(Kantz,)403 556 y(G.)g(Pospischil,)g(P)-6
b(.)13 b(Puschner)n(,)g(J.)g(Reisinger)n(,)g(R.)g(Schlatterbeck,)576
614 y(W)-5 b(.)14 b(Sch)723 615 y(\310)719 614 y(utz,)e(A.)h(V)m(rchoticky)m
(,)f(R.)h(Zainlinger)629 731 y(Department)f(of)g(Real-T)n(ime)h(Systems)578
789 y(T)m(echnical)f(University)g(of)g(V)m(ienna,)h(Austria)0
951 y Ff(Personnel)h(and)h(Contact)0 1047 y Fe(Prof.)g(H.)c(Kopetz)0
1096 y(Inst.)k(f.)g(T)m(echnische)c(Informatik)0 1146 y(T)m(echnical)g
(University)e(of)h(V)n(ienna)0 1196 y(T)o(reitlstr)n(.)j(3/182/1)0
1246 y(A-1040)c(V)n(ienna,)h(Austria)0 1311 y(+43)g(\(222\))g(58)f(801-8180)0
1360 y(hk@vmars.tuwien.ac.at)0 1483 y Ff(Pr)o(oject)14 b(Summary)0
1578 y Fe(A)d(system)g(architecture)f(has)h(to)f(provide)g(support)f(for)h
(all)h(those)0 1627 y(functions)k(which)g(are)i(expected)g(to)e(occur)h(in)g
(most)g(applica-)0 1677 y(tions)9 b(of)h(the)g(intended)f(application)f
(domain.)15 b(MARS)10 b(\261)g(which)0 1727 y(has)18 b(been)h(developed)f(at)
g(our)f(institute)f(during)h(the)h(last)g(ten)0 1777 y(years)11
b([1)o(,)f(2])g(\261)g(is)f(an)h(architecture)g(for)g(the)f(realization)g(of)
h(com-)0 1827 y(puter)d(systems)i(for)e(distributed)f(fault-tolerant)g
(real-time)h(appli-)0 1877 y(cations.)14 b(In)6 b(this)g(application)g
(domain)h(the)f(following)f(functions)0 1926 y(have)10 b(to)f(be)h(provided)e
(within)g(the)i(framework)f(of)h(the)f(architec-)0 1976 y(ture:)14
b(clock)9 b(synchronization,)f(interprocess)i(communication,)0
2026 y(task)f(management,)h(scheduling,)e(error)h(handling,)f(redundancy)0
2076 y(management,)k(and)e(testing)f(support.)42 2127 y(If)22
b(the)h(architecture)g(is)g(successful)g(in)f(providing)f(these)0
2177 y(services,)29 b(the)23 b(application)g(developer)g(can)i(focus)f(on)g
(the)0 2227 y(application-speci\256c)9 b(tasks.)0 2353 y Fd(The)j(MARS)h(Ar)o
(chitectur)o(e)0 2433 y Fe(A)f(MARS)g(computer)f(system)i(consists)e(of)h
(one)g(or)f(more)i(clus-)0 2483 y(ters.)37 b(A)17 b(cluster)g(consists)g(of)g
(a)h(set)g(of)f Fc(fault-tol)o(erant)e(units)0 2532 y Fe(\(FTUs\))c([3)o(])g
(which)f(are)h(interconnected)f(by)g(a)i(redundant)d(real-)0
2582 y(time)h(bus.)k(An)c(FTU)g(is)g(composed)g(of)f(two)g(actively)g
(redundant)0 2632 y(fail-silent)e(components)g(and)f(an)h(opt)o(ion)o(al)g
Fc(shad)o(ow)f(component)o Fe(.)996 951 y(These)11 b(components)e(are)i
(hardware/software)f(units)f(which)g(de-)996 1001 y(liver)j(a)h(speci\256ed)g
(service.)24 b(As)13 b(long)e(as)j(any)f(one)g(component)996
1051 y(within)7 b(an)i(FTU)h(is)f(operational,)f(the)h(FTU)h(can)f(provide)f
(its)h(ser)o(-)996 1101 y(vice.)24 b(Some)13 b(components,)h(the)f
Fc(interface)g(components)p Fe(,)h(sup-)996 1151 y(port)f(a)i(connection)f
(to)g(the)g(intelligent)e(instrumentation,)i(i.e.,)996 1200
y(the)c(sensors)g(and)h(actuators)f(in)f(the)i(controlled)d(object.)15
b(The)c(in-)996 1250 y(telligent)f(instrumentation)f(delivers)j(or)f(accepts)
i(observations)996 1300 y(about)d(the)h(environment.)16 b(The)c
(\(syntactic\))e(transformation)f(of)996 1350 y(the)14 b(measured)h(physical)
e(signal)g(to)h(an)g(observation)f(and)h(vice)996 1400 y(versa)d(is)f
(performed)g(in)g(the)g(intelligent)e(instrumentation.)996
1514 y Fb(Clock)i(Synchr)o(onization)996 1593 y Fe(All)e(components)h(of)g(a)
g(MARS)g(system)h(have)f(access)i(to)e(a)g(glob-)996 1642 y(ally)18
b(synchronized)g(fault-tolerant)f(time)h(base.)42 b(The)19
b(preci-)996 1692 y(sion)c(of)g(synchronization)f(is)i(better)g(than)f(10)g
(microseconds.)996 1742 y(This)d(clock)h(synchronization)e(is)h(supported)f
(by)h(a)h(custom)g(de-)996 1792 y(signed)8 b(VLSI)h(circuit,)f(the)h
Fc(clock)g(synchr)n(onization)f(unit)g Fe(\(CSU\))996 1842
y([4)o(].)15 b(The)c(information)d(which)h(is)g(required)h(to)f(synchronize)g
(the)996 1891 y(clocks)g(is)f(piggy-backed)g(on)h(application)e(messages,)12
b(such)d(that)996 1941 y(no)h(special)g(clock)h(synchronization)d(messages)k
(are)f(required.)996 2055 y Fb(Interpr)o(ocess)i(Communication)996
2134 y Fe(MARS)k(components)f(communicate)i(via)f(the)g(real-time)g(bus)996
2184 y(by)12 b(the)f(exchange)i(of)f Fc(state-messages)p Fe(.)21
b(A)12 b(state)h(message)h(is)e(a)996 2234 y(unidirectional)g(broadcast)i
(message,)j(which)d(is)g(sent)g(periodi-)996 2283 y(cally)m(,)i(at)e
(prede\256ned)h(points)e(of)h(time.)28 b(It)14 b(has)h(the)f(semantics)996
2333 y(of)g(a)i(variable)e(at)h(the)g(receiver)r(')n(s)g(side,)h(i.e.,)h(a)e
(state-message)996 2383 y(is)d(not)g(consumed)h(on)f(reading)h(and)f(a)i(new)
e(version)g(of)h(a)g(state)996 2433 y(message)e(overwrites)f(the)g(previous)f
(message.)17 b(The)10 b(semantics)996 2483 y(of)15 b(a)h(state-message)i(is)d
(thus)g(ideally)g(suited)g(to)g(transport)g(an)996 2532 y(observation)7
b(of)h(the)h(environment,)f(consisting)f(of)h(both)g(a)h(value)996
2582 y(\(values\))16 b(and)g(the)g(point)f(in)h(time)g(of)g(the)g
(observation.)32 b(The)996 2632 y(minimal)13 b(protocol)g(stack)h(of)g(MARS)f
(ensures)i(that)e(the)h(delay)p eop
%%Page: 2 2
bop 0 154 a Fe(and)10 b(the)h(temporal)f(variability)e(of)i(message)i
(transmissions)e(are)0 203 y(small)k(and)h(bounded.)26 b(Access)16
b(to)d(the)h(real-time)g(bus)g(is)g(con-)0 253 y(trolled)8
b(by)i(a)g(synchronous)f(time)h(division)e(protocol)g(\(TDMA\).)0
303 y(A)15 b(sparse)h(time)e(base)i(within)d(MARS)i([5)o(])g(is)g(realized)g
(by)g(the)0 353 y(synchronization)g(of)h(the)g(TDMA)g(protocol)f(with)g(the)h
(global)0 403 y(time.)f(Thus)9 b(messages)h(can)g(only)e(be)h(sent)g(at)g
(prede\256ned)g(points)0 452 y(in)h(time.)18 b(In)10 b(order)h(to)f(tolerate)
h(3)g(omission)f(faults)g(on)g(the)h(real-)0 502 y(time)f(bus)g(every)h
(message)h(is)e(transmitted)f(4)h(times.)0 630 y Fb(T)l(ask)g(Management)0
714 y Fe(T)m(o)k(make)h(a)f(predictable)g(timing)e(behavior)h(possible,)h
(bounds)0 764 y(for)d(the)g(execution)g(times)g(of)h(all)f(tasks)g(must)g(be)
h(known)e(in)h(ad-)0 814 y(vance.)18 b(These)12 b(bounds)e(are)i(derived)e
(by)h(static)f(analysis)h(of)g(the)0 864 y(tasks')e(code)h([6].)k(This)c(is)f
(possible,)g(because)h(the)f(performance)0 913 y(of)i(the)h(underlying)e
(hardware)i(is)g(known,)f(the)h(time)g(consump-)0 963 y(tion)h(of)g(all)h
(operating)f(system)h(functions)f(is)h(bounded,)g Fc(worst)0
1013 y(case)c(execution)f(times)f Fe(can)i(be)f(computed)g(for)f(all)g
(constructs)h(of)0 1063 y(the)h(used)g(programming)e(language,)j(and)f(no)f
(delays)h(caused)h(by)0 1113 y(communication)c(and)g(synchronization)f(can)j
(occur)e(during)f(task)0 1162 y(execution.)14 b(The)8 b(latter)f(is)g(due)h
(to)f(the)g(fact)h(that)f(the)h(execution)f(of)0 1212 y(communication)i
(protocols)f(does)i(not)f(take)h(place)g(in)f(the)h(scope)0
1262 y(of)h(the)g(tasks.)17 b(Instead,)12 b(tasks)f(merely)g(read)h(from)e
(and)i(write)e(to)0 1312 y(message)h(buf)o(fers.)j(The)c(physical)e
(send-message)j(and)e(receive-)0 1362 y(message)g(operations)e(are)h
(performed)f(by)g(the)h(operating)e(system)0 1411 y(at)k(times)h
(predetermined)f(by)g(the)g(of)o(f-line)f(scheduler)n(.)0 1539
y Fb(Scheduling)0 1623 y Fe(MARS)27 b(is)f(based)i(on)e Fc(time-trigger)n(ed)
g(static)g(pr)n(eemptive)0 1673 y(scheduling)p Fe(.)14 b(Since)c(both)e(the)h
(communication)g(times)h(and)f(task)0 1723 y(execution)15 b(times)g(are)i
(bounded)d(it)h(is)g(possible)f(to)h(determine)0 1773 y(the)e(CPU)g(slots)f
(for)h(the)g(tasks)g(and)g(the)g(message)i(slots)d(on)h(the)0
1823 y(real-time)7 b(bus)h(during)d(the)j(design)f(phase)h(of)f(an)g
(application)f([7].)0 1872 y(At)11 b(run)f(time)h(a)h(dispatcher)f(executes)h
(the)f(static)f(schedules.)19 b(In)0 1922 y(order)12 b(to)g(adapt)h(the)f
(system)h(to)f(dif)o(ferent)f(application)g(modes,)0 1972 y(a)k
Fc(schedule)g(switch)f Fe(is)h(supported)e(by)h(the)h(operating)f(system.)0
2022 y(A)d(correct)h(static)f(schedule)h(is)f(provided)f(for)h(each)i
(application)0 2072 y(mode.)29 b(Replica)15 b(determinism)g(between)g
(replicated)f(compo-)0 2121 y(nents)i(within)f(an)i(FTU)g(can)g(be)g
(maintained)f(easily)h(because)0 2171 y(there)10 b(are)h(no)f(dynamic)h
(scheduling)e(decisions)h(at)g(all.)0 2299 y Fb(Err)o(or)h(Handling)0
2383 y Fe(The)d(error)f(handling)e(philosophy)g(of)i(MARS)g(is)g(simple.)14
b(When-)0 2433 y(ever)e(an)f(error)g(is)f(detected)i(within)d(a)i(component,)
h(the)e(compo-)0 2483 y(nent)15 b(is)h(turned)f(of)o(f.)31
b(Since)17 b(an)f(FTU)g(contains)f(at)h(least)g(two)0 2532
y(redundant)d(components,)i(the)e(speci\256ed)h(service)h(of)e(the)h(FTU)0
2582 y(is)h(not)e(interrupted)g(when)i(one)g(component)f(of)h(an)g(FTU)g
(fails)0 2632 y(in)c(a)i(fail-silent)d(manner)n(.)21 b(Architectural)11
b(support)g(is)h(provided)996 154 y(to)17 b(reintegrate)g(a)h(failed)g
(component)f(quickly)g(after)g(the)h(oc-)996 203 y(currence)d(of)f(a)i
(transient)d(fault.)27 b(There)16 b(is)e(also)h(architectural)996
253 y(support)9 b(provided)h(to)g(realize)h(a)h(high)e(self)g(checking)h
(coverage)996 303 y(of)k(the)h(components.)32 b(Because)17
b(of)f(the)f(a-priori)g(knowledge)996 353 y(of)c(the)g(sending)f(time)h(of)g
(messages)i(any)e(message)i(loss)e(can)h(be)996 403 y(detected)e(by)g(the)g
(receiver)n(.)996 516 y Fb(Redundancy)h(Management)996 594
y Fe(In)h(order)g(to)f(gain)h(a)h(consistent)e(and)h(timely)g(view)g(of)g
(the)g(state)996 644 y(of)i(each)i(FTU)f(within)e(a)j(cluster)n(,)g(a)f
Fc(distributed)e(membership)996 694 y Fe(service)f(is)g(part)g(of)f(the)h
(architecture.)21 b(This)11 b(distributed)f(mem-)996 744 y(bership)17
b(service)h(is)f(needed)i(to)e(implement)g(the)h(fail-silence)996
794 y(property)13 b(of)i(the)g(components)f(\(malfunction)f(of)i(an)g(input)e
(or)996 843 y(output)g(channel\))j(and)f(to)g(control)f(the)h(redundancy)g
(manage-)996 893 y(ment)10 b(within)f(an)h(FTU)h([8].)996 1006
y Fb(T)l(esting)f(Support)996 1085 y Fe(In)f(any)g(application)f
(environment,)h(the)g(actual)h(message)h(traf)o(\256c)996 1135
y(on)i(the)h(MARS)f(bus)g(can)i(be)f(monitored)e(from)i(a)g(test)f(support)
996 1185 y(system)c(without)e(causing)i(the)g(probe)f(ef)o(fect)i([9)o(].)15
b(Since)9 b(MARS)996 1234 y(is)f(based)h(on)g(a)g(sparse)g(time)g(model,)g
(the)g(message)h(environment)996 1284 y(of)e(any)h(component)f(of)g(a)h
(cluster)f(can)i(be)e(recreated,)j(both)c(in)h(the)996 1334
y(domains)i(of)g(value)g(and)g(time,)h(by)f(this)f(test)h(support)f(system.)
996 1455 y Fd(The)j(MARS)g(Design)h(Envir)o(onment)996 1534
y Fe(In)8 b(our)g(view)m(,)h(an)g(architecture)f(for)g(hard)g(real-time)g
(applications)996 1584 y(must)i(be)h(complemented)g(by)f(an)g(appropriate)g
(design)g(method-)996 1634 y(ology)m(.)30 b(W)m(e)17 b(have)f(developed)f
(such)h(a)h(design)e(methodology)996 1684 y([10)o(])f(which)g(is)f
(speci\256cally)i(suited)e(to)g(construct)h(predictable)996
1733 y(hard)c(real-time)g(applications)f(for)h(the)g(MARS)g(architecture.)
1037 1784 y(The)18 b(design)f(methodology)f(consists)g(of)h(several)h
(distinct,)996 1834 y(but)13 b(co-operating,)i(design)f(steps.)27
b(Design)14 b(steps)h(deal)f(either)996 1883 y(with)d Fc(design)h(cr)n
(eation)p Fe(,)h(where)g(the)f(design)g(information)e(from)996
1933 y(a)g(previous)e(design)h(phase)h(is)f(re\256ned)h(and)f(more)h(design)f
(details)996 1983 y(are)f(added,)h(with)d Fc(static)h(design)g
(veri\256cation)p Fe(,)g(where)h(the)g(design)996 2033 y(information)f
(resulting)h(from)h(some)h(design)f(phase)h(is)f(analyzed)996
2083 y(or)e(evaluated,)i(or)e(with)g Fc(dynamic)g(design)g(veri\256cation)g
Fe(\(testing\).)1037 2133 y(Three)13 b(types)e(of)g(static)g(veri\256cation)f
(have)i(been)g(considered)996 2183 y(so)f(far:)k(Dependability)9
b(Analysis)i([11)o(,)g(12],)g(T)o(iming)f(Analysis)996 2233
y([7)o(],)h(and)f(Execution)g(T)o(ime)g(Analysis)g([6].)1037
2283 y(For)30 b(dynamic)g(veri\256cation)f(\(testing\))f(a)i(suitable)f(test)
996 2333 y(methodology)8 b(which)i(is)g(integrated)g(with)f(the)h(design)g
(creation)996 2382 y(steps)g(has)h(been)g(developed)f([13)o(].)1037
2433 y(Based)f(on)e(this)g(design)h(methodology)m(,)f(the)h(prototype)e
(design)996 2483 y(environment)17 b(MARDS)h([10)o(])g(has)h(been)f
(developed,)j(which)996 2532 y(provides)12 b(automated)g(support)g(for)g(the)
g(development)h(of)f(real-)996 2582 y(time)d(applications)f(and)i(integrates)
f(a)h(number)f(of)h(design,)f(eval-)996 2632 y(uation,)g(and)i(project)e
(management)j(tools.)p eop
%%Page: 3 3
bop 0 154 a Ff(Status)0 252 y Fe(W)m(e)14 b(have)g(recently)f(implemented)g
(an)h(experimental)g(applica-)0 302 y(tion,)j(the)f(\252Rolling)e(Ball\272)i
(on)g(a)h(MARS)f(cluster)g([14)o(].)34 b(The)0 352 y(aim)12
b(of)g(this)f(application)f(is)i(to)f(balance)h(a)h(ball)e(on)g(\257at)h
(surface)0 401 y(such)k(that)f(it)g(follows)f(a)i(prede\256ned)g(course.)32
b(Based)17 b(on)e(our)0 451 y(experiences)g(with)e(the)h(present)g(hardware,)
i(we)f(are)f(currently)0 501 y(designing)9 b(a)i(new)f(processor)h(board)f
([15)o(].)0 657 y Ff(Report)15 b(A)l(vailability)0 756 y Fe(Many)i(of)h(the)f
(recent)h(papers)g(and)f(technical)h(reports)e(\(1989)0 806
y(and)c(later\))f(are)i(available)e(from)h Fa(ftp.vmars.tuwien.ac.)o(at)d
Fe(via)0 855 y(anonymous)h(FTP)i(in)e(the)g(directory)g Fa(/pub/papers)p
Fe(.)16 b(Other)10 b(pa-)0 905 y(pers)j(and)h(technical)f(reports)f(on)h
(MARS)g(can)h(be)f(obtained)g(by)0 955 y(writing)8 b(to)i(the)g(above)h
(address.)0 1111 y Ff(Refer)o(ences)21 1210 y Fe([1])20 b(H.)31
b(Kopetz)f(and)h(W)l(.)g(Merker)n(,)37 b(\252The)31 b(architecture)90
1260 y(of)d(MARS,\272)h(in)f Fc(Pr)n(oc.)i(15th)e(Int.)g(Symposium)g(on)90
1309 y(Fault-T)l(olerant)10 b(Computing)p Fe(,)h(\(Ann)g(Arbor)n(,)i
(Michigan\),)90 1359 y(pp.)d(274\261279,)f(June)i(1985.)21
1454 y([2])20 b(H.)i(Kopetz,)j(A.)d(Damm,)k(C.)c(Koza,)k(M.)c(Mulazzani,)90
1504 y(W)l(.)g(Schwabl,)j(C.)d(Senft,)i(and)e(R.)f(Zainlinger)n(,)j(\252Dis-)
90 1554 y(tributed)6 b(fault-tolerant)f(real-time)i(systems:)14
b(The)8 b(MARS)90 1604 y(Approach,\272)21 b Fc(IEEE)f(Micr)n(o)p
Fe(,)g(vol.)f(9,)h(pp.)f(25\26140,)h(Feb.)90 1654 y(1989.)21
1749 y([3])g(H.)9 b(Kopetz,)g(H.)f(Kantz,)h(G.)g(Gr)540 1750
y(\310)537 1749 y(unsteidl,)f(P)-5 b(.)9 b(Puschner)n(,)g(and)90
1799 y(J.)j(Reisinger)n(,)f(\252T)m(olerating)g(transient)f(faults)g(in)h
(MARS,\272)90 1848 y(in)c Fc(Pr)n(oc.)g(20th)g(Int.)g(Symposium)f(on)g(Fault)
o(-T)l(olerant)g(Co)o(m-)90 1898 y(puting)p Fe(,)15 b(\(Newcastle)h(upon)e(T)
m(yne,)j(UK\),)e(pp.)h(466\261473,)90 1948 y(June)10 b(1990.)21
2043 y([4])20 b(H.)8 b(Kopetz)f(and)h(W)l(.)g(Ochsenreiter)n(,)h(\252Clock)e
(synchroniza-)90 2093 y(tion)12 b(in)h(distributed)e(real-time)i
(systems,\272)i Fc(IEEE)g(T)n(rans-)90 2143 y(actions)e(on)i(Computers)p
Fe(,)g(vol.)f(36,)i(pp.)e(933\261940,)g(Aug.)90 2193 y(1987.)21
2288 y([5])20 b(H.)15 b(Kopetz,)i(\252Sparse)f(time)f(versus)g(dense)h(time)f
(in)f(dis-)90 2338 y(tributed)9 b(real-time)i(systems,\272)h(Research)g
(Report)e(19/91,)90 2387 y(Institut)g(f)237 2388 y(\310)234
2387 y(ur)i(T)m(echnische)h(Informatik,)f(T)m(echnische)h(Uni-)90
2437 y(versit)185 2438 y(\310)183 2437 y(at)c(W)n(ien,)j(V)n(ienna,)e
(Austria,)g(Oct.)g(1991.)21 2532 y([6])20 b(P)-5 b(.)9 b(Puschner)g(and)f(C.)
g(Koza,)i(\252Calculating)d(the)h(maximum)90 2582 y(execution)17
b(time)g(of)g(real-time)g(programs,\272)j Fc(Real-T)n(ime)90
2632 y(Systems)p Fe(,)11 b(vol.)f(1,)g(pp.)h(159\261176,)e(Sep.)i(1989.)1017
154 y([7])20 b(G.)13 b(Fohler)f(and)g(C.)h(Koza,)h(\252Scheduling)d(for)h
(distributed)1086 203 y(hard)f(real-time)f(systems)i(using)e(heuristic)g
(search)i(strate-)1086 253 y(gies,\272)c(Research)h(Report)e(12/90,)g
(Institut)e(f)1725 254 y(\310)1722 253 y(ur)i(T)m(echnische)1086
303 y(Informatik,)19 b(T)m(echnische)h(Universit)1657 304 y(\310)1655
303 y(at)e(W)n(ien,)j(V)n(ienna,)1086 353 y(Austria,)10 b(June)g(1990.)1017
436 y([8])20 b(G.)13 b(Gr)1186 437 y(\310)1183 436 y(unsteidl)f(and)h(H.)g
(Kopetz,)i(\252A)e(reliable)g(multicast)1086 486 y(protocol)c(for)i
(distributed)e(real-time)i(systems,\272)i(in)d Fc(Pr)n(oc.)1086
535 y(8th)c(IEEE)i(W)l(orkshop)e(on)h(Real-T)n(ime)g(Operating)f(Systems)1086
585 y(and)j(Softwar)n(e)p Fe(,)h(\(Atlanta,)g(GA,)h(USA\),)f(May)h(1991.)1017
668 y([9])20 b(W)l(.)e(Sch)1214 669 y(\310)1211 668 y(utz,)h(\252On)f(the)f
(testability)e(of)i(distributed)e(real-)1086 718 y(time)9 b(systems,\272)i
(in)d Fc(Pr)n(oc.)j(10th)d(Symposium)h(on)g(Reliable)1086 768
y(Distributed)14 b(Systems)p Fe(,)k(\(Pisa,)g(Italy\),)e(pp.)g(52\26161,)g
(Sep.)1086 818 y(1991.)996 901 y([10])k(H.)j(Kopetz,)i(R.)e(Zainlinger)n(,)i
(G.)e(Fohler)n(,)j(H.)c(Kantz,)1086 951 y(P)-5 b(.)18 b(Puschner)n(,)j(and)c
(W)l(.)i(Sch)1519 952 y(\310)1516 951 y(utz,)h(\252An)d(engineering)g(ap-)
1086 1000 y(proach)11 b(to)f(hard)h(real-time)g(system)g(design,\272)h(in)e
Fc(Pr)n(oc.)j(of)1086 1050 y(the)j(Thir)n(d)g(Eur)n(opean)g(Softwar)n(e)f
(Engineering)h(Confer)o(-)1086 1100 y(ence,)e(ESEC)f('91)p
Fe(,)g(\(Milano,)f(Italy\),)g(pp.)h(166\261188,)f(Oct.)1086
1150 y(1991.)996 1233 y([11])20 b(H.)11 b(Kantz,)g(\252Flexible)f(handling)f
(of)h(diverse)h(dependabil-)1086 1283 y(ity)i(requirements)i(in)f(MARS,\272)i
(in)e Fc(Pr)n(oc.)j(10th)d(Sympo-)1086 1333 y(sium)e(on)h(Reliable)g
(Distributed)e(Systems)p Fe(,)k(\(Pisa,)g(Italy\),)1086 1382
y(pp.)10 b(142\261151,)f(Sep.)i(1991.)996 1465 y([12])20 b(H.)15
b(Kantz)h(and)f(K.)h(T)o(rivedi,)f(\252Reliability)e(modeling)h(of)1086
1515 y(the)f(MARS)g(system:)22 b(A)14 b(case)h(study)d(in)h(the)h(use)g(of)f
(dif-)1086 1565 y(ferent)c(tools)e(and)i(techniques,\272)h(in)e
Fc(4th)g(Int.)h(W)l(orkshop)f(on)1086 1615 y(Petri)17 b(Nets)h(and)e
(Performance)j(Models)p Fe(,)g(\(Melbourne,)1086 1665 y(Australia\),)9
b(pp.)i(268\261277,)e(Dec.)i(1991.)996 1748 y([13])20 b(W)l(.)13
b(Sch)1209 1749 y(\310)1206 1748 y(utz,)i(\252A)e(test)g(strategy)f(for)h
(the)f(distributed)f(real-)1086 1797 y(time)g(system)h(MARS,\272)g(in)f
Fc(IEEE)i(CompEur)n(o)e(90,)h(Com-)1086 1847 y(puter)f(Systems)g(and)g
(Softwar)n(e)f(Engineering)p Fe(,)h(\(T)m(el)g(A)m(viv)m(,)1086
1897 y(Israel\),)f(pp.)h(20\26127,)e(May)i(1990.)996 1980 y([14])20
b(H.)15 b(Kopetz,)h(P)-5 b(.)16 b(Holzer)n(,)g(G.)g(Leber)n(,)h(and)e(M.)g
(Schindler)n(,)1086 2030 y(\252The)8 b(rolling)d(ball)h(on)h(MARS,\272)h
(Research)g(Report)e(13/91,)1086 2080 y(Institut)k(f)1233 2081
y(\310)1230 2080 y(ur)h(T)m(echnische)j(Informatik,)d(T)m(echnische)j(Uni-)
1086 2130 y(versit)1181 2131 y(\310)1179 2130 y(at)9 b(W)n(ien,)i(V)n(ienna,)
f(Austria,)g(Nov)m(.)h(1991.)996 2213 y([15])20 b(A.)15 b(Steininger)f(and)i
(J.)f(Reisinger)n(,)i(\252Integral)e(design)f(of)1086 2262
y(hardware)9 b(and)f(operating)f(system)i(for)f(a)h(DCCS,\272)f(in)g
Fc(10th)1086 2312 y(IF)-5 b(AC)17 b(W)l(orkshop)h(on)f(Distributed)f
(Computer)g(Contr)n(ol)1086 2362 y(Systems)p Fe(,)11 b(\(Semmering,)g
(Austria\),)f(Sep.)h(1991.)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
Newsgroups: ieee.announce