%!
%%BoundingBox: (atend)
%%Pages: (atend)
%%DocumentFonts: (atend)
%%EndComments
%
% FrameMaker PostScript Prolog 3.0, for use with FrameMaker 3.0
% Copyright (c) 1986,87,89,90,91 by Frame Technology Corporation.
% All rights reserved.
%
% Known Problems:
% Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1
/FMversion (3.0) def
% Set up Color vs. Black-and-White
/FMPrintInColor systemdict /colorimage known
systemdict /currentcolortransfer known or def
% Uncomment this line to force b&w on color printer
% /FMPrintInColor false def
/FrameDict 195 dict def
systemdict /errordict known not {/errordict 10 dict def
errordict /rangecheck {stop} put} if
% The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put
errordict /rangecheck {FrameDict /bug true put} put
FrameDict /bug false put
mark
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark
errordict /rangecheck FrameDict /tmprangecheck get put
FrameDict /bug get {
/readline {
/gstring exch def
/gfile exch def
/gindex 0 def
{
gfile read pop
dup 10 eq {exit} if
dup 13 eq {exit} if
gstring exch gindex exch put
/gindex gindex 1 add def
} loop
pop
gstring 0 gindex getinterval true
} def
} if
/FMVERSION {
FMversion ne {
/Times-Roman findfont 18 scalefont setfont
100 100 moveto
(FrameMaker version does not match postscript_prolog!)
dup =
show showpage
} if
} def
/FMLOCAL {
FrameDict begin
0 def
end
} def
/gstring FMLOCAL
/gfile FMLOCAL
/gindex FMLOCAL
/orgxfer FMLOCAL
/orgproc FMLOCAL
/organgle FMLOCAL
/orgfreq FMLOCAL
/yscale FMLOCAL
/xscale FMLOCAL
/manualfeed FMLOCAL
/paperheight FMLOCAL
/paperwidth FMLOCAL
/FMDOCUMENT {
array /FMfonts exch def
/#copies exch def
FrameDict begin
0 ne dup {setmanualfeed} if
/manualfeed exch def
/paperheight exch def
/paperwidth exch def
/yscale exch def
/xscale exch def
currenttransfer cvlit /orgxfer exch def
currentscreen cvlit /orgproc exch def
/organgle exch def /orgfreq exch def
setpapername
manualfeed {true} {papersize} ifelse
{manualpapersize} {false} ifelse
{desperatepapersize} if
end
} def
/pagesave FMLOCAL
/orgmatrix FMLOCAL
/landscape FMLOCAL
/FMBEGINPAGE {
FrameDict begin
/pagesave save def
3.86 setmiterlimit
/landscape exch 0 ne def
landscape {
90 rotate 0 exch neg translate pop
}
{pop pop}
ifelse
xscale yscale scale
/orgmatrix matrix def
gsave
} def
/FMENDPAGE {
grestore
pagesave restore
end
showpage
} def
/FMFONTDEFINE {
FrameDict begin
findfont
ReEncode
1 index exch
definefont
FMfonts 3 1 roll
put
end
} def
/FMFILLS {
FrameDict begin
array /fillvals exch def
end
} def
/FMFILL {
FrameDict begin
fillvals 3 1 roll put
end
} def
/FMNORMALIZEGRAPHICS {
newpath
0.0 0.0 moveto
1 setlinewidth
0 setlinecap
0 0 0 sethsbcolor
0 setgray
} bind def
/fx FMLOCAL
/fy FMLOCAL
/fh FMLOCAL
/fw FMLOCAL
/llx FMLOCAL
/lly FMLOCAL
/urx FMLOCAL
/ury FMLOCAL
/FMBEGINEPSF {
end
/FMEPSF save def
/showpage {} def
FMNORMALIZEGRAPHICS
[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
fx fy translate
rotate
fw urx llx sub div fh ury lly sub div scale
llx neg lly neg translate
} bind def
/FMENDEPSF {
FMEPSF restore
FrameDict begin
} bind def
FrameDict begin
/setmanualfeed {
%%BeginFeature *ManualFeed True
statusdict /manualfeed true put
%%EndFeature
} def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen {
paperheight sub abs 16 lt exch
paperwidth sub abs 16 lt and
{/papername exch def} {pop} ifelse
} def
/papersizedict FMLOCAL
/setpapername {
/papersizedict 14 dict def
papersizedict begin
/papername /unknown def
/Letter 8.5 inch 11.0 inch pagedimen
/LetterSmall 7.68 inch 10.16 inch pagedimen
/Tabloid 11.0 inch 17.0 inch pagedimen
/Ledger 17.0 inch 11.0 inch pagedimen
/Legal 8.5 inch 14.0 inch pagedimen
/Statement 5.5 inch 8.5 inch pagedimen
/Executive 7.5 inch 10.0 inch pagedimen
/A3 11.69 inch 16.5 inch pagedimen
/A4 8.26 inch 11.69 inch pagedimen
/A4Small 7.47 inch 10.85 inch pagedimen
/B4 10.125 inch 14.33 inch pagedimen
/B5 7.16 inch 10.125 inch pagedimen
end
} def
/papersize {
papersizedict begin
/Letter {lettertray letter} def
/LetterSmall {lettertray lettersmall} def
/Tabloid {11x17tray 11x17} def
/Ledger {ledgertray ledger} def
/Legal {legaltray legal} def
/Statement {statementtray statement} def
/Executive {executivetray executive} def
/A3 {a3tray a3} def
/A4 {a4tray a4} def
/A4Small {a4tray a4small} def
/B4 {b4tray b4} def
/B5 {b5tray b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
/FMdicttop countdictstack 1 add def
statusdict begin stopped end
countdictstack -1 FMdicttop {pop end} for
} def
/manualpapersize {
papersizedict begin
/Letter {letter} def
/LetterSmall {lettersmall} def
/Tabloid {11x17} def
/Ledger {ledger} def
/Legal {legal} def
/Statement {statement} def
/Executive {executive} def
/A3 {a3} def
/A4 {a4} def
/A4Small {a4small} def
/B4 {b4} def
/B5 {b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
stopped
} def
/desperatepapersize {
statusdict /setpageparams known
{
paperwidth paperheight 0 1
statusdict begin
{setpageparams} stopped pop
end
} if
} def
/savematrix {
orgmatrix currentmatrix pop
} bind def
/restorematrix {
orgmatrix setmatrix
} bind def
/dmatrix matrix def
/dpi 72 0 dmatrix defaultmatrix dtransform
dup mul exch dup mul add sqrt def
/freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode {
dup
length
dict begin
{
1 index /FID ne
{def}
{pop pop} ifelse
} forall
0 eq {/Encoding DiacriticEncoding def} if
currentdict
end
} bind def
/graymode true def
/bwidth FMLOCAL
/bpside FMLOCAL
/bstring FMLOCAL
/onbits FMLOCAL
/offbits FMLOCAL
/xindex FMLOCAL
/yindex FMLOCAL
/x FMLOCAL
/y FMLOCAL
/setpattern {
/bwidth exch def
/bpside exch def
/bstring exch def
/onbits 0 def /offbits 0 def
freq sangle landscape {90 add} if
{/y exch def
/x exch def
/xindex x 1 add 2 div bpside mul cvi def
/yindex y 1 add 2 div bpside mul cvi def
bstring yindex bwidth mul xindex 8 idiv add get
1 7 xindex 8 mod sub bitshift and 0 ne
{/onbits onbits 1 add def 1}
{/offbits offbits 1 add def 0}
ifelse
}
setscreen
{} settransfer
offbits offbits onbits add div FMsetgray
/graymode false def
} bind def
/grayness {
FMsetgray
graymode not {
/graymode true def
orgxfer cvx settransfer
orgfreq organgle orgproc cvx setscreen
} if
} bind def
/HUE FMLOCAL
/SAT FMLOCAL
/BRIGHT FMLOCAL
/Colors FMLOCAL
FMPrintInColor
{
/HUE 0 def
/SAT 0 def
/BRIGHT 0 def
% array of arrays Hue and Sat values for the separations [HUE BRIGHT]
/Colors
[[0 0 ] % black
[0 0 ] % white
[0.00 1.0] % red
[0.37 1.0] % green
[0.60 1.0] % blue
[0.50 1.0] % cyan
[0.83 1.0] % magenta
[0.16 1.0] % comment / yellow
] def
/BEGINBITMAPCOLOR {
BITMAPCOLOR} def
/BEGINBITMAPCOLORc {
BITMAPCOLORc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUECOLOR } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUECOLORc } def
/K {
Colors exch get dup
0 get /HUE exch store
1 get /BRIGHT exch store
HUE 0 eq BRIGHT 0 eq and
{1.0 SAT sub setgray}
{HUE SAT BRIGHT sethsbcolor}
ifelse
} def
/FMsetgray {
/SAT exch 1.0 exch sub store
HUE 0 eq BRIGHT 0 eq and
{1.0 SAT sub setgray}
{HUE SAT BRIGHT sethsbcolor}
ifelse
} bind def
}
{
/BEGINBITMAPCOLOR {
BITMAPGRAY} def
/BEGINBITMAPCOLORc {
BITMAPGRAYc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUEGRAY } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUEGRAYc } def
/FMsetgray {setgray} bind def
/K {
pop
} def
}
ifelse
/normalize {
transform round exch round exch itransform
} bind def
/dnormalize {
dtransform round exch round exch idtransform
} bind def
/lnormalize {
0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
} bind def
/H {
lnormalize setlinewidth
} bind def
/Z {
setlinecap
} bind def
/fillvals FMLOCAL
/X {
fillvals exch get
dup type /stringtype eq
{8 1 setpattern}
{grayness}
ifelse
} bind def
/V {
gsave eofill grestore
} bind def
/N {
stroke
} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
/n FMLOCAL
/L {
/n exch def
newpath
normalize
moveto
2 1 n {pop normalize lineto} for
} bind def
/Y {
L
closepath
} bind def
/x1 FMLOCAL
/x2 FMLOCAL
/y1 FMLOCAL
/y2 FMLOCAL
/rad FMLOCAL
/R {
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
x1 y1
x2 y1
x2 y2
x1 y2
4 Y
} bind def
/RR {
/rad exch def
normalize
/y2 exch def
/x2 exch def
normalize
/y1 exch def
/x1 exch def
newpath
x1 y1 rad add moveto
x1 y2 x2 y2 rad arcto
x2 y2 x2 y1 rad arcto
x2 y1 x1 y1 rad arcto
x1 y1 x1 y2 rad arcto
closepath
16 {pop} repeat
} bind def
/C {
grestore
gsave
R
clip
} bind def
/FMpointsize FMLOCAL
/F {
FMfonts exch get
FMpointsize scalefont
setfont
} bind def
/Q {
/FMpointsize exch def
F
} bind def
/T {
moveto show
} bind def
/RF {
rotate
0 ne {-1 1 scale} if
} bind def
/TF {
gsave
moveto
RF
show
grestore
} bind def
/P {
moveto
0 32 3 2 roll widthshow
} bind def
/PF {
gsave
moveto
RF
0 32 3 2 roll widthshow
grestore
} bind def
/S {
moveto
0 exch ashow
} bind def
/SF {
gsave
moveto
RF
0 exch ashow
grestore
} bind def
/B {
moveto
0 32 4 2 roll 0 exch awidthshow
} bind def
/BF {
gsave
moveto
RF
0 32 4 2 roll 0 exch awidthshow
grestore
} bind def
/G {
gsave
newpath
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath fill
grestore
} bind def
/A {
gsave
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
stroke
grestore
} bind def
/x FMLOCAL
/y FMLOCAL
/w FMLOCAL
/h FMLOCAL
/xx FMLOCAL
/yy FMLOCAL
/ww FMLOCAL
/hh FMLOCAL
/FMsaveobject FMLOCAL
/FMoptop FMLOCAL
/FMdicttop FMLOCAL
/BEGINPRINTCODE {
/FMdicttop countdictstack 1 add def
/FMoptop count 4 sub def
/FMsaveobject save def
userdict begin
/showpage {} def
FMNORMALIZEGRAPHICS
3 index neg 3 index neg translate
} bind def
/ENDPRINTCODE {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMsaveobject restore
} bind def
/gn {
0
{ 46 mul
cf read pop
32 sub
dup 46 lt {exit} if
46 sub add
} loop
add
} bind def
/str FMLOCAL
/cfs {
/str sl string def
0 1 sl 1 sub {str exch val put} for
str def
} bind def
/ic [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0
{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
] def
/sl FMLOCAL
/val FMLOCAL
/ws FMLOCAL
/im FMLOCAL
/bs FMLOCAL
/cs FMLOCAL
/len FMLOCAL
/pos FMLOCAL
/ms {
/sl exch def
/val 255 def
/ws cfs
/im cfs
/val 0 def
/bs cfs
/cs cfs
} bind def
400 ms
/ip {
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/wh {
/len exch def
/pos exch def
ws 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/bl {
/len exch def
/pos exch def
bs 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/s1 1 string def
/fl {
/len exch def
/pos exch def
/val cf s1 readhexstring pop 0 get def
pos 1 pos len add 1 sub {im exch val put} for
pos len
} bind def
/hx {
3 copy getinterval
cf exch readhexstring pop pop
} bind def
/h FMLOCAL
/w FMLOCAL
/d FMLOCAL
/lb FMLOCAL
/bitmapsave FMLOCAL
/is FMLOCAL
/cf FMLOCAL
/wbytes {
dup
8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse
} bind def
/BEGINBITMAPBWc {
1 {} COMMONBITMAPc
} bind def
/BEGINBITMAPGRAYc {
8 {} COMMONBITMAPc
} bind def
/BEGINBITMAP2BITc {
2 {} COMMONBITMAPc
} bind def
/COMMONBITMAPc {
/r exch def
/d exch def
gsave
translate rotate scale /h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
r
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} image
bitmapsave restore
grestore
} bind def
/BEGINBITMAPBW {
1 {} COMMONBITMAP
} bind def
/BEGINBITMAPGRAY {
8 {} COMMONBITMAP
} bind def
/BEGINBITMAP2BIT {
2 {} COMMONBITMAP
} bind def
/COMMONBITMAP {
/r exch def
/d exch def
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
r
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} image
bitmapsave restore
grestore
} bind def
/proc1 FMLOCAL
/proc2 FMLOCAL
/newproc FMLOCAL
/Fmcc {
/proc2 exch cvlit def
/proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval
newproc proc1 length proc2 putinterval
newproc cvx
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
/gryt FMLOCAL
/blut FMLOCAL
/grnt FMLOCAL
/redt FMLOCAL
/indx FMLOCAL
/cynu FMLOCAL
/magu FMLOCAL
/yelu FMLOCAL
/k FMLOCAL
/u FMLOCAL
/colorsetup {
currentcolortransfer
/gryt exch def
/blut exch def
/grnt exch def
/redt exch def
0 1 255 {
/indx exch def
/cynu 1 red indx get 255 div sub def
/magu 1 green indx get 255 div sub def
/yelu 1 blue indx get 255 div sub def
/k cynu magu min yelu min def
/u k currentundercolorremoval exec def
nredt indx 1 0 cynu u sub max sub redt exec put
ngreent indx 1 0 magu u sub max sub grnt exec put
nbluet indx 1 0 yelu u sub max sub blut exec put
ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
} for
{255 mul cvi nredt exch get}
{255 mul cvi ngreent exch get}
{255 mul cvi nbluet exch get}
{255 mul cvi ngrayt exch get}
setcolortransfer
{pop 0} setundercolorremoval
{} setblackgeneration
} bind def
/tran FMLOCAL
/fakecolorsetup {
/tran 256 string def
0 1 255 {/indx exch def
tran indx
red indx get 77 mul
green indx get 151 mul
blue indx get 28 mul
add add 256 idiv put} for
currenttransfer
{255 mul cvi tran exch get 255.0 div}
exch Fmcc settransfer
} bind def
/BITMAPCOLOR {
/d 8 def
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
colorsetup
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} {is} {is} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPCOLORc {
/d 8 def
gsave
translate rotate scale /h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
colorsetup
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} {is} {is} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLORc {
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
/is w string def
ws 0 w getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ip} {gip} {bip} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLOR {
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop }
{ cf gis readhexstring pop }
{ cf bis readhexstring pop }
true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUEGRAYc {
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
/is w string def
ws 0 w getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ip gip bip w gray} image
bitmapsave restore
grestore
} bind def
/ww FMLOCAL
/r FMLOCAL
/g FMLOCAL
/b FMLOCAL
/i FMLOCAL
/gray {
/ww exch def
/b exch def
/g exch def
/r exch def
0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
b i get .114 mul add add r i 3 -1 roll floor cvi put } for
r
} bind def
/BITMAPTRUEGRAY {
gsave
translate rotate scale /h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop
cf gis readhexstring pop
cf bis readhexstring pop w gray} image
bitmapsave restore
grestore
} bind def
/BITMAPGRAY {
8 {fakecolorsetup} COMMONBITMAP
} bind def
/BITMAPGRAYc {
8 {fakecolorsetup} COMMONBITMAPc
} bind def
/ENDBITMAP {
} bind def
end
/ALDsave FMLOCAL
/ALDmatrix matrix def ALDmatrix currentmatrix pop
/StartALD {
/ALDsave save def
savematrix
ALDmatrix setmatrix
} bind def
/InALD {
restorematrix
} bind def
/DoneALD {
ALDsave restore
} bind def
%%EndProlog
%%BeginSetup
(3.0) FMVERSION
1 1 612 792 0 1 22 FMDOCUMENT
0 0 /Helvetica FMFONTDEFINE
1 0 /Times-Bold FMFONTDEFINE
2 0 /Helvetica-Bold FMFONTDEFINE
3 0 /Times-Roman FMFONTDEFINE
4 0 /Helvetica-Oblique FMFONTDEFINE
5 0 /Palatino-Roman FMFONTDEFINE
32 FMFILLS
0 0 FMFILL
1 .1 FMFILL
2 .3 FMFILL
3 .5 FMFILL
4 .7 FMFILL
5 .9 FMFILL
6 .97 FMFILL
7 1 FMFILL
8 <0f1e3c78f0e1c387> FMFILL
9 <0f87c3e1f0783c1e> FMFILL
10 FMFILL
11 FMFILL
12 <8142241818244281> FMFILL
13 <03060c183060c081> FMFILL
14 <8040201008040201> FMFILL
16 1 FMFILL
17 .9 FMFILL
18 .7 FMFILL
19 .5 FMFILL
20 .3 FMFILL
21 .1 FMFILL
22 0.03 FMFILL
23 0 FMFILL
24 FMFILL
25 FMFILL
26 <3333333333333333> FMFILL
27 <0000ffff0000ffff> FMFILL
28 <7ebddbe7e7dbbd7e> FMFILL
29 FMFILL
30 <7fbfdfeff7fbfdfe> FMFILL
%%EndSetup
%%Page: "37" 42
%%BeginPaperSize: Letter
%%EndPaperSize
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(37) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(Sha, Lui) 153.01 670.67 T
(Senior Member of the) 120.35 657.67 T
(Technical Staff, SEI) 124.93 644.67 T
-0.81 (Rate-Monotonic Scheduling) 247.53 670.67 P
(Theory, Zero-Defect) 265.85 657.67 T
(Application Kernels) 267.98 644.67 T
(lrs@sei.cmu.edu) 415.85 657.67 T
(Shafer, Steven A.) 130.11 625.67 T
(Associate Professor, SCS) 109.97 612.67 T
(Associate Director of the) 113.33 599.67 T
( Robotics Ph.D. program) 113.03 586.67 T
(Robot Architecture) 269.51 625.67 T
(Design,) 296.38 612.67 T
(Calibrated Imaging Lab) 258.21 599.67 T
(sas@cs.cmu.edu) 414.62 612.67 T
(Shaw, Mary) 144.17 567.67 T
(Professor, SCS) 135.31 554.67 T
(Associate Dean of) 128.59 541.67 T
(Professional Education) 116.99 528.67 T
(Software Architectures for) 251.81 567.67 T
(Real-Time Systems,) 265.56 554.67 T
-0.63 (Advisor for Real-Time Track) 246.63 541.67 P
(Development) 282.64 528.67 T
(mary.shaw@cs.cmu.edu) 396.62 554.67 T
(Siewiorek, Daniel P.) 124.02 496.67 T
( Professor, SCS & ECE) 115.78 483.67 T
(Automatic Design of High-) 251.2 509.67 T
-1.41 (Performance, Fault-Tolerant) 246.31 496.67 P
(Real-Time Systems) 267.08 483.67 T
(dps@ece.cmu.edu) 410.95 496.67 T
(Simmons, Reid G.) 128.6 464.67 T
(Computer Research) 124.02 451.67 T
(Scientist, SCS) 139.59 438.67 T
(Robot Planning and) 266.75 451.67 T
(Control, TCA) 283.26 438.67 T
(reids@cs.cmu.edu) 411.27 451.67 T
(Stonick, Virginia) 133.79 406.67 T
(Assistant Professor, ECE) 111.5 393.67 T
(Real-Time, High-Quality) 256.4 419.67 T
(Video Processing; Filters) 254.25 406.67 T
( for Music Synthesizing) 258.52 393.67 T
(ginny@ece.cmu.edu) 406.68 406.67 T
(Strosnider, Jay K.) 129.82 361.67 T
(Assistant Professor, ECE) 111.5 348.67 T
(Real-Time Operating) 264.02 374.67 T
( Systems, Networks, and) 254.25 361.67 T
(Fault Recovery) 278.06 348.67 T
(jks@ece.cmu.edu) 413.1 361.67 T
(Tokuda) 130.73 329.67 T
(, Hideyuki) 167.37 329.67 T
(Senior Research) 132.26 316.67 T
(Computer Scientist) 112.42 303.67 T
(, SCS) 205.22 303.67 T
(Head of the ART) 274.09 316.67 T
(Computing Project) 269.82 303.67 T
(hxt@cs.cmu.edu) 415.84 316.67 T
(Tomayko, James E.) 124.63 271.67 T
(Senior Member of the) 120.35 258.67 T
( Technical Staff, SEI) 123.4 245.67 T
(Coordinator of the MSE) 257.6 284.67 T
( Software Development) 257.91 271.67 T
(Studio, Real-Time) 271.04 258.67 T
( Embedded Projects) 265.54 245.67 T
(jet@sei.cmu.edu) 415.84 271.67 T
1 12 Q
(Resear) 105.66 699 T
(cher/Administrator) 140.74 699 T
(Inter) 257.92 706 T
(ests in Real-T) 283.68 706 T
(ime) 353.43 706 T
(Systems) 294.35 692 T
(E-Mail Addr) 416.46 699 T
(ess) 482.55 699 T
244.08 721 244.08 237.75 2 L
V
0.5 H
0 Z
N
385.92 721 385.92 237.75 2 L
V
N
102.25 720 527.75 720 2 L
V
2 H
N
102.25 682 527.75 682 2 L
V
N
102.25 637 527.75 637 2 L
V
0.5 H
N
102.25 579 527.75 579 2 L
V
N
102.25 521 527.75 521 2 L
V
N
102.25 476 527.75 476 2 L
V
N
102.25 431 527.75 431 2 L
V
N
102.25 386 527.75 386 2 L
V
N
102.25 341 527.75 341 2 L
V
N
102.25 296 527.75 296 2 L
V
N
102.25 238 527.75 238 2 L
V
N
FMENDPAGE
%%EndPage: "37" 41
%%Page: "36" 41
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(36) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(Firth, Robert) 142.64 670.67 T
(Senior Computer) 131.65 657.67 T
(Scientist, SEI) 140.5 644.67 T
(Real-Time Systems) 267.08 670.67 T
( Design and) 285.69 657.67 T
(Implementation) 277.45 644.67 T
(firth@sei.cmu.edu) 412.49 657.67 T
(Garlan, David) 139.59 612.67 T
(Assistant Professor, SCS) 111.5 599.67 T
(Software Architectures for) 251.81 625.67 T
(Real-Time Systems,) 265.56 612.67 T
(Software Analysis of TCA) 252.72 599.67 T
(garlan@cs.cmu.edu) 407.9 612.67 T
(Goodenough, John) 126.44 580.67 T
(Senior Member of the) 120.35 567.67 T
(Technical Staff, SEI) 124.93 554.67 T
-0.63 (Rate Monotonic Analysis for) 246.62 567.67 P
(Real-Time Systems) 267.08 554.67 T
(jbg@sei.cmu.edu) 414.32 567.67 T
(Hoover, Carol L.) 133.18 522.67 T
(Lecturer, MSE Program) 115.47 509.67 T
(MSE Real-Time Track) 260.98 535.67 T
(Development, Real-Time) 254.26 522.67 T
(Software Development) 259.44 509.67 T
(clh@cs.cmu.edu) 416.15 522.67 T
(Khosla, Pradeep K.) 125.84 477.67 T
(Associate Professor, ECE) 109.97 464.67 T
(Head of the CHIMERA II) 255.16 490.67 T
(Project, Real-Time Kernel) 252.12 477.67 T
(for Control Applications) 258.22 464.67 T
(pkk@ece.cmu.edu) 411.26 477.67 T
(Lewis, Phyllis) 140.2 445.67 T
(Program Administrator) 118.22 432.67 T
(for the MSE Program) 121.58 419.67 T
(Assistance in the) 273.48 445.67 T
(Administration of) 274.09 432.67 T
(Specialization Tracks) 263.11 419.67 T
(plewis@cs.cmu.edu) 407.91 432.67 T
(Mead, Nancy) 140.81 387.67 T
(Manager SEI Products) 117.91 374.67 T
(Program) 152.11 361.67 T
(Advisor for the) 279.59 400.67 T
(Development of the) 267.37 387.67 T
(Introduction to Real-Time) 253.33 374.67 T
(Software Course) 274.09 361.67 T
(nrm@sei.cmu.edu) 412.18 387.67 T
(Mercer, Cliff) 143.57 329.67 T
(Ph.D. Student) 124.62 316.67 T
(, SCS) 193.02 316.67 T
(ART Project,) 283.86 329.67 T
(Real-Time Mach) 274.71 316.67 T
(mercer@cs.cmu.edu) 406.08 329.67 T
(Peha, Jon M.) 140.8 297.67 T
(Assistant Professor,) 124.32 284.67 T
(ECE & EPP) 144.16 271.67 T
-1.27 (Real-Time Scheduling, Load) 246.08 297.67 P
(Balancing in Distributed) 257.3 284.67 T
(Real-Time Systems) 267.08 271.67 T
(peha@ece.cmu.edu) 407.59 284.67 T
(Rajkumar, Ragunathan) 116.69 252.67 T
(\050Raj\051 Member of the) 124.33 239.67 T
(Technical Staff, SEI) 124.93 226.67 T
-0.44 (Rate Monotonic Scheduling) 247.83 252.67 P
(Theory, Zero-Defect) 265.85 239.67 T
(Application Kernels) 267.98 226.67 T
(rr@sei.cmu.edu) 417.98 239.67 T
(Rissman, Michael) 129.83 207.67 T
(Member of the) 137.75 194.67 T
( Technical Staff, SEI) 123.4 181.67 T
(Real-Time Simulators) 262.2 194.67 T
(mmr@sei.cmu.edu) 410.66 194.67 T
(Roy, Daniel) 144.78 162.67 T
(Senior Member of the Tech-) 104.78 149.67 T
(nical Staff, SEI) 137.14 136.67 T
(Real-Time Software) 266.47 162.67 T
(Performance, Embedded) 253.94 149.67 T
(System Testbed) 275.31 136.67 T
(dmr@sei.cmu.edu) 412.18 149.67 T
(Savage, Stefan) 135.6 117.67 T
(Research Programmer,) 116.09 104.67 T
(SCS) 161.87 91.67 T
(Research in Operating) 260.05 117.67 T
( Systems Performance,) 257.92 104.67 T
(ART Project) 285.39 91.67 T
(savage@cs.cmu.edu) 405.46 104.67 T
1 12 Q
(Resear) 105.66 699 T
(cher/Administrator) 140.74 699 T
(Inter) 257.92 706 T
(ests in Real-T) 283.68 706 T
(ime) 353.43 706 T
(Systems) 294.35 692 T
(E-Mail Addr) 416.46 699 T
(ess) 482.55 699 T
244.08 721 244.08 83.75 2 L
V
0.5 H
0 Z
N
385.92 721 385.92 83.75 2 L
V
N
102.25 720 527.75 720 2 L
V
2 H
N
102.25 682 527.75 682 2 L
V
N
102.25 637 527.75 637 2 L
V
0.5 H
N
102.25 592 527.75 592 2 L
V
N
102.25 547 527.75 547 2 L
V
N
102.25 502 527.75 502 2 L
V
N
102.25 457 527.75 457 2 L
V
N
102.25 412 527.75 412 2 L
V
N
102.25 354 527.75 354 2 L
V
N
102.25 309 527.75 309 2 L
V
N
102.25 264 527.75 264 2 L
V
N
102.25 219 527.75 219 2 L
V
N
102.25 174 527.75 174 2 L
V
N
102.25 129 527.75 129 2 L
V
N
102.25 84 527.75 84 2 L
V
N
FMENDPAGE
%%EndPage: "36" 40
%%Page: "35" 40
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(35) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 16 Q
0 X
(Appendix A) 90 709.33 T
0 11 Q
(The following table contains information about CMU researchers and administrators in the) 90 684.67 T
-0.88 (School of Computer Science and at the SEI who are interested in real-time computing and who) 90 669.67 P
-0.47 (are involved in work related to real-time projects. The information in this table is meant to help) 90 654.67 P
-0.61 (students locate people whose interests and activities match their interests and educational ob-) 90 639.67 P
(jectives.) 90 624.67 T
(The table may not provide a comprehensive list of all faculty and students interested in real-) 90 599.67 T
-0.37 (time computing. As students become familiar with the CMU community, they will undoubtedly) 90 584.67 P
(find other people whose work relates to real-time computing. The interest column contains) 90 569.67 T
(only a highlight of a person\325s involvement with real-time systems.) 90 554.67 T
2 12 Q
(Abbreviations Used in the Table) 90 529 T
0 11 Q
(ART) 90 503.67 T
(-) 126 503.67 T
(Advanced Real-Time) 135 503.67 T
(ECE) 90 478.67 T
(-) 126 478.67 T
(Electrical and Computer Engineering) 135 478.67 T
(EPP) 90 453.67 T
(-) 126 453.67 T
(Engineering and Public Policy) 135 453.67 T
(SCS) 90 428.67 T
(-) 126 428.67 T
(School of Computer Science) 135 428.67 T
(SEI) 90 403.67 T
(-) 110.76 403.67 T
(Software Engineering Institute) 117.48 403.67 T
(TCA) 90 378.67 T
(-) 115.03 378.67 T
(Task Control Architecture) 121.74 378.67 T
2 F
(Table A-1:) 182.52 328.67 T
(List of Researchers and Administrators) 241.74 328.67 T
1 12 Q
(Resear) 105.66 292 T
(cher/Administrator) 140.74 292 T
(Inter) 257.92 299 T
(ests in Real-T) 283.68 299 T
(ime) 353.43 299 T
(Systems) 294.35 285 T
(E-Mail Addr) 416.46 292 T
(ess) 482.55 292 T
0 11 Q
(Mario R. Barbacci) 129.52 263.67 T
-0.23 (Senior Research Computer) 106.62 250.67 P
(Scientist, SCS, SEI) 126.15 237.67 T
(Director of the Real-Time) 253.65 263.67 T
(Distributed Systems) 266.16 250.67 T
( Program) 292.41 237.67 T
(mrb@sei.cmu.edu) 412.18 250.67 T
(Clarke) 133.79 218.67 T
(, Edmund) 165.53 218.67 T
(Senior Research) 132.26 205.67 T
(Computer Scientist, SCS) 112.42 192.67 T
(Verification of Hardware) 256.39 205.67 T
(Using Temporal Logic) 261.58 192.67 T
(emc@cs.cmu.edu) 412.79 205.67 T
(Dannenberg, Roger) 124.93 160.67 T
(Senior Research) 132.26 147.67 T
(Computer Scientist, SCS) 112.42 134.67 T
-0.95 (Computer Music, Advisor for) 246.08 173.67 P
(the Development of the) 258.21 160.67 T
(Introduction to Real-Time) 253.33 147.67 T
(Software Course) 274.09 134.67 T
(rbd@cs.cmu.edu) 415.23 160.67 T
(D) 113.03 115.67 T
3 F
(\222) 120.97 115.67 T
0 F
(az-Herrera, Jorge Luis) 124.02 115.67 T
(Senior Member of the) 120.35 102.67 T
(Technical Staff, SEI) 124.93 89.67 T
(Real-Time Systems) 267.08 102.67 T
(Software Design) 274.7 89.67 T
(jldh@sei.cmu.edu) 413.1 102.67 T
244.08 314 244.08 81.75 2 L
V
0.5 H
0 Z
N
385.92 314 385.92 81.75 2 L
V
N
102.25 313 527.75 313 2 L
V
2 H
N
102.25 275 527.75 275 2 L
V
N
102.25 230 527.75 230 2 L
V
0.5 H
N
102.25 185 527.75 185 2 L
V
N
102.25 127 527.75 127 2 L
V
N
102.25 82 527.75 82 2 L
V
N
FMENDPAGE
%%EndPage: "35" 39
%%Page: "34" 39
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(34) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
([Moore88]) 90 712.67 T
(Moore, Freeman L.; & Purvis, Phillip R. \322Meeting the Training Needs of) 180 712.67 T
(Practicing Software Engineers at Texas Instruments,\323 pp. 32-44.) 180 697.67 T
4 F
(Lecture) 495.08 697.67 T
(Notes in Computer Science: Proceedings from the Software Engineering) 180 682.67 T
(Education SEI Conference.) 180 667.67 T
0 F
( New York, N.Y.: Springer-Verlag, Apr. 28-29,) 312.52 667.67 T
(1988.) 180 652.67 T
([MSE93]) 90 627.67 T
-0.94 (Master of Software Engineering Program.) 180 627.67 P
4 F
-0.94 (MSE Program Description for the) 380.46 627.67 P
(1993-94 Academic Year) 180 612.67 T
0 F
(. Pittsburgh, Pa.: Carnegie Mellon University,) 297.85 612.67 T
(1993.) 180 597.67 T
([SCS92]) 90 572.67 T
(School of Computer Science.) 180 572.67 T
4 F
(Graduate Studies in Computer Science.) 325.33 572.67 T
0 F
(Pittsburgh, Pa.: Carnegie Mellon University, 1992.) 180 557.67 T
([Shaw92]) 90 532.67 T
(Shaw, Mary.) 180 532.67 T
4 F
(Informatics for a New Century: Computing Education for the) 244.1 532.67 T
(1990\325s and Beyond) 180 517.67 T
0 F
( \050) 274.05 517.67 T
(CMU/SEI-90-TR-15\051. Pittsburgh, Pa.: Software Engi-) 280.77 517.67 T
(neering Institute, Carnegie Mellon University.) 180 502.67 T
([van Tilborg91]) 90 477.67 T
(van Tilborg, Andr\216 M.; & Koob, Gary M., eds.) 180 477.67 T
4 F
(Foundations of Real-Time) 402.26 477.67 T
(Computing: Formal Specifications and Methods.) 180 462.67 T
0 F
(Norwell, Mass.: Kluwer) 416.91 462.67 T
(Academic Publishers, 1991.) 180 447.67 T
FMENDPAGE
%%EndPage: "34" 38
%%Page: "33" 38
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(33) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(8) 90 710.67 T
(References) 129.6 710.67 T
0 11 Q
([Allman87]) 90 678.67 T
(Allman, Dena. \322Riding the Waves of Technology.\323) 180 678.67 T
4 F
(Computerworld) 426.68 678.67 T
0 F
(21, 19) 504.21 678.67 T
(\050May 11, 1987\051: 100.) 180 663.67 T
([Atkinson91]) 90 638.67 T
-0.26 (Atkinson, Colin.) 180 638.67 P
4 F
-0.26 (Object-Oriented Reuse, Concurrency and Distribution: An) 258.86 638.67 P
(Ada-Based Approach.) 180 623.67 T
0 F
(New York, N.Y.: ACM Press, 1991.) 290.53 623.67 T
([Burns90]) 90 598.67 T
-0.94 (Burns, Alan; & Wellings, Andy.) 180 598.67 P
4 F
-0.94 (Real-Time Systems and Their Programming) 327.35 598.67 P
-0.74 (Languages.) 180 583.67 P
0 F
-0.74 ( International Computer Science Series. Wokingham, England:) 237.41 583.67 P
(Addison-Wesley Publ. Co., 1990.) 180 568.67 T
([CIT92]) 90 543.67 T
-0.49 (Carnegie Institute of Technology.) 180 543.67 P
4 F
-0.49 (Electrical and Computer Engineering Re-) 342.31 543.67 P
-0.5 (search and Graduate Studies) 180 528.67 P
0 F
-0.5 (. Pittsburgh, Pa.: Carnegie Mellon University,) 321.39 528.67 P
(1992.) 180 513.67 T
([Dennis91]) 90 488.67 T
-0.64 (Dennis, Helen; & Axel, Helen.) 180 488.67 P
4 F
-0.64 (Encouraging Employee Self-Management in) 324.57 488.67 P
-0.52 (Financial and Career Planning) 180 473.67 P
0 F
-0.52 ( \050No. 976\051. New York, N.Y.: The Conference) 326.2 473.67 P
(Board, 1991.) 180 458.67 T
([Elliot92]) 90 433.67 T
-0.64 (Elliot, William F., ed.) 180 433.67 P
4 F
-0.64 (1992-94 Undergraduate Catalog) 280 433.67 P
0 F
-0.64 (. Pittsburgh, Pa.: Car-) 436.28 433.67 P
(negie Mellon University, 1992.) 180 418.67 T
([Guisbond90]) 90 393.67 T
-0.63 (Guisbond, Lisa. \322Boston Blue - But Hiring.\323) 180 393.67 P
4 F
-0.63 (Computerworld) 385.6 393.67 P
0 F
-0.63 (24, 38 \050Septem-) 462.5 393.67 P
(ber 17, 1990 - Northeast U.S. ed.\051: 130.) 180 378.67 T
([Halang90]) 90 353.67 T
(Halang, Wolfgang A. \322A Curriculum for Real-Time Computer and Control) 180 353.67 T
-0.39 (Systems Engineering.\323) 180 338.67 P
4 F
-0.39 (IEEE Transactions on Education) 292.78 338.67 P
0 F
-0.39 ( 33, 2 \050May 1990\051:) 449.76 338.67 P
(171-178.) 180 323.67 T
([John92]) 90 298.67 T
-0.35 (John, Bonnie E.; Miller, Philip L.; Myers, Brad A.; Neuwirth, Christine M.; &) 180 298.67 P
-0.39 (Shafer, Steven A.) 180 283.67 P
4 F
-0.39 ( Human-Computer Interaction in the School of Computer) 265.32 283.67 P
(Science) 180 268.67 T
0 F
( \050CMU-CS-92-193\051. Pittsburgh, Pa.: Carnegie Mellon University,) 219.08 268.67 T
(1992.) 180 253.67 T
([Laplante93]) 90 228.67 T
(Laplante, Phillip A.) 180 228.67 T
4 F
(Real-Time Systems Design and Analysis: An Engi-) 274.04 228.67 T
(neer\325s Handbook.) 180 213.67 T
0 F
(New York, N.Y.: IEEE Press, 1993.) 269.15 213.67 T
([Mok91]) 90 188.67 T
-0.26 (Mok, Aloysius K. Ch. 1, \322Towards Mechanization of Real-Time System De-) 180 188.67 P
(sign,\323 1-37.) 180 173.67 T
4 F
(Foundations of Real-Time Computing: Formal Specifications) 238.01 173.67 T
(and Methods) 180 158.67 T
0 F
(, Norwell, Mass.: Kluwer Academic Publishers, 1991.) 243.51 158.67 T
FMENDPAGE
%%EndPage: "33" 37
%%Page: "32" 37
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(32) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 12 Q
0 X
(Acknowledgments) 90 712 T
0 11 Q
-0.54 (The author would like to thank Mary Shaw for her idea to incorporate specialization tracks into) 90 686.67 P
(the MSE program and for her support in the design and implementation of these tracks. The) 90 671.67 T
(author would also like to thank Jorge D) 90 656.67 T
3 F
(\222) 279.29 656.67 T
0 F
(az-Herrera, Ragunathan Rajkumar, Daniel Roy, and) 282.35 656.67 T
(Lui Sha for their ongoing development of core courses for the real-time track.) 90 641.67 T
(The author also thanks Cliff Mercer and Jeff Otten for their help in preparing and presenting) 90 616.67 T
(the) 90 601.67 T
4 F
(Introduction to Real-Time Software) 108.32 601.67 T
0 F
(course as well as Roger Dannenberg, Nancy Mead,) 281.12 601.67 T
-0.61 (and Mary Shaw for their advice on course content and organization. The author thanks James) 90 586.67 P
(Tomayko for his ongoing efforts to coordinate the MSE Studio course with specialization) 90 571.67 T
-0.48 (tracks, in particular the real-time track. The author thanks those people who reviewed the doc-) 90 556.67 P
-0.7 (ument. Lastly, the author thanks Phyllis Lewis and Ellen Saxon for their administrative and mo-) 90 541.67 P
(tivational support.) 90 526.67 T
FMENDPAGE
%%EndPage: "32" 36
%%Page: "31" 36
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(31) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.22 (Student development of individualized specialization tracks provides three benefits: \0501\051 it alle-) 90 712.67 P
(viates the faculty time and expertise needed to develop appropriate specialization tracks for) 90 697.67 T
-0.61 (individual students, \0502\051 it increases the number of predefined tracks for other students, and \0503\051) 90 682.67 P
(it encourages students to take responsibility for developing their own educational goals to) 90 667.67 T
(match their chosen application areas. The author expects that students who identify an inter-) 90 652.67 T
-0.05 (est in an application area and formulate educational goals that enable them to develop requi-) 90 637.67 P
(site knowledge and skills will not only be better prepared for a software engineering position) 90 622.67 T
(in the application area but will also be more successful in managing their own careers.) 90 607.67 T
(As a recent study by the Conference Board suggests, employee career management and fi-) 90 582.67 T
-0.34 (nancial planning evidences the shift away from the paternalistic and protective, employer-pro-) 90 567.67 P
-0.42 (vided practices of the past. Employees must now manage their own careers and plan for their) 90 552.67 P
(future financial security. Cost considerations and government regulations account for corpo-) 90 537.67 T
-0.22 (rate efforts to involve employees in the planning, saving, and investing processes that will de-) 90 522.67 P
(termine their financial viability in later life. The shift of responsibility for career management) 90 507.67 T
-0.23 (from the employer to the employee is a result of factors such as corporate downsizing and re-) 90 492.67 P
-0.46 (structuring, uncertain business and job market conditions, and limited opportunities for career) 90 477.67 P
(advancement.) 90 462.67 T
0 9 Q
(4) 159.01 467.07 T
0 11 Q
-0.42 (The ability to seek help from domain experts, to identify requisite knowledge and skills, and to) 90 437.67 P
-0.31 (delineate meaningful educational goals as well as the discipline to complete a chosen course) 90 422.67 P
-0.35 (of action are essential to the management of one\325s career. Many companies today like to hire) 90 407.67 P
(software professionals with broad software engineering expertise as well as domain-specific) 90 392.67 T
(knowledge and skills. Software professionals must continually and actively seek information) 90 377.67 T
(about career opportunities and must manage their own careers. Defining and/or following a) 90 362.67 T
(specialization track should help MSE students prepare for self-managed, software engineer-) 90 347.67 T
(ing careers with enhanced opportunities to develop software for chosen application areas.) 90 332.67 T
-0.31 (As Guisbond wrote in 1990, specialization is a dominant trend that requires people to take an) 90 307 P
-0.48 (informed and directed approach to managing their careers. Those people with the best job op-) 90 291 P
(portunities are those who prepare for anticipated technology trends and who tailor their job) 90 275 T
(searches acco) 90 259 T
0 12 Q
(rdingl) 160.83 259 T
0 11 Q
(y. [Guisbond90]) 190.15 259 T
90 201.27 540 210.24 C
90 201.27 540 210.24 R
7 X
0 K
V
90 208.23 243 208.23 2 L
V
0.5 H
2 Z
0 X
N
0 0 612 792 C
0 7 Q
0 X
0 K
(4.) 90 196.6 T
0 9 Q
-0.01 (The Conference Board is a nonprofit, bipartisan organization founded in 1916 to improve business enterprise) 108 193 P
-0.17 (systems and to enhance the contribution of business to society. Researchers in this organization conducted a) 108 182 P
0.55 (study of trends in career management and financial planning during the fall of 1990. The study included 28) 108 171 P
0.14 (interviews with 14 corporations and one large accounting firm. The corporations included older companies in) 108 160 P
-0.04 (major industries as well as younger firms in high-technology businesses. The interviews were conducted with) 108 149 P
0.16 (people within these corporations who were in charge of human resource planning, benefits, training, and de-) 108 138 P
0.37 (velopment. The study also included discussions with financial planning and career development consultants) 108 127 P
0.06 (as well as executives. In addition, the researchers reviewed recent literature in the business press which dis-) 108 116 P
(cussed these topics. [Dennis91]) 108 105 T
FMENDPAGE
%%EndPage: "31" 35
%%Page: "30" 35
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(30) 530.01 53.66 T
90 72 540 720 R
7 X
V
4 11 Q
0 X
(2.) 118.8 712.67 T
(Students opting to develop their own tracks should research their chosen) 133.92 712.67 T
(application domains during the summer.) 133.92 700.17 T
0 F
-0.3 (Advise these students to talk with domain experts in their chosen application) 133.92 679.67 P
(areas. Encourage them to determine the domain-specific knowledge and) 133.92 667.17 T
(skills that they need to develop software for these applications.) 133.92 654.67 T
(The domain experts that they contact may be industrial sponsors, industrial) 133.92 634.17 T
(mentors, professional contacts, or academic faculty. Provide the students) 133.92 621.67 T
(with the names of CMU faculty or SEI staff members who might help them) 133.92 609.17 T
(devise their tracks. The benefit of using CMU faculty or SEI staff is that the) 133.92 596.67 T
(students can more easily obtain advice from these people upon their arrival) 133.92 584.17 T
(for the MSE program orientation.) 133.92 571.67 T
(Students opting to develop their own tracks are required to submit rough) 133.92 551.17 T
(drafts of their proposals at least one week prior to the orientation which) 133.92 538.67 T
(precedes the fall term. This would allow the MSE advisors to have time to) 133.92 526.17 T
(read these proposals before the students arrive.) 133.92 513.67 T
4 F
(3.) 118.8 493.17 T
(During orientation, each student pursuing a specialization track should) 133.92 493.17 T
(discuss the purpose and content of their chosen tracks with advisors.) 133.92 480.67 T
0 F
-0.36 (Those students pursuing predefined tracks can discuss course offerings and) 133.92 460.17 P
(scheduling with their advisors. Students who have drafted their own tracks) 133.92 447.67 T
(can discuss the domain-specific knowledge and skills which they have) 133.92 435.17 T
-0.71 (identified with their advisors. The advisors should review the rough drafts and) 133.92 422.67 P
-0.61 (suggest appropriate changes. The advisor can then help the student map the) 133.92 410.17 P
-0.76 (knowledge bases and skills to educational objectives or directly to courses. In) 133.92 397.67 P
(the first case, the educational objectives should then be mapped to courses.) 133.92 385.17 T
4 F
(4.) 118.8 364.67 T
(The process of developing and pursuing a specialization track should be) 133.92 364.67 T
(dynamic and flexible.) 133.92 352.17 T
0 F
-0.2 (Students should continually review their educational experiences. They may) 133.92 331.67 P
(propose changes to generic or individualized tracks. Students developing) 133.92 319.17 T
(their own tracks may choose to incrementally provide more detail to their) 133.92 306.67 T
(proposals for a track as they learn more about their chosen application) 133.92 294.17 T
(domains. Advisors should review and approve student proposals.) 133.92 281.67 T
4 F
(5.) 118.8 261.17 T
-0.22 (After track completion, students who develop their own tracks should submit) 133.92 261.17 P
(reports outlining their tracks and briefly reviewing their experiences.) 133.92 248.67 T
0 F
(Students could receive independent study credit for writing and submitting) 133.92 228.17 T
-0.42 (acceptable reports. These reports should be written in such a way that future) 133.92 215.67 P
(students may use them to follow similar tracks.) 133.92 203.17 T
4 F
(6.) 118.8 182.67 T
(The MSE program administrators should provide students with) 133.92 182.67 T
(documentation that certifies their completion of specialization tracks. For) 133.92 170.17 T
(example, students who complete specialization tracks could receive) 133.92 157.67 T
(certificates of completion during the MSE graduation ceremonies.) 133.92 145.17 T
0 F
(Students would probably appreciate and find useful for the job search proof) 133.92 124.67 T
(that they have completed a specialization track.) 133.92 112.17 T
FMENDPAGE
%%EndPage: "30" 34
%%Page: "29" 34
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(29) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(7) 90 710.67 T
-0.67 (Conclusions and Guidelines for Administrating Specialization) 129.6 710.67 P
(Tracks) 129.6 694.67 T
0 11 Q
(Building a specialization track is a goal-oriented process in which the builder thinks critically) 90 662.67 T
-0.71 (about knowledge and skills required for the development of domain-specific software. The pro-) 90 647.67 P
-0.1 (cess of identifying the requisite knowledge bases and of mapping these to educational objec-) 90 632.67 P
(tives may seem tedious.) 90 617.67 T
-0.33 (The developer should select a level of detail which corresponds to the time available for build-) 90 592.67 P
-0.04 (ing the track, as well as to the degree of control that the developer wants over the track. The) 90 577.67 P
-0.19 (developer may choose to delineate broad knowledge bases and let course designers specify) 90 562.67 P
-0 (the detailed educational objectives. The TAP-D model serves most effectively as a guideline) 90 547.67 P
(rather than a prescription for creating tracks.) 90 532.67 T
(The model can be applied to the development of generic tracks to be pursued by more than) 90 507.67 T
-0.21 (one graduate student or to the development of individualized tracks. Faculty members, possi-) 90 492.67 P
(bly with the help of application domain experts, would most likely specify the generic tracks.) 90 477.67 T
(Faculty should encourage those students following individualized tracks to talk to experts in) 90 462.67 T
(their chosen application domains; students should do this before defining the appropriate) 90 447.67 T
(knowledge bases and skills for their individualized tracks.) 90 432.67 T
-0.14 (Using the TAP-D model as a guideline, students could formulate their own educational objec-) 90 407.67 P
-0.33 (tives and map these to existing courses or to proposals for independent study. Ideally, a men-) 90 392.67 P
(tor knowledgeable in a student\325s chosen application area should help the student to identify) 90 377.67 T
(the knowledge bases and skills. The mentor should approve the educational objectives and) 90 362.67 T
(selected courses.) 90 347.67 T
-0.05 (Because the full-time MSE program is an intensive 16-month course of study, students have) 90 322.67 P
(limited time to develop individualized specialization tracks once classes begin. One way to) 90 307.67 T
(solve this problem is to start the process of identifying and specifying an individualized spe-) 90 292.67 T
-0.04 (cialization track during the summer preceding the start of the program. Here are some guide-) 90 277.67 P
(lines for administrating specialization tracks.) 90 262.67 T
2 12 Q
(Guidelines for Administrating Specialization Tracks) 90 212 T
4 11 Q
(1.) 118.8 186.67 T
-0.24 (Admitted students should receive a description of the specialization track op-) 133.92 186.67 P
(tion within the MSE program soon after they accept admission.) 133.92 174.17 T
0 F
(This report could be sent accompanied by a letter explaining tracks which) 133.92 153.67 T
-0.28 (have already been defined as well as the opportunity for students to develop) 133.92 141.17 P
(their own tracks. This mailing should include a reply card for students to) 133.92 128.67 T
-0.05 (indicate their interest in pursuing a specialization track. Students who prefer) 133.92 116.17 P
-0.84 (to develop their own tracks should indicate the application areas in which they) 133.92 103.67 P
(are interested.) 133.92 91.17 T
FMENDPAGE
%%EndPage: "29" 33
%%Page: "28" 33
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(28) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(If a real-time project is not available for the studio work, then a student following a real-time) 90 712.67 T
-0.27 (track could pursue an independent study with a researcher from the SEI or CMU whose work) 90 697.67 P
(relates to real-time computing \050see Appendix A\051. As was mentioned earlier, the real-time do-) 90 682.67 T
(main involves the monitoring and control of systems used in applications areas such as the) 90 667.67 T
-0.31 (following: aerospace, basic machine control, communications, defense, entertainment, nucle-) 90 652.67 P
(ar-reactor control, robotics, and transportation.) 90 637.67 T
FMENDPAGE
%%EndPage: "28" 32
%%Page: "27" 32
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(27) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 12 Q
0 X
(6.4) 90 358 T
(Applications for Independent Study or Team Projects) 118.8 358 T
0 11 Q
(Ideally, students following the real-time track in the MSE program will participate in a studio) 90 335.67 T
-0.65 (project involving a real-time application. Over a sixteen month period, a team of MSE students) 90 320.67 P
(work together on a studio project. They experience most of the software development life cy-) 90 305.67 T
-0.38 (cle, starting with the initial customer contact and the subsequent requirements elicitation, and) 90 290.67 P
(continuing to the delivery of the software product to the customer. Lack of time usually pre-) 90 275.67 T
(vents students from advancing to maintenance and product enhancement during the 16-) 90 260.67 T
(month duration of the studio project.) 90 245.67 T
-0.05 (In addition to other software components, the 1992-93 studio team of eight students is devel-) 90 220.67 P
(oping software to control the positioning of a robot\325s arm. Attached to the arm is an injection) 90 205.67 T
(tool used to waterproof the tiles forming the thermal protection system of the NASA space) 90 190.67 T
-0.04 (shuttle. The arm is attached to a mobile base. A previous studio team developed software to) 90 175.67 P
-0.11 (control the movement of the mobile base. Safety is a critical factor in the development of this) 90 160.67 P
(robot.) 90 145.67 T
-0.69 (The 1993-94 studio team will be working on the APEX \050A Planetary EXplorer\051 project involving) 90 120.67 P
-0.66 (the construction of a robot for lunar exploration studies. This project should provide interesting) 90 105.67 P
-0.04 (problems to be solved, such as the opportunity to develop an embedded expert system for a) 90 90.67 P
(real-time application.) 90 75.67 T
3 F
(Digital) 119.74 670.67 T
(Signal) 120.96 657.67 T
(Processing I) 108 644.67 T
(EE5, EE6,) 183.96 657.67 T
(EE8, EE10) 182.59 644.67 T
(18-791) 263.44 657.67 T
(18-396) 335.44 657.67 T
(Fall*) 411.71 657.67 T
(12) 489.51 657.67 T
(Digital) 119.74 625.67 T
(Signal) 120.96 612.67 T
(Processing II) 106.17 599.67 T
(Advanced DSP) 173.28 612.67 T
(T) 192.43 599.67 T
(opics) 198.38 599.67 T
(18-792) 263.44 612.67 T
(18-791) 335.44 612.67 T
(Spring**) 402.86 612.67 T
(12) 489.51 612.67 T
(Linear) 120.66 567.67 T
(Systems) 116.69 554.67 T
(Prerequisite) 180.76 567.67 T
(18-771) 263.44 567.67 T
(18-396) 335.44 567.67 T
(Fall*) 411.71 567.67 T
(12) 489.51 567.67 T
(Multivariable) 105.1 535.67 T
(Control) 118.21 522.67 T
(Systems) 116.69 509.67 T
(Advanced) 184.73 535.67 T
(Control) 190.21 522.67 T
(T) 192.43 509.67 T
(opics) 198.38 509.67 T
(18-772) 263.44 522.67 T
(18-370) 335.44 522.67 T
(18-771) 335.44 509.67 T
(Spring+) 405.25 522.67 T
(12) 489.51 522.67 T
(Adaptive) 114.86 477.67 T
(Control) 118.21 464.67 T
(Advanced) 184.73 490.67 T
(Control) 190.21 477.67 T
(T) 192.43 464.67 T
(opics) 198.38 464.67 T
(18-773) 263.44 477.67 T
(18-370) 335.44 477.67 T
(18-771) 335.44 464.67 T
(Fall**) 408.96 477.67 T
(12) 489.51 477.67 T
(Optimal) 116.99 445.67 T
(& Stochastic) 106.77 432.67 T
(Control) 118.21 419.67 T
(Advanced) 184.73 445.67 T
(Control) 190.21 432.67 T
(T) 192.43 419.67 T
(opics) 198.38 419.67 T
(18-775) 263.44 432.67 T
(18-370) 335.44 432.67 T
(18-771) 335.44 419.67 T
(Fall**) 408.96 432.67 T
(12) 489.51 432.67 T
1 12 Q
(Course) 116.68 706 T
(Name) 120.01 692 T
(Educational) 176.01 706 T
(Objectives) 180.02 692 T
(Course) 260.68 706 T
(Number) 257.68 692 T
(Pr) 319.91 706 T
(er) 332.34 706 T
(equisite) 342.78 706 T
(Course\050s\051) 326.35 692 T
(T) 409.23 708 T
(erm) 416.13 708 T
(Offer) 403.13 694 T
(ed) 430.88 694 T
(Units) 481.34 694 T
171 721 171 411.75 2 L
V
0.5 H
0 Z
N
243 721 243 411.75 2 L
V
N
315 721 315 411.75 2 L
V
N
387 721 387 411.75 2 L
V
N
459 721 459 411.75 2 L
V
N
99 720 531 720 2 L
V
2 H
N
99 682 531 682 2 L
V
N
99 637 531 637 2 L
V
0.5 H
N
99 592 531 592 2 L
V
N
99 547 531 547 2 L
V
N
99 502 531 502 2 L
V
N
99 457 531 457 2 L
V
N
99 412 531 412 2 L
V
N
FMENDPAGE
%%EndPage: "27" 31
%%Page: "26" 31
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(26) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(take) 90 712.67 T
4 F
(Concurrency and Real-Time Systems) 113.82 712.67 T
0 F
( and/or other electives from Table 1 or Table 2 in) 296.36 712.67 T
(the spring. Another student with a basic understanding of signals and systems may be inter-) 90 697.67 T
-0.19 (ested in control theory and could take) 90 682.67 P
4 F
-0.19 (Introduction to Real-Time Software) 274.31 682.67 P
0 F
-0.19 ( and) 443.48 682.67 P
4 F
-0.19 (Fundamentals) 467.53 682.67 P
(of Control) 90 667.67 T
0 F
( in the fall followed by) 137.63 667.67 T
4 F
(Real-Time Software Design) 245.71 667.67 T
0 F
( and) 380.02 667.67 T
4 F
(Real-Time Software Perfor-) 404.45 667.67 T
-0.35 (mance) 90 652.67 P
0 F
-0.35 ( in the spring. The student could then complete a summer independent study involving) 122.97 652.67 P
(an industrial control application and follow this with the) 90 637.67 T
4 F
(Real-Time Applications Laboratory) 357.45 637.67 T
0 F
(course and) 90 622.67 T
4 F
(Linear Systems) 147.4 622.67 T
0 F
(or) 226.16 622.67 T
4 F
(Digital Signal Processing I) 238.99 622.67 T
0 F
(.) 366.59 622.67 T
2 F
(Table 6-2:) 174.9 572.67 T
(Industrial Controls Option: List of Courses) 232.29 572.67 T
1 12 Q
(Course) 116.68 543 T
(Name) 120.01 529 T
(Educational) 176.01 543 T
(Objectives) 180.02 529 T
(Course) 260.68 543 T
(Number) 257.68 529 T
(Pr) 319.91 543 T
(er) 332.34 543 T
(equisite) 342.78 543 T
(Course\050s\051) 326.35 529 T
(T) 409.23 545 T
(erm) 416.13 545 T
(Offer) 403.13 531 T
(ed) 430.88 531 T
(Units) 481.34 531 T
3 11 Q
(Calculus) 115.77 494.67 T
(Prerequisite) 180.76 494.67 T
(21-121) 263.44 494.67 T
(None Listed) 324 494.67 T
(Fall*) 411.71 494.67 T
(Spring*) 405.6 481.67 T
(10) 489.51 494.67 T
(Calculus) 115.77 462.67 T
( in Three) 115.17 449.67 T
(Dimensions) 108.75 436.67 T
(Prerequisite) 180.76 449.67 T
(21-259) 263.44 449.67 T
(21-121) 335.44 449.67 T
(Fall*) 411.71 449.67 T
(Spring*) 405.6 436.67 T
(9) 492.25 449.67 T
(Numerical) 111.81 404.67 T
(Methods) 115.77 391.67 T
(EE3, EE4) 185.34 404.67 T
(21-369) 263.44 404.67 T
(21-259) 335.44 404.67 T
(Fall*) 411.71 404.67 T
(Spring*) 405.6 391.67 T
(9) 492.25 404.67 T
(Introduction) 107.84 372.67 T
(to Numerical) 106.17 359.67 T
(Analysis I) 112.57 346.67 T
(EE3, EE4) 185.34 372.67 T
(Advanced) 184.73 359.67 T
( T) 191.06 346.67 T
(opics) 199.75 346.67 T
(21-660) 263.44 359.67 T
(None Listed) 324 372.67 T
(Contact) 333.91 359.67 T
(Instructor) 329.64 346.67 T
(Fall*) 411.71 359.67 T
(12) 489.51 359.67 T
(Intro. to) 117.3 327.67 T
(Electrical &) 108.3 314.67 T
(Comp. Eng.) 108.6 301.67 T
(Prerequisite) 180.76 314.67 T
(18-100) 263.44 314.67 T
(None) 339.1 314.67 T
(Fall*) 411.71 314.67 T
(Spring*) 405.6 301.67 T
(12) 489.51 314.67 T
(Fundamentals) 104.18 282.67 T
(of Electrical) 108 269.67 T
(Engineering) 108.15 256.67 T
(Prerequisite) 180.76 269.67 T
(18-220) 263.44 269.67 T
(18-100) 335.44 269.67 T
(Fall*) 411.71 269.67 T
(Spring*) 405.6 256.67 T
(12) 489.51 269.67 T
(Signals) 118.82 237.67 T
(and) 127.07 224.67 T
(Systems) 116.69 211.67 T
(EE2, EE6) 185.34 237.67 T
(and) 199.07 224.67 T
(Prerequisite) 180.76 211.67 T
(18-396) 263.44 224.67 T
(18-220) 335.44 224.67 T
(Spring*) 405.6 224.67 T
(12) 489.51 224.67 T
(Fundamentals) 104.18 192.67 T
(of) 130.42 179.67 T
(Control) 118.21 166.67 T
(EE1,EE7,) 185.34 192.67 T
(EE9,EE1) 176.23 179.67 T
(1and) 216.41 179.67 T
(Prerequisite) 180.76 166.67 T
(18-370) 263.44 179.67 T
(18-396) 335.44 179.67 T
(Fall*) 411.71 179.67 T
(12) 489.51 179.67 T
(Control) 118.21 147.67 T
(Systems) 116.69 134.67 T
(Design) 119.44 121.67 T
(EE7, EE9,) 183.96 134.67 T
(& EE1) 189.35 121.67 T
(1) 219.16 121.67 T
(18-475) 263.44 134.67 T
(18-370) 335.44 134.67 T
(Spring*) 405.6 134.67 T
(12) 489.51 134.67 T
171 558 171 113.75 2 L
V
0.5 H
0 Z
N
243 558 243 113.75 2 L
V
N
315 558 315 113.75 2 L
V
N
387 558 387 113.75 2 L
V
N
459 558 459 113.75 2 L
V
N
99 557 531 557 2 L
V
2 H
N
99 519 531 519 2 L
V
N
99 474 531 474 2 L
V
0.5 H
N
99 429 531 429 2 L
V
N
99 384 531 384 2 L
V
N
99 339 531 339 2 L
V
N
99 294 531 294 2 L
V
N
99 249 531 249 2 L
V
N
99 204 531 204 2 L
V
N
99 159 531 159 2 L
V
N
99 114 531 114 2 L
V
N
FMENDPAGE
%%EndPage: "26" 30
%%Page: "25" 30
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(25) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 10 Q
0 X
-0.37 (1) 90 505.8 P
0 12 Q
-0.44 (The course offered in Fall 1992 was 6 units. A 12-unit) 95.56 501 P
4 F
-0.44 (Introduction to Real-Time Soft-) 378.02 501 P
(ware and Systems) 90 485 T
0 F
( is under development.) 188.65 485 T
2 F
(Industrial Controls Option) 90 433 T
0 11 Q
-0.48 (MSE students interested in control theory and/or digital signal processing \050DSP\051 can find a va-) 90 407.67 P
-0.75 (riety of courses offered by the Electrical and Computer Engineering Department \050ECE\051. Those) 90 392.67 P
-0.61 (students who already have fundamental programming and electrical engineering skills \050includ-) 90 377.67 P
(ing signals and systems\051 are best prepared to pursue a controls option under the real-time) 90 362.67 T
(track. The courses shown in Table 6-2 are members of one of the following four categories:) 90 347.67 T
(\0501\051 courses which are prerequisites for other courses, \0502\051 courses whose content covers the) 90 332.67 T
(educational objectives specified earlier, \0503\051 courses whose content covers some of the previ-) 90 317.67 T
(ously listed educational objectives and are prerequisites for other courses, and \0504\051 courses) 90 302.67 T
(which cover advanced DSP or control theory.) 90 287.67 T
-0.33 (To select a sequence of courses, the student should consider course prerequisites as well as) 90 262.67 P
(the term\050s\051 in which a course is offered. The symbols *, **, and + indicate the frequency in) 90 247.67 T
(which courses are offered.) 90 232.67 T
(*) 90 207.67 T
( The course is offered every year.) 100.8 207.67 T
(**) 90 182.67 T
( The course is offered every other year.) 100.8 182.67 T
(+) 90 157.67 T
( The course is offered when there is sufficient demand.) 100.8 157.67 T
-0.09 (For example, a student with good programming and basic electrical engineering skills who is) 90 132.67 P
(interested in developing software for DSP applications might take) 90 117.67 T
4 F
(Introduction to Real-Time) 409.97 117.67 T
-0 (Software) 90 102.67 P
0 F
-0 (and) 136.4 102.67 P
4 F
-0 (Digital Signal Processing I) 157.78 102.67 P
0 F
-0 (during the fall followed by) 288.44 102.67 P
4 F
-0 (Digital Signal Processing) 415.45 102.67 P
-0.32 (II) 90 87.67 P
0 F
-0.32 ( \050if it is offered\051 in the spring. If) 96.11 87.67 P
4 F
-0.32 (Digital Signal Processing II) 244.02 87.67 P
0 F
-0.32 (is not available, the student could) 376.44 87.67 P
3 F
(Intro. to) 117.3 670.67 T
(Electrical &) 108.3 657.67 T
(Comp. Eng.) 108.6 644.67 T
(Prerequisite) 180.76 657.67 T
(18-100) 263.44 657.67 T
(None) 339.1 657.67 T
(Fall*) 411.71 657.67 T
(Spring*) 405.6 644.67 T
(12) 489.51 657.67 T
(Fundamentals) 104.18 625.67 T
(of Computer) 107.08 612.67 T
(Engineering) 108.15 599.67 T
(Prerequisite) 180.76 612.67 T
(18-240) 263.44 612.67 T
(18-100) 335.44 612.67 T
(Fall*) 411.71 612.67 T
(Spring*) 405.6 599.67 T
(12) 489.51 612.67 T
(Concurrency) 106.63 580.67 T
(& Real-T) 106.05 567.67 T
(ime) 147.47 567.67 T
(Systems) 116.69 554.67 T
(E10, E24,) 185.18 580.67 T
(E25, E28,) 185.18 567.67 T
(E30, & E31) 180.91 554.67 T
(18-349) 263.44 567.67 T
(15-21) 335.64 567.67 T
(1) 360.87 567.67 T
(18-240) 335.44 554.67 T
(Spring*) 405.6 567.67 T
(12) 489.51 567.67 T
1 12 Q
(Course) 116.68 706 T
(Name) 120.01 692 T
(Educational) 176.01 706 T
(Objectives) 180.02 692 T
(Course) 260.68 706 T
(Number) 257.68 692 T
(Pr) 319.91 706 T
(er) 332.34 706 T
(equisite) 342.78 706 T
(Course\050s\051) 326.35 692 T
(T) 409.23 708 T
(erm) 416.13 708 T
(Offer) 403.13 694 T
(ed) 430.88 694 T
(Units) 481.34 699 T
99 719.75 99 547.25 2 L
V
0.5 H
0 Z
N
171 720.25 171 546.75 2 L
V
N
243 720.25 243 546.75 2 L
V
N
315 720.25 315 546.75 2 L
V
N
387 720.25 387 546.75 2 L
V
N
459 720.25 459 546.75 2 L
V
N
531 719.75 531 547.25 2 L
V
N
98.75 720 531.25 720 2 L
V
N
99.25 683.25 530.75 683.25 2 L
V
N
99.25 680.75 530.75 680.75 2 L
V
N
98.75 637 531.25 637 2 L
V
N
98.75 592 531.25 592 2 L
V
N
98.75 547 531.25 547 2 L
V
N
FMENDPAGE
%%EndPage: "25" 29
%%Page: "24" 29
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(24) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.28 (op device drivers in this course. The prerequisites include an understanding of the fundamen-) 90 712.67 P
-0.88 (tals of computer architecture and digital logic. Students with sufficient background may be able) 90 697.67 P
(to waive the prerequisite courses and should therefore contact the Department of Electrical) 90 682.67 T
(and Computer Engineering.) 90 667.67 T
(Table 6-1 contains information about the courses that students can take to develop skills in) 90 642.67 T
(understanding real-time computing issues and in developing software for real-time systems.) 90 627.67 T
(The table also shows prerequisite courses. The * symbol indicates that the course is offered) 90 612.67 T
(every year, and the + symbol indicates that the course is offered when there is sufficient de-) 90 597.67 T
(mand.) 90 582.67 T
2 F
(Table 6-1:) 200.53 557.67 T
(Real-Time Track: List of Courses) 257.92 557.67 T
1 12 Q
(Course) 116.68 528 T
(Name) 120.01 514 T
(Educational) 176.01 528 T
(Objectives) 180.02 514 T
(Course) 260.68 528 T
(Number) 257.68 514 T
(Pr) 319.91 528 T
(er) 332.34 528 T
(equisite) 342.78 528 T
(Course\050s\051) 326.35 514 T
(T) 409.23 530 T
(erm) 416.13 530 T
(Offer) 403.13 516 T
(ed) 430.88 516 T
(Units) 481.34 521 T
3 11 Q
(Intro. to) 117.3 492.67 T
(Programming) 104.79 479.67 T
(& Comp. Sc.) 106.31 466.67 T
(Prerequisite) 180.76 479.67 T
(15-127) 263.44 479.67 T
(None) 339.1 479.67 T
(Fall*) 411.71 479.67 T
(Spring*) 405.6 466.67 T
(12) 489.51 479.67 T
(Fundamental) 106.32 447.67 T
(Structures of) 106.78 434.67 T
(Comp. Sc. I) 108.75 421.67 T
(Prerequisite) 180.76 434.67 T
(15-21) 263.64 434.67 T
(1) 288.87 434.67 T
(15-127) 335.44 434.67 T
(Fall*) 411.71 434.67 T
(Spring*) 405.6 421.67 T
(12) 489.51 434.67 T
(Fundamental) 106.32 402.67 T
(Structures of) 106.78 389.67 T
(Comp. Sc. II) 106.92 376.67 T
(Prerequisite) 180.76 389.67 T
(15-212) 263.44 389.67 T
(15-21) 335.64 389.67 T
(1) 360.87 389.67 T
(Fall*) 411.71 389.67 T
(Spring*) 405.6 376.67 T
(12) 489.51 389.67 T
(Operating) 113.03 344.67 T
(Systems) 116.69 331.67 T
(Prerequisite) 180.76 344.67 T
(15-412) 263.44 344.67 T
(15-212) 335.44 344.67 T
(Fall*) 411.71 344.67 T
(Spring*) 405.6 331.67 T
(12) 489.51 344.67 T
(Introduction) 107.84 312.67 T
(to Real-T) 106.05 299.67 T
(ime) 147.47 299.67 T
(Software) 115.17 286.67 T
(E1-E17,) 188.85 312.67 T
(E20-E24,) 186.1 299.67 T
(E24,E29,E33) 177.71 286.67 T
(17-880) 263.44 299.67 T
(15-21) 335.64 312.67 T
(1) 360.87 312.67 T
(15-412 or) 329.49 299.67 T
(Equivalents) 325.06 286.67 T
(Fall+) 411.35 299.67 T
(6/12) 482.99 299.67 T
3 9 Q
(1) 502.52 304.07 T
3 11 Q
(Real-T) 111.7 267.67 T
(ime) 141.82 267.67 T
(Software) 115.17 254.67 T
(Design) 119.44 241.67 T
(E9, E10,) 187.93 267.67 T
(E18-E25,) 186.1 254.67 T
(E30, E31) 186.55 241.67 T
(T) 265.8 254.67 T
(o Be) 271.75 254.67 T
(Assigned) 258.55 241.67 T
(17-880) 335.44 254.67 T
(Spring+) 405.25 254.67 T
(Summer+) 401.29 241.67 T
(6) 492.25 254.67 T
(Real-T) 111.7 222.67 T
(ime) 141.82 222.67 T
(Software) 115.17 209.67 T
(Performance) 106.93 196.67 T
(E31-E34 &) 181.82 222.67 T
(Advanced) 184.73 209.67 T
(Concepts) 186.55 196.67 T
(T) 265.8 209.67 T
(o Be) 271.75 209.67 T
(Assigned) 258.55 196.67 T
(17-880) 335.44 209.67 T
(Spring+) 405.25 209.67 T
(Summer+) 401.29 196.67 T
(3) 492.25 209.67 T
(Real-T) 111.7 177.67 T
(ime) 141.82 177.67 T
(Applications) 106.92 164.67 T
(Laboratory) 110.59 151.67 T
(E10-E13,) 186.1 177.67 T
(E24-E30,E35) 177.25 164.67 T
(Ad. Concepts) 177.1 151.67 T
(T) 265.8 164.67 T
(o Be) 271.75 164.67 T
(Assigned) 258.55 151.67 T
(17-880) 335.44 164.67 T
(Fall+) 411.35 164.67 T
(12) 489.51 164.67 T
(Distributed) 110.28 119.67 T
(Systems) 116.69 106.67 T
(E24-E26) 187.47 119.67 T
(E29, E30) 186.55 106.67 T
(15-612) 263.44 119.67 T
(15-412 or) 329.49 119.67 T
(Equivalent) 327.2 106.67 T
(Spring*) 405.6 119.67 T
(12) 489.51 119.67 T
99 541.75 99 99.25 2 L
V
0.5 H
0 Z
N
171 542.25 171 98.75 2 L
V
N
243 542.25 243 98.75 2 L
V
N
315 542.25 315 98.75 2 L
V
N
387 542.25 387 98.75 2 L
V
N
459 542.25 459 98.75 2 L
V
N
531 541.75 531 99.25 2 L
V
N
98.75 542 531.25 542 2 L
V
N
99.25 505.25 530.75 505.25 2 L
V
N
99.25 502.75 530.75 502.75 2 L
V
N
98.75 459 531.25 459 2 L
V
N
98.75 414 531.25 414 2 L
V
N
98.75 369 531.25 369 2 L
V
N
98.75 324 531.25 324 2 L
V
N
98.75 279 531.25 279 2 L
V
N
98.75 234 531.25 234 2 L
V
N
98.75 189 531.25 189 2 L
V
N
98.75 144 531.25 144 2 L
V
N
98.75 99 531.25 99 2 L
V
N
FMENDPAGE
%%EndPage: "24" 28
%%Page: "23" 28
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(23) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(EE8.) 133.92 712.67 T
0 F
( The student should be able to design software implementations of) 162 712.67 T
(basic sampling techniques.) 133.92 700.17 T
2 F
(\050PP1\051) 268.86 700.17 T
(EE9.) 133.92 679.67 T
0 F
-0.23 (The student should be able to design software solutions to problems in) 160.56 679.67 P
(representing control data precisely in a computer.) 133.92 667.17 T
2 F
(\050PP2\051) 377.55 667.17 T
(EE10.) 133.92 646.67 T
0 F
( The student should be able to design software implementations of) 163.85 646.67 T
-0.4 (basic filtering techniques used in digital signal processing applications.) 133.92 634.17 P
2 F
-0.4 (\050PP3\051) 475.92 634.17 P
(EE11.) 133.92 613.67 T
0 F
(The student should be able to design) 166.9 613.67 T
(software to implement a) 350.12 613.67 T
(feedback loop for a real-time control system.) 133.92 601.17 T
2 F
( \050AA3, PP4\051) 350.07 601.17 T
2 12 Q
(6.3) 90 570 T
(Outline of Courses) 118.8 570 T
0 11 Q
(Students entering the Masters in Software Engineering \050MSE\051 program who are proficient in) 90 547.67 T
(at least one high-level language used to develop real-time software \050e.g. Ada or C\051 and who) 90 532.67 T
-0.66 (have a basic understanding of operating systems can enroll directly in the) 90 517.67 P
4 F
-0.66 ( Introduction to Real-) 439.99 517.67 P
(Time Software) 90 502.67 T
0 F
( course. A recommended, but not required, prerequisite for entering the real-) 160.82 502.67 T
(time track is knowledge of at least one assembly language. Students with insufficient back-) 90 487.67 T
-0.62 (ground can take courses at the undergraduate level or study independently to acquire the nec-) 90 472.67 P
(essary skills.) 90 457.67 T
-0.05 (As an introduction to real-time computing and software issues, the) 90 432.67 P
4 F
-0.05 (Introduction to Real-Time) 413.76 432.67 P
(Software) 90 417.67 T
0 F
(course covers many of the educational objectives specified earlier for a real-time) 136.41 417.67 T
(track. This course, incorporating a combination of lectures, readings, and related assign-) 90 402.67 T
(ments, provides a broad, conceptual basis for further study of real-time computing and soft-) 90 387.67 T
(ware development.) 90 372.67 T
(In the first offering of this course, all students could program proficiently in at least one lan-) 90 347.67 T
(guage used to develop real-time systems software. One student took an undergraduate) 90 332.67 T
-0.38 (course in operating systems and the real-time introductory course during the same semester.) 90 317.67 P
-0.4 (All students in the first class performed well and thought the course helped them to gain a bet-) 90 302.67 P
(ter understanding of the issues involved in developing software for real-time systems.) 90 287.67 T
(The) 90 262.67 T
4 F
(Introduction to Real-Time Software) 111.98 262.67 T
0 F
(,) 281.72 262.67 T
4 F
( Real-Time Software Design) 284.78 262.67 T
0 F
(,) 422.14 262.67 T
4 F
(Real-Time Software) 428.25 262.67 T
(Performance) 90 247.67 T
0 F
(, and) 152.89 247.67 T
4 F
(Real-TIme Applications Laboratory) 180.37 247.67 T
0 F
(courses are the foundation of the real-) 352.55 247.67 T
-0.54 (time track. The latter three of these courses are in the planning stage and will be available dur-) 90 232.67 P
-0.12 (ing the next school year if sufficient demand for them exists. They emphasize a hands-on ap-) 90 217.67 P
-0.34 (proach to understanding real-time computing. Students design, implement, and test real-time) 90 202.67 P
(software in these three courses. The) 90 187.67 T
4 F
(Real-Time Software Performance) 270.75 187.67 T
0 F
( and) 433.75 187.67 T
4 F
(Real-Time Appli-) 458.18 187.67 T
-0.61 (cations Laboratory) 90 172.67 P
0 F
-0.61 (courses enable students to experiment with different hardware/software in-) 182.2 172.67 P
(terfaces. The) 90 157.67 T
4 F
(Real-Time Applications Laboratory) 157.17 157.67 T
0 F
( course will offer advanced application of) 325.68 157.67 T
(concepts presented in the) 90 142.67 T
4 F
(Introduction to Real-Time Software) 218.86 142.67 T
0 F
( course.) 388.6 142.67 T
-0.05 (Students who seek further hands-on understanding of real-time computing at the level of the) 90 117.67 P
-0.41 (hardware/software interfaces might consider) 90 102.67 P
4 F
-0.41 (Concurrency and Real-Time Systems) 306.96 102.67 P
0 F
-0.41 (. Students) 488.29 102.67 P
-0.41 (have the opportunity to build an operating system kernel for a target architecture and to devel-) 90 87.67 P
FMENDPAGE
%%EndPage: "23" 27
%%Page: "22" 27
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(22) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(E29.) 135.07 712.67 T
0 F
( The student should be able to explain basic concepts in the design of) 157.67 712.67 T
(distributed systems such as: partitioning, allocation, communication,) 136.08 700.17 T
(synchronization, concurrency control, and replication. The student should) 136.08 687.67 T
-0.63 (also be able to discuss the impact of real-time system requirements on these) 136.08 675.17 P
(issues.) 136.08 662.67 T
2 F
( \050T8\051) 170.27 662.67 T
(E30.) 135.07 642.17 T
0 F
(Those students who choose to develop software for a distributed real-) 160.73 642.17 T
(time application should be able to design software modules which not only) 136.08 629.67 T
-0.47 (support real-time requirements but also address the issues mentioned in the) 136.08 617.17 P
(previous objective.) 136.08 604.67 T
2 F
(\050P12\051) 230.11 604.67 T
(E31.) 135.07 584.17 T
0 F
( The student should be knowledgeable about methods for specifying) 157.67 584.17 T
(real-time performance requirements, designing systems to meet these) 136.08 571.67 T
(requirements, and evaluating performance. The student should have an) 136.08 559.17 T
(understanding of how hardware characteristics) 136.08 546.67 T
(impact performance \050e.g.) 366.28 546.67 T
(interrupt latency\051.) 136.08 534.17 T
2 F
( \050T12, P13, P20\051) 220.95 534.17 T
(E32.) 135.07 513.67 T
0 F
(The student should be able to use software optimization strategies to) 160.73 513.67 T
-0.25 (improve real-time system performance. They should be able to evaluate the) 136.08 501.17 P
(performance of their software components.) 136.08 488.67 T
2 F
(\050P17, P19\051) 347.96 488.67 T
-0.1 (E33.) 135.07 468.17 P
0 F
-0.1 ( The student should be knowledgeable about different ways to test real-) 157.67 468.17 P
(time systems and should be able to apply at least one method.) 136.08 455.67 T
2 F
(\050P16\051) 443.25 455.67 T
-0.96 (E34.) 135.07 435.17 P
0 F
-0.96 (Given real-world specifications of hardware performance and prices and) 159.76 435.17 P
(application requirements, the student should discuss the trade-offs of) 136.08 422.67 T
(different hardware configurations.) 136.08 410.17 T
2 F
(\050P21\051) 302.17 410.17 T
(E35.) 135.07 389.67 T
0 F
( The student should implement software components to interface with) 157.67 389.67 T
(one or more external devices.) 136.08 377.17 T
2 F
(\050P22\051) 283.85 377.17 T
2 12 Q
(Industrial Controls Option) 90 334.5 T
2 11 Q
(EE1.) 133.92 309.17 T
0 F
-0.81 (The student should demonstrate knowledge of simple feedback \050closed) 162 309.17 P
(versus open loop\051 control systems.) 133.92 296.67 T
2 F
(\050AA1\051) 306.71 296.67 T
(EE2.) 135.07 276.17 T
0 F
( The student should be able to propose solutions to sampling issues) 158.89 276.17 T
(involved in analog-to-digital conversion.) 136.08 263.67 T
2 F
(\050AA2\051) 331.47 263.67 T
(EE3.) 133.92 243.17 T
0 F
-0.86 (The student should be able to identify the problems in representing data) 162 243.17 P
(for control systems accurately and precisely in a computer.) 133.92 230.67 T
2 F
(\050AA2\051) 422.72 230.67 T
(EE4.) 133.92 210.17 T
0 F
-0.44 (The student should be able to propose solutions to data representation) 162 210.17 P
(problems.) 133.92 197.67 T
2 F
(\050AA2\051) 185.2 197.67 T
(EE5.) 133.92 177.17 T
0 F
-0.67 (The student should demonstrate knowledge of digital signal processing) 162 177.17 P
(\050DSP\051 fundamentals.) 133.92 164.67 T
2 F
(\050AA2\051) 238.94 164.67 T
(EE6.) 133.92 144.17 T
0 F
(The student should demonstrate knowledge of basic filtering) 162 144.17 T
(techniques.) 133.92 131.67 T
2 F
(\050AA2\051) 193.16 131.67 T
(EE7.) 133.92 111.17 T
0 F
(The student should be able to describe differences between basic) 160.79 111.17 T
(feedback devices.) 133.92 98.67 T
2 F
(\050AA3\051) 224.91 98.67 T
FMENDPAGE
%%EndPage: "22" 26
%%Page: "21" 26
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(21) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(E14.) 135.07 712.67 T
0 F
(The student should be able to distinguish between real-time and time-) 160.73 712.67 T
(sharing operating systems.) 136.08 700.17 T
2 F
(\050T9\051) 270.41 700.17 T
-0.71 (E15.) 135.07 679.67 P
0 F
-0.71 (The student should be able to enumerate the differences between basic) 160.02 679.67 P
-0.94 (research and commercial real-time operating systems and to name operating) 136.08 667.17 P
(systems from each category.) 136.08 654.67 T
2 F
(\050T10\051) 279.56 654.67 T
(E16.) 135.07 634.17 T
0 F
(The student should be able to delineate the advantages and) 160.73 634.17 T
(disadvantages of developing a proprietary operating system for a real-time) 136.08 621.67 T
(application versus using a commercial product.) 136.08 609.17 T
2 F
( \050P10\051) 364.43 609.17 T
(E17.) 135.07 588.67 T
0 F
( T) 157.67 588.67 T
(he student should be able to describe the following software) 167.44 588.67 T
-0.11 (architectures used to design real-time systems: scheduling tables, compiler-) 136.08 576.17 P
(generated scheduling, Ada process model, cyclic model, and blackboards.) 136.08 563.67 T
2 F
(\050P7\051) 136.08 551.17 T
(E18.) 135.07 530.67 T
0 F
(The student should design real-time software components that are) 160.73 530.67 T
(easily reused.) 136.08 518.17 T
2 F
(\050P8\051) 206.91 518.17 T
(E19.) 135.07 497 T
0 F
(Given the description of a real-time software application, the stude) 160.73 497 T
0 12 Q
(nt) 482.53 497 T
0 11 Q
-0.38 (should be able to select an appropriate software architecture for the system.) 136.08 483.5 P
2 F
(\050P7\051) 136.08 470 T
(E20.) 135.07 449.17 T
0 F
(Given the description of a programming language, the student should) 160.73 449.17 T
(be able to determine if the language is appropriate for developing real-time) 136.08 436.67 T
(programs.) 136.08 424.17 T
2 F
(\050P9\051) 188.58 424.17 T
(E21.) 135.07 403.67 T
0 F
(The student should be able to discuss the distinguishing constructs of) 160.73 403.67 T
(several real-time languages.) 136.08 391.17 T
2 F
(\050T11\051) 277.12 391.17 T
(E22.) 135.07 370.67 T
0 F
(The student should be able to establish criteria for the selection of a) 160.73 370.67 T
(suitable programming language for a real-time software application.) 136.08 358.17 T
2 F
( \050P9\051) 463.97 358.17 T
(E23.) 135.07 337.67 T
0 F
(The student should be proficient in the use of at least one real-time) 160.73 337.67 T
(programming language. Proficiency may be defined as the ability to use a) 136.08 325.17 T
(language\325s real-time features correctly.) 136.08 312.67 T
2 F
(\050P9\051) 328.41 312.67 T
(E24.) 135.07 292.17 T
0 F
(Given the description of a real-time application, the student should be) 160.73 292.17 T
(able to identify reliability, safety, and fault-tolerance issues relating to the) 136.08 279.67 T
(application.) 136.08 267.17 T
2 F
( \050A3\051) 191.65 267.17 T
-0.43 (E25.) 135.07 246.67 P
0 F
-0.43 ( The student should be aware of the impact of reliability, safety and fault) 157.67 246.67 P
-0.13 (tolerance issues on the design of real-time software systems and should be) 136.08 234.17 P
(able to propose ways to ensure the reliability, safety, and fault tolerance of) 136.08 221.67 T
(software systems.) 136.08 209.17 T
2 F
(\050P11\051) 227.05 209.17 T
(E26.) 135.07 188.67 T
0 F
( Those students who develop a software system for a real-time) 157.67 188.67 T
-0.58 (application should verify that their requirements and design specifications as) 136.08 176.17 P
(well as their implementations incorporate features to ensure reliability,) 136.08 163.67 T
(safety, and fault tolerance.) 136.08 151.17 T
2 F
(\050P18\051) 267.99 151.17 T
(E27.) 135.07 130.67 T
0 F
(The student should be able to discuss basic hardware/software) 160.73 130.67 T
(interface issues for real-time systems.) 136.08 118.17 T
2 F
(\050P14\051) 323.51 118.17 T
(E28.) 135.07 97.67 T
0 F
( T) 157.67 97.67 T
(he student should be able to integrate hardware and software) 167.44 97.67 T
(components.) 136.08 85.17 T
2 F
(\050P15\051) 202.03 85.17 T
FMENDPAGE
%%EndPage: "21" 25
%%Page: "20" 25
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(20) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 12 Q
0 X
(6.2) 90 712 T
(Educational Objectives) 118.8 712 T
0 11 Q
(The educational objectives are designed to demonstrate a student\325s mastery of the requisite) 90 689.67 T
(knowledge and skills. The indices in parentheses after each objective reference the corre-) 90 674.67 T
(sponding knowledge base items.) 90 659.67 T
2 F
-0.3 (E1.) 135.07 634.67 P
0 F
-0.3 ( Given a natural language specification of the requirements for a system,) 151.56 634.67 P
-0.59 (the student should be able to explain whether a real-time software solution is) 136.08 622.17 P
(needed.) 136.08 609.67 T
2 F
(\050A1, A2, P1\051) 178.84 609.67 T
(E2.) 135.07 589.17 T
0 F
( Given a natural language description of an application, the student) 151.56 589.17 T
(should be able to identify any real-time aspects of the application.) 136.08 576.67 T
2 F
(\050A1, A2\051) 457.29 576.67 T
-0.51 (E3.) 135.07 556.17 P
0 F
-0.51 (The student should be able to compare and contrast real-time aspects of) 154.11 556.17 P
(some existing real-time systems.) 136.08 543.67 T
2 F
(\050A4\051) 298.47 543.67 T
(E4.) 135.07 523.17 T
0 F
(The student should be able to explain the importance of specification in) 154.62 523.17 T
(the development of real-time software.) 136.08 510.67 T
2 F
(\050T1\051) 325.98 510.67 T
-0.04 (E5.) 135.07 490.17 P
0 F
-0.04 ( Given the description of a specification technique for real-time systems,) 151.56 490.17 P
(the student should be able to explain how the method might be used in the) 136.08 477.67 T
(software life cycle.) 136.08 465.17 T
2 F
(\050T1, T2\051) 228.88 465.17 T
-0.7 (E6.) 135.07 444.67 P
0 F
-0.7 ( Given a natural language specification of the requirements for a real-time) 151.56 444.67 P
(system, the student should be able to choose a more formal method for) 136.08 432.17 T
(specifying system requirements and apply it.) 136.08 419.67 T
2 F
(\050T3, P2\051) 355.28 419.67 T
-0.09 (E7.) 135.07 399.17 P
0 F
-0.09 (The student should be able to informally or formally verify specifications) 154.53 399.17 P
(for real-time software systems requirements and design.) 136.08 386.67 T
2 F
(\050T4, P2\051) 412.66 386.67 T
(E8.) 135.07 366.17 T
0 F
(Given the specification for the requirements or design of a real-time) 154.62 366.17 T
(system, the student should be able to analyze and discuss the ability of the) 136.08 353.67 T
(chosen specification method to precisely and completely describe the) 136.08 341.17 T
(requirements and design of the system.) 136.08 328.67 T
2 F
(\050T5\051) 331.48 328.67 T
(E9.) 135.07 308.17 T
0 F
( The student should be able to describe and preferably use available) 151.56 308.17 T
(commercial tools that assist in the specification of software system) 136.08 295.67 T
(requirements and designs.) 136.08 283.17 T
2 F
(\050P3\051) 268.59 283.17 T
(E10.) 135.07 262.67 T
0 F
( The student should be able to apply basic operating system concepts) 157.67 262.67 T
(such as scheduling theory to software solutions for real-time problems. In) 136.08 250.17 T
(particular, the student should implement software components to perform) 136.08 237.67 T
-0.91 (basic kernel tasks such as scheduling; dispatching; intertask communication;) 136.08 225.17 P
(and interrupt, exception, or event detection and handling.) 136.08 212.67 T
2 F
(\050T6\051) 416.4 212.67 T
(E11.) 135.07 192.17 T
0 F
(The student should be able to explain the differences between) 160.73 192.17 T
(precomputed, static, and dynamic priority scheduling.) 136.08 179.67 T
2 F
(\050T7\051) 398.03 179.67 T
-1.01 (E12.) 135.07 159.17 P
0 F
-1.01 ( The student should understand deterministic scheduling techniques and) 157.67 159.17 P
(be able to clarify the issue of predictability versus throughput.) 136.08 146.67 T
2 F
(\050T7\051) 436.51 146.67 T
-0.3 (E13.) 135.07 126.17 P
0 F
-0.3 ( Given the description of a set of jobs and their timing requirements, the) 157.67 126.17 P
(student should be able to identify the periodic and aperiodic processes, to) 136.08 113.67 T
(devise an appropriate scheduling technique \050i.e. cyclic executive versus) 136.08 101.17 T
(priority-based\051 and to use rate monotonic analysis to determine if the set of) 136.08 88.67 T
(processes is schedulable.) 136.08 76.17 T
2 F
(\050T7, P4, P5, P6\051) 264.92 76.17 T
FMENDPAGE
%%EndPage: "20" 24
%%Page: "19" 24
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(19) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(P12.) 135.07 712.67 T
0 F
(Techniques for designing reliable, safe, and fault-tolerant real-time) 160.73 712.67 T
(software systems.) 136.08 700.17 T
2 F
(P13.) 135.07 679.67 T
0 F
(Methods for specifying real-time performance requirements and for) 160.73 679.67 T
(designing systems to meet these requirements.) 136.08 667.17 T
2 F
(P14.) 135.07 646.67 T
0 F
( Issues in the design of hardware/software interfaces.) 157.67 646.67 T
2 F
(P15.) 135.07 626.17 T
0 F
( Hardware/software integration.) 157.67 626.17 T
2 F
-0.8 (P16.) 135.07 605.67 P
0 F
-0.8 ( Techniques for testing real-time systems: functional, stress, unit/system) 157.67 605.67 P
(level, black box, white box, formal program proving, cleanroom, and) 136.08 593.17 T
(statistically-based testing.) 136.08 580.67 T
2 F
(P17.) 135.07 560.17 T
0 F
( Methods to measure real-time system performance.) 157.67 560.17 T
5 9 Q
(\245) 144 539.67 T
0 11 Q
(logic analyzers) 151.92 539.67 T
5 9 Q
(\245) 144 523.17 T
0 11 Q
(in-circuit emulators) 151.92 523.17 T
5 9 Q
(\245) 144 506.67 T
0 11 Q
(hardware simulators) 151.92 506.67 T
5 9 Q
(\245) 144 490.17 T
0 11 Q
(software benchmarking) 151.92 490.17 T
2 F
-0.1 (P18.) 135.07 453.17 P
0 F
-0.1 ( Verifying the reliability, safety, and fault tolerance of real-time software) 157.67 453.17 P
(systems throughout the software life cycle.) 136.08 440.67 T
2 F
(P19.) 135.07 420.17 T
0 F
( Methods to improve real-time software performance \050e.g. compiler) 157.67 420.17 T
(optimization techniques\051.) 136.08 407.67 T
2 F
(P20.) 135.07 387.17 T
0 F
( Hardware characteristics which affect response time. Ways to reduce) 157.67 387.17 T
(response times.) 136.08 374.67 T
2 F
(P21.) 135.07 354.17 T
0 F
( Trade-offs involved in selecting hardware components for real-time) 157.67 354.17 T
(systems.) 136.08 341.67 T
2 F
(P22.) 135.07 321.17 T
0 F
(Implementation of hardware/software interfaces to external devices) 160.73 321.17 T
(such as industrial machines; development of device drivers.) 136.08 308.67 T
2 12 Q
(Industrial Controls Option) 90 267 T
2 11 Q
(PP1.) 135.07 241.67 T
0 F
(Software implementation for sampling techniques.) 161.95 241.67 T
2 F
(PP2.) 135.07 221.17 T
0 F
( Software implementation of techniques to handle data representation) 158.89 221.17 T
(issues.) 136.08 208.67 T
2 F
(PP3.) 135.07 188.17 T
0 F
( Software implementation for filtering techniques and digital signal) 158.89 188.17 T
(processing applications.) 136.08 175.67 T
2 F
(PP4.) 135.07 155.17 T
0 F
( Software implementation of feedback loops.) 158.89 155.17 T
FMENDPAGE
%%EndPage: "19" 23
%%Page: "18" 23
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(18) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(A3.) 135.07 712.67 T
0 F
(Reliability, safety, and fault tolerance issues pertaining to real-time) 155.22 712.67 T
(systems.) 136.08 700.17 T
2 F
(A4.) 135.07 679.67 T
0 F
( History of real-time computing including real-world examples.) 152.17 679.67 T
2 12 Q
(Industrial Controls Option) 90 648.5 T
2 11 Q
(AA1.) 135.07 631.17 T
0 F
(Basic control theory.) 163.15 631.17 T
2 F
(AA2.) 135.07 610.67 T
0 F
(Digital signal processing \050DSP\051 and filters.) 163.15 610.67 T
5 9 Q
(\245) 144 590.17 T
0 11 Q
(Analog-to-digital conversion: sampling issues) 151.92 590.17 T
5 9 Q
(\245) 144 573.67 T
0 11 Q
(Data representation and precision) 151.92 573.67 T
2 F
(AA3.) 135.07 536.67 T
0 F
(Characteristics of basic feedback devices) 163.15 536.67 T
5 9 Q
(\245) 144 516.17 T
0 11 Q
(encoders, resolvers, other servomechanisms) 151.92 516.17 T
5 9 Q
(\245) 144 499.67 T
0 11 Q
(absolute versus relative positioning devices) 151.92 499.67 T
2 12 Q
(6.1.3) 90 449.5 T
(Software Development Practices) 129.6 449.5 T
0 11 Q
(The following topics apply to the design and development of real-time software systems. In) 90 432.17 T
-0.62 (choosing appropriate methods, the software engineer should be aware of the advantages and) 90 417.17 P
(disadvantages of applying a particular method to solve a problem in real-time computing.) 90 402.17 T
2 F
(P1.) 135.07 377.17 T
0 F
(Common misconceptions about real-time computing.) 154.62 377.17 T
2 F
(P2.) 135.07 356.67 T
0 F
(Semi-formal) 154.62 356.67 T
( methods for specifying and verifying real-time software) 213.82 356.67 T
(systems requirements and design.) 136.08 344.17 T
2 F
(P3.) 135.07 323.67 T
0 F
(Commercial tools to support requirements and design specification and) 154.62 323.67 T
(verification.) 136.08 311.17 T
2 F
(P4.) 135.07 290.67 T
0 F
(Cyclic executive solution to scheduling requirements.) 154.62 290.67 T
2 F
(P5.) 135.07 270.17 T
0 F
( Fixed priority-based solution to scheduling requirements.) 151.56 270.17 T
2 F
(P6.) 135.07 249.67 T
0 F
( Ability to understand and apply guidelines for using rate monotonic) 151.56 249.67 T
(analysis \050developed by research staff at the SEI in Pittsburgh, Pa.\051) 136.08 237.17 T
2 F
-0.42 (P7.) 135.07 216.67 P
0 F
-0.42 (Real-time software architectures: scheduling tables, compiler-generated) 154.2 216.67 P
(scheduling, Ada process model, cyclic model, and blackboards.) 136.08 204.17 T
2 F
-0.6 (P8.) 135.07 183.67 P
0 F
-0.6 ( Designing reusable, real-time software components \050e.g. object-oriented) 151.56 183.67 P
(design of real-time components\051.) 136.08 171.17 T
2 F
(P9.) 135.07 150.67 T
0 F
(Choosing and using a language for a particular real-time application.) 154.62 150.67 T
2 F
(P10.) 135.07 130.17 T
0 F
(Customizing a commercial real-time operating system versus) 160.73 130.17 T
(developing a proprietary kernel.) 136.08 117.67 T
2 F
(P11.) 135.07 97.17 T
0 F
(Techniques for designing distributed real-time software systems.) 160.73 97.17 T
FMENDPAGE
%%EndPage: "18" 22
%%Page: "17" 22
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(17) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 11 Q
0 X
(T7.) 135.07 712.67 T
0 F
(More advanced scheduling concepts and trade-offs such as:) 154 712.67 T
5 9 Q
(\245) 144 692.17 T
0 11 Q
(deterministic scheduling) 151.92 692.17 T
5 9 Q
(\245) 144 675.67 T
0 11 Q
(pre-computed versus static versus dynamic process priority) 151.92 675.67 T
5 9 Q
(\245) 144 659.17 T
0 11 Q
(predictability versus throughput) 151.92 659.17 T
5 9 Q
(\245) 144 642.67 T
0 11 Q
(periodic and aperiodic processes) 151.92 642.67 T
5 9 Q
(\245) 144 626.17 T
0 11 Q
(priority inversion) 151.92 626.17 T
5 9 Q
(\245) 144 609.67 T
0 11 Q
(rate monotonic systems/analysis) 151.92 609.67 T
2 F
(T8.) 135.07 572.67 T
0 F
(Basic concepts in the design of distributed systems such as:) 154 572.67 T
5 9 Q
(\245) 144 552.17 T
0 11 Q
(allocation of resources) 151.92 552.17 T
5 9 Q
(\245) 144 535.67 T
0 11 Q
(communication protocols) 151.92 535.67 T
5 9 Q
(\245) 144 519.17 T
0 11 Q
(concurrency control) 151.92 519.17 T
5 9 Q
(\245) 144 502.67 T
0 11 Q
(deadline scheduling) 151.92 502.67 T
5 9 Q
(\245) 144 486.17 T
0 11 Q
(distributed control algorithms) 151.92 486.17 T
5 9 Q
(\245) 144 469.67 T
0 11 Q
(latency versus throughput) 151.92 469.67 T
5 9 Q
(\245) 144 453.17 T
0 11 Q
(partitioning) 151.92 453.17 T
5 9 Q
(\245) 144 436.67 T
0 11 Q
(replication and reliability) 151.92 436.67 T
5 9 Q
(\245) 144 420.17 T
0 11 Q
(synchronization across multiple processors) 151.92 420.17 T
2 F
(T9.) 135.07 383.17 T
0 F
( How real-time and time-sharing operating systems differ.) 150.95 383.17 T
2 F
(T10.) 135.07 362.67 T
0 F
(How research and commercial real-time operating systems differ.) 160.11 362.67 T
2 F
(T11.) 135.07 342.17 T
0 F
(Languages that support real-time computing/specific features.) 160.11 342.17 T
2 F
(T12.) 135.07 321.67 T
0 F
(System performance analysis involving:) 160.11 321.67 T
5 9 Q
(\245) 144 301.17 T
0 11 Q
(CPU utilization) 151.92 301.17 T
5 9 Q
(\245) 144 284.67 T
0 11 Q
(interrupt latency) 151.92 284.67 T
5 9 Q
(\245) 144 268.17 T
0 11 Q
(memory utilization) 151.92 268.17 T
5 9 Q
(\245) 144 251.67 T
0 11 Q
(response time calculation) 151.92 251.67 T
2 12 Q
(6.1.2) 90 220.5 T
(Application Domain Knowledge) 129.6 220.5 T
0 11 Q
-0.31 (A software engineer developing real-time software systems should have knowledge in the fol-) 90 203.17 P
(lowing areas.) 90 188.17 T
2 F
-0.46 (A1.) 135.07 163.17 P
0 F
-0.46 ( Common characteristics of applications which require real-time software) 152.17 163.17 P
-0.11 (solutions. Difference between applications which require real-time solutions) 136.08 150.67 P
(and those which only require adequately fast response times.) 136.08 138.17 T
2 F
-0.84 (A2.) 135.07 117.67 P
0 F
-0.84 ( Examples of real-time application areas and their specific characteristics;) 152.17 117.67 P
(knowledge about application subdomains of the real-time domain.) 136.08 105.17 T
FMENDPAGE
%%EndPage: "17" 21
%%Page: "16" 21
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(16) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.45 (time systems are listed. The reader should note that the knowledge bases listed below are ex-) 90 712.67 P
-0 (amples. The author intends that curriculum developers modify and expand them as appropri-) 90 697.67 P
(ate for their own programs.) 90 682.67 T
2 12 Q
(6.1.1) 90 649 T
(Computing Theory) 129.6 649 T
0 11 Q
-0.53 (A software engineer needs an understanding of the following concepts to specify, design, and) 90 631.67 P
(implement software for real-time applications. Traditionally, students learn about many of) 90 616.67 T
(these concepts in computer science courses which discuss operating systems, formal speci-) 90 601.67 T
(fication methods, and distributed systems.) 90 586.67 T
2 F
-0.04 (T1.) 135.07 561.67 P
0 F
-0.04 ( Awareness of the importance of specification in the design and analysis) 150.95 561.67 P
(of real-time systems.) 136.08 549.17 T
2 F
(T2) 135.07 528.67 T
0 F
(. Classification of specification methods by development phases versus) 147.89 528.67 T
(classification by representation. Criteria for choosing a method to specify) 136.08 516.17 T
(real-time system behavior.) 136.08 503.67 T
2 F
-0.73 (T3.) 135.07 483.17 P
0 F
-0.73 ( Formal techniques) 150.95 483.17 P
-0.73 (for specifying real-time software system requirements) 245.23 483.17 P
(and design.) 136.08 470.67 T
( These methods should include the specification of timing and) 192.88 470.67 T
(concurrency requirements.) 136.08 458.17 T
2 F
(T4) 135.07 437.67 T
0 F
(.) 147.89 437.67 T
( Formal techniques for verifying real-time software system requirements) 150.95 437.67 T
(and design specifications.) 136.08 425.17 T
2 F
(T5.) 135.07 404.67 T
0 F
(Awareness of the shortcomings of existing methods for specifying real-) 154 404.67 T
(time systems behavior.) 136.08 392.17 T
2 F
(T6.) 135.07 371.67 T
0 F
( Basic operating system concepts which apply to software solutions for) 150.95 371.67 T
(real-time problems such as:) 136.08 359.17 T
5 9 Q
(\245) 144 338.67 T
0 11 Q
(asynchronous/synchronous events) 151.92 338.67 T
5 9 Q
(\245) 144 322.17 T
0 11 Q
(context switching/stack model) 151.92 322.17 T
5 9 Q
(\245) 144 305.67 T
0 11 Q
(deadlock handling and prevention) 151.92 305.67 T
5 9 Q
(\245) 144 289.17 T
0 11 Q
(exceptions and exception handling) 151.92 289.17 T
5 9 Q
(\245) 144 272.67 T
0 11 Q
(foreground/background systems) 151.92 272.67 T
5 9 Q
(\245) 144 256.17 T
0 11 Q
(interrupt-driven systems and interrupt handling) 151.92 256.17 T
5 9 Q
(\245) 144 239.67 T
0 11 Q
(intertask communication and mailboxes) 151.92 239.67 T
5 9 Q
(\245) 144 223.17 T
0 11 Q
(kernel or executive programs) 151.92 223.17 T
5 9 Q
(\245) 144 206.67 T
0 11 Q
(memory management) 151.92 206.67 T
5 9 Q
(\245) 144 190.17 T
0 11 Q
(preemptive priority systems) 151.92 190.17 T
5 9 Q
(\245) 144 173.67 T
0 11 Q
(process/task model) 151.92 173.67 T
5 9 Q
(\245) 144 157.17 T
0 11 Q
(round-robin systems) 151.92 157.17 T
5 9 Q
(\245) 144 140.67 T
0 11 Q
(scheduling) 151.92 140.67 T
5 9 Q
(\245) 144 124.17 T
0 11 Q
(synchronization of resource usage, critical regions, and semaphores) 151.92 124.17 T
5 9 Q
(\245) 144 107.67 T
0 11 Q
(timing requirements/deadline characteristics) 151.92 107.67 T
FMENDPAGE
%%EndPage: "16" 20
%%Page: "15" 20
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(15) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(As the requirements of real-time systems become more complex, the systematic design of) 90 712.67 T
(real-time systems has become an important issue, especially when safety-critical functions) 90 697.67 T
(are involved. [Mok91] Developing software for real-time embedded systems, those in which) 90 682.67 T
-0.05 (computer control is tightly coupled to electromechanical systems, is difficult and challenging.) 90 667.67 P
(Not only must this software respond in \322real-time\323 and reliably to external events, but it often) 90 652.67 T
(has to execute under severe hardware and memory constraints. In this application domain,) 90 637.67 T
-0.83 (issues of concurrency, reliability, efficiency, and software integration greatly complicate typical) 90 622.67 P
(software engineering problems. [Atkinson91]) 90 607.67 T
-0.66 (Clearly the widespread demand for software solutions to real-time problems, and the complex-) 90 582.67 P
(ities and difficulties of developing these solutions, justifies the creation of a real-time special-) 90 567.67 T
-0.2 (ization track. The primary goal of the MSE real-time specialization track is to enable students) 90 552.67 P
(to develop sufficient knowledge and skills so that they can develop high quality software for) 90 537.67 T
(real-time applications. Though courses will be specifically designed for graduate students of) 90 522.67 T
(software engineering, other undergraduate and graduate students who have sufficient back-) 90 507.67 T
(ground may also derive benefit from these courses.) 90 492.67 T
-0.12 (The first step in the specification of a specialization track is to define the requisite knowledge) 90 467.67 P
-0.47 (bases and skills that a software engineer should possess to successfully develop software so-) 90 452.67 P
-0.42 (lutions to real-time problems. The next step is to formulate educational objectives that demon-) 90 437.67 P
(strate student mastery of requisite knowledge and skills. These educational objectives are) 90 422.67 T
(then mapped to existing or new courses.) 90 407.67 T
-0.31 (The main idea is to determine that the proposed set of courses enable the student to gain the) 90 382.67 P
(specified knowledge and skills. The specifier of a track might use a table to determine cover-) 90 367.67 T
-0.76 (age. In the example below, indices help the developer of the track to trace the knowledge base) 90 352.67 P
(items to the educational objectives and the educational objectives to the courses.) 90 337.67 T
-0 (The reader should refer to Appendix A for a list of researchers, faculty, and administrators in) 90 312.67 P
-0.09 (the CMU community who are interested in real-time computing. A real-time track team of fac-) 90 297.67 P
(ulty and administrators currently exists to develop the initial courses for the real-time track.) 90 282.67 T
-0.26 (Four core real-time courses will be offered during the 16-month MSE program. Students may) 90 267.67 P
(take other real-time courses or complete real-time independent studies related to real-time) 90 252.67 T
(computing.) 90 237.67 T
-0.3 (Further specialization in subdomain areas such as multimedia applications, real-time commu-) 90 212.67 P
-0.19 (nications, real-time operating systems, or industrial controls may be offered as options within) 90 197.67 P
-0.75 (the real-time track. This example defines an industrial controls option within the real-time track.) 90 182.67 P
2 12 Q
(6.1) 90 149 T
(Requisite Knowledge Bases and Skills) 122.4 149 T
0 11 Q
-0.2 (Designers of high-quality, real-time software systems use a combination of computing theory) 90 126.67 P
-0.61 (and domain knowledge. They also apply practical software development techniques to design) 90 111.67 P
(and implement these systems. Only those knowledge bases which apply specifically to real-) 90 96.67 T
FMENDPAGE
%%EndPage: "15" 19
%%Page: "14" 19
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(14) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(6) 90 710.67 T
(Example: Development of a Real-Time Track) 129.6 710.67 T
0 11 Q
-0.14 (First, the developer of a track should define the application domain and demonstrate the soft-) 90 678.67 P
(ware development needs for applications in this domain. The required skills should be suffi-) 90 663.67 T
(ciently complex that they cannot easily be learned on the job.) 90 648.67 T
-0.5 (The domain of real-time applications include applications whose computing requirements can) 90 623.67 P
-0.28 (be met by real-time systems. Burns and Welling cite the following definition of a real-time sys-) 90 608.67 P
(tem.) 90 593.67 T
0.15 (Any system in which the time at which output is produced is significant. This) 133.92 568.67 P
0.23 (is usually because the input corresponds to some movement in the physical) 133.92 556.17 P
-0.61 (world, and the output has to relate to that same movement. The lag from input) 133.92 543.67 P
(time to output time must be sufficiently small for acceptable timeliness.) 133.92 531.17 T
-0.25 (Burns and Welling further explain that timeliness depends on the context of the application: a) 90 510.67 P
-0.23 (missile guidance system output is required within a few milliseconds, whereas response time) 90 495.67 P
-0.04 (for a computer-controlled car assembly line may be required only within a second. [Burns90]) 90 480.67 P
(Laplante adds the risk of a failed system by defining a real-time system as:) 90 455.67 T
1.23 (A system that must satisfy explicit \050bounded\051 response-time constraints or) 133.92 430.67 P
(risk severe consequences, including failure.) 133.92 418.17 T
-0.04 (He explains that any system in which response times are restrained and predictable are real-) 90 397.67 P
(time systems. In this sense, most practical systems are real-time applications. [Laplante93]) 90 382.67 T
4 F
-0.33 (Soft) 90 357.67 P
0 F
-0.33 (real-time systems are systems whose performance is degraded but not destroyed by fail-) 112.27 357.67 P
-0.42 (ure to meet response time constraints. Soft real-time commercial systems, such as automatic) 90 342.67 P
(banking and airline reservations systems, are designed to provide fast response time but do) 90 327.67 T
(not fail if response time is delayed. Hard real-time systems, those required for industrial, sci-) 90 312.67 T
(entific, and military applications, are characterized by strict time conditions that must not be) 90 297.67 T
(violated under any circumstances. [Halang90]) 90 282.67 T
(Laplante defines the term) 90 257.67 T
4 F
( firm) 213.97 257.67 T
0 F
( real-time system as a system in which the low probability of) 235.33 257.67 T
-0.25 (missing a hard \050strict\051 deadline can be tolerated. [Laplante93] A data acquisition system for a) 90 242.67 P
-0.07 (process control application may be firm if it is defined to sample an input sensor at regular in-) 90 227.67 P
(tervals but can tolerate intermittent delays.) 90 212.67 T
(The importance of) 90 187.67 T
4 F
(hard) 181.59 187.67 T
0 F
( real-time systems used for machine control, air traffic control, air de-) 203.58 187.67 T
-0.22 (fense systems, and control and safety systems of nuclear power plants, is rapidly increasing.) 90 172.67 P
-0.06 ([Halang90] End-use applications of real-time computers span a spectrum that includes trans-) 90 157.67 P
(portation systems, robotics and manufacturing, aerospace and defense, industrial process) 90 142.67 T
-0.74 (control, and telecommunications. [van Tilborg 91] The real-time track for the MSE program will) 90 127.67 P
-0.61 (focus on the specification and development of software solutions to hard and firm real-time ap-) 90 112.67 P
(plications.) 90 97.67 T
FMENDPAGE
%%EndPage: "14" 18
%%Page: "13" 18
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(13) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 12 Q
0 X
(5.4) 90 712 T
(Suggest Appropriate Applications) 122.4 712 T
0 11 Q
(The last step is to suggest applications appropriate for individual or team projects.) 90 689.67 T
(The TAP-D model is based on the idea that a software engineer applies domain-specific) 90 664.67 T
-0.36 (knowledge, computing theory, and software development practices to the design of high qual-) 90 649.67 P
(ity software for a particular application. Therefore, a specialization track should provide stu-) 90 634.67 T
(dents the opportunity to develop a major software system for an application in the) 90 619.67 T
(specialization area.) 90 604.67 T
-0.05 (A significant software development project can be completed as a course assignment, as an) 90 579.67 P
-0.76 (independent software development project taken as an elective, or through a large-scale team) 90 564.67 P
-0.13 (project. One major component of the MSE program is the team-oriented studio project which) 90 549.67 P
(spans sixteen months. The designers of specialization tracks should work with the studio co-) 90 534.67 T
(ordinator to arrange appropriate studio projects for students following particular tracks. Stu-) 90 519.67 T
(dents would then form teams with classmates in the same track.) 90 504.67 T
-0.52 (The MSE studio project covers most phases of the software life cycle from requirements spec-) 90 479.67 P
(ification to product release. Ideally, students will hone their domain-specific skills by working) 90 464.67 T
(on a studio project related to their specialization areas. These skills should become part of) 90 449.67 T
(each student\325s software engineering tool box; and products resulting from the studio experi-) 90 434.67 T
(ence should become significant artifacts in a student\325s software portfolio.) 90 419.67 T
FMENDPAGE
%%EndPage: "13" 17
%%Page: "12" 17
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(12) 530.01 53.66 T
90 72 540 720 R
7 X
V
4 11 Q
0 X
(Example 2:) 90 712.67 T
0 F
-0.81 (Given a text description of the requirements for a real-time application, the student will formally) 90 687.67 P
(model the requirements of the application. The accomplishment of this objective can once) 90 672.67 T
-0.78 (again be measured by giving the student a text description of the application requirements and) 90 657.67 P
(evaluating the student\325s model.) 90 642.67 T
2 12 Q
(5.3) 90 609 T
(Map the Educational Objectives to Courses) 122.4 609 T
0 11 Q
(Next, map the educational objectives to a set of courses that fit within the time frame of the) 90 586.67 T
(program of study.) 90 571.67 T
(Elective courses in the graduate software engineering program can provide application do-) 90 546.67 T
-0.31 (main knowledge. Examples given through lectures and class assignments for these electives) 90 531.67 P
(help students to understand and apply theoretical concepts and techniques to the design of) 90 516.67 T
-0.79 (software for the chosen application. At least one elective course, independent study, or project) 90 501.67 P
(course should require the student to design and implement application software.) 90 486.67 T
-0.33 (Theories and methods presented in the graduate program core courses may apply to applica-) 90 461.67 P
(tions in the domain. In this case, application examples could be presented in a core course.) 90 446.67 T
(For instance, the designer of a specialization track for the MSE program should discuss the) 90 431.67 T
-0.26 (proposed educational objectives for the track with other members of the MSE faculty to deter-) 90 416.67 P
(mine if some of these objectives could be integrated with MSE core course objectives.) 90 401.67 T
-0.54 (If educational objectives cannot be met by existing courses, then the designer of the track can) 90 376.67 P
(propose new courses, or modifications to existing courses, to cover these objectives. For in-) 90 361.67 T
-0.04 (stance, a survey course may introduce a wide variety of topics related to the development of) 90 346.67 P
(software for the application area. Armed with a general understanding of these topics, stu-) 90 331.67 T
-0.4 (dents are better equipped to explore these or other related topics in more detail. In addition, a) 90 316.67 P
(survey course is an appropriate place for guest lectures by people with experience in devel-) 90 301.67 T
(oping software for the application area.) 90 286.67 T
-0.33 (The designer of a specialization track must consider course availability. Due to conflicting fac-) 90 261.67 P
(ulty commitments and insufficient student demand, some courses may not be offered every) 90 246.67 T
-0.26 (year. In this case, the specification for a track should include alternative courses. Faculty affil-) 90 231.67 P
-0.7 (iated with the Software Engineering Institute \050SEI\051 should be encouraged to tape their courses) 90 216.67 P
-0.19 (so that students could view tapes of courses which are not being offered during the student\325s) 90 201.67 P
-0.12 (residency at CMU. Credit via independent studies may be given for viewing tapes from a pre-) 90 186.67 P
-0.77 (viously offered course. But the student should be required to submit one or more reports, other) 90 171.67 P
-0.67 (written assignments, or programming projects to demonstrate comprehension of the concepts) 90 156.67 P
(presented in the tapes. If possible, the instructor giving the taped lectures should supervise) 90 141.67 T
(the independent study.) 90 126.67 T
FMENDPAGE
%%EndPage: "12" 16
%%Page: "11" 16
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(11) 530.01 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(5) 90 710.67 T
(A Structured Approach to Defining a Specialization Track) 129.6 710.67 T
0 10 Q
-0.59 (Defining a specialization track is a sequential process. This process should adhere to basic educational) 90 679.33 P
(principles. The main idea is to specify behavioral objectives that clearly state what the student should) 90 665.33 T
-0.14 (be able to do after successfully completing the track. The following subsections outline the process by) 90 651.33 P
(which a developer can apply the TAP-D model to define a specialization track.) 90 637.33 T
2 12 Q
(5.1) 90 604 T
(Define the Requisite Knowledge and Skills) 122.4 604 T
0 11 Q
-0.49 (The first step is to define the knowledge and skills needed by software engineers building soft-) 90 581.67 P
(ware systems for the target application.) 90 566.67 T
-0.82 (Apply the TAP-D model shown above to categorize the required knowledge and skills into their) 90 541.67 P
-0.21 (component knowledge bases. Remember that the theoretical understandings, application do-) 90 526.67 P
-0.35 (main knowledge, and practical skills should be those needed to develop) 90 511.67 P
4 F
-0.35 (high quality) 437.86 511.67 P
0 F
-0.35 (software) 495.78 511.67 P
(for a particular application.) 90 496.67 T
2 12 Q
(5.2) 90 463 T
(Formulate Educational Objectives) 122.4 463 T
0 11 Q
(The next step is to formulate educational objectives based on the identified skills.) 90 440.67 T
-0.19 (Objectives should be behavioral in the sense that they should clearly define the way in which) 90 415.67 P
-0.61 (students will be expected to demonstrate the target skills. For example, an overall educational) 90 400.67 P
-0.09 (goal may be to have the student understand and apply formal specification methods suitable) 90 385.67 P
-0.33 (for real-time applications. The knowledge base is a set of ways to model requirements of real-) 90 370.67 P
(time applications software.) 90 355.67 T
(The first example below is a behavioral objective to demonstrate that a student understands) 90 330.67 T
(a set of specification methods.) 90 315.67 T
4 F
(Example 1:) 90 290.67 T
0 F
-0.38 (Given text descriptions of the requirements of various real-time systems, the student will iden-) 90 265.67 P
-0.46 (tify appropriate specification method\050s\051 for each application and explain why the chosen spec-) 90 250.67 P
(ification method\050s\051 is\050are\051 appropriate for the corresponding application.) 90 235.67 T
-0.53 (The accomplishment of this objective can be measured by giving the student text descriptions) 90 210.67 P
-0.34 (of requirements of real-time applications and evaluating the student\325s selections and explana-) 90 195.67 P
-0.65 (tions. Of course, the student would be expected to recognize a case in which none of the spec-) 90 180.67 P
(ification methods studied in class were appropriate for a particular application.) 90 165.67 T
-0.61 (The next example is a behavioral objective to determine a student\325s ability to apply knowledge) 90 140.67 P
(about specification methods.) 90 125.67 T
FMENDPAGE
%%EndPage: "11" 15
%%Page: "10" 15
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(10) 530.01 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.34 (in the domain. Consider, for instance, the use of Petri Nets for specifying timing constraints in) 90 712.67 P
(real-time systems.) 90 699.67 T
(Application domain knowledge \050) 90 668.67 T
2 F
(A) 245.09 668.67 T
0 F
(\051 includes non-computer related theoretical and practical) 253.03 668.67 T
(knowledge drawn from the application area. An example is digital signal processing theory) 90 655.67 T
-0.48 (used in the design of industrial controllers. Likewise, an understanding of geometry and linear) 90 642.67 P
(algebra is helpful to develop computer graphics algorithms. An understanding of the) 90 629.67 T
(psychology of learning is required for the development of computer-based tutors.) 90 616.67 T
-0.8 (Practice \050) 90 585.67 P
2 F
-0.8 (P) 135.59 585.67 P
0 F
-0.8 (\051 refers to software development techniques geared to the application domain, e.g.,) 142.92 585.67 P
(the use of commercial tools to support specification and design of real-time systems.) 90 572.67 T
-0.25 (Software developers apply domain knowledge, computing theory, and software development) 90 541.67 P
(techniques to specify, design, and evaluate software for a particular application. The use of) 90 528.67 T
-0.49 (knowledge from one of the component bases affects the use of knowledge from another base.) 90 515.67 P
(For instance, a software engineer formally specifying the requirements of a motorized) 90 484.67 T
-0.55 (wheelchair for the blind may realize that no one has defined what the software should do if the) 90 471.67 P
(motor which powers the chair stops running. After speaking to experts in the use of mobile) 90 458.67 T
(devices for the handicapped, the developer determines that the speech and vision systems) 90 445.67 T
(should continue to monitor the surrounding environment, should notify the user of the power) 90 432.67 T
(failure, and should activate emergency flashing lights.) 90 419.67 T
-0.18 (In this case, the interaction between theoretical and domain knowledge \050the formal model for) 90 388.67 P
(specifying requirements and expertise in mobile vehicles for the handicapped\051 produced a) 90 375.67 T
(more complete solution. In the process of trying to completely specify the actions of the) 90 362.67 T
(motorized wheelchair, the software engineer identified incomplete domain knowledge and) 90 349.67 T
(worked to fill in the missing pieces.) 90 336.67 T
(The builder of a track must first define the computer-related theory, application domain) 90 305.67 T
(knowledge, and practical software development techniques needed to develop software for) 90 292.67 T
-0.32 (applications in the specialization area. This is not as simple as it may seem. The builder must) 90 279.67 P
(not only be knowledgeable in the application domain but must also be well informed about) 90 266.67 T
(advances in state-of-the-art computing theory and software development techniques.) 90 253.67 T
FMENDPAGE
%%EndPage: "10" 14
%%Page: "9" 14
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(9) 535 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(4) 90 710.67 T
(Component Knowledge Bases: The TAP-D Model) 129.6 710.67 T
2 11 Q
(3) 455.34 716.27 T
(Figure 4-1: The TAP-D Model) 238.39 318.67 T
2 18 Q
(T) 90 271 T
(-) 117 271 T
2 12 Q
( Theory) 122.99 271 T
2 18 Q
(A) 90 245 T
(-) 117 245 T
2 12 Q
( Application Domain Knowledge) 122.99 245 T
2 18 Q
(P) 90 219 T
(-) 117 219 T
2 12 Q
(Practice) 127.99 219 T
2 18 Q
(D) 90 193 T
(-) 117 193 T
2 12 Q
( Development of a Software System for a Particular Application) 122.99 193 T
0 11 Q
-0.84 (In the TAP-D model, the \050) 90 167.67 P
2 F
-0.84 (T) 210.36 167.67 P
0 F
-0.84 (\051 represents computing theory which can be used to solve problems) 217.07 167.67 P
90 146.27 540 155.24 C
90 146.27 540 155.24 R
7 X
0 K
V
90 153.23 243 153.23 2 L
V
0.5 H
2 Z
0 X
N
0 0 612 792 C
0 7 Q
0 X
0 K
(3.) 90 141.6 T
0 9 Q
0.06 (The idea of using a triangular structure to model three interacting components which contribute to the actual-) 108 138 P
-0.11 (ization of the center component was inspired by Bonnie John\325s model for Human-Computer Interaction \050HCI\051.) 108 127 P
0.06 (In her model, interactions between the human, the available computer technology, and the task influence the) 108 116 P
(design of a human-computer interface. [John92]) 108 105 T
90 72 540 720 C
117 346 513 706 C
466.46 426.38 478 423.07 466.46 419.76 466.46 423.07 4 Y
0 X
0 K
V
156.54 419.76 145 423.07 156.54 426.38 156.54 423.07 4 Y
V
466.46 423.07 156.54 423.07 2 L
0.5 H
0 Z
N
315.05 632.35 324.99 639.07 320.12 628.1 317.59 630.23 4 Y
V
154.94 429.8 145 423.08 149.87 434.05 152.41 431.92 4 Y
V
317.59 630.23 152.41 431.91 2 L
N
328.89 627.72 324.99 639.07 334.31 631.51 331.6 629.62 4 Y
V
473.86 434.35 477.98 423.08 468.51 430.45 471.18 432.4 4 Y
V
331.61 629.61 397 535.07 471.2 432.39 3 L
N
2 20 Q
(A) 316 648.07 T
(D) 316 504.07 T
(T) 136 396.07 T
(P) 478 396.07 T
155.79 425.32 144 423.08 152.81 431.23 154.3 428.27 4 Y
V
294.21 501.83 305.99 504.08 297.18 495.93 295.7 498.88 4 Y
V
154.3 428.26 295.7 498.87 2 L
N
351.14 495.27 342.99 504.08 354.57 500.93 352.86 498.1 4 Y
V
469.83 431.89 477.98 423.08 466.4 426.23 468.12 429.06 4 Y
V
352.86 498.09 468.14 429.05 2 L
N
321.69 627.53 325 639.07 328.31 627.53 325 627.53 4 Y
V
328.31 542.6 325 531.07 321.69 542.6 325 542.6 4 Y
V
325 627.53 325 542.6 2 L
N
90 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "9" 13
%%Page: "8" 13
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(8) 535 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.55 (Therefore, a specialization track could feasibly include at most six prescribed) 133.92 712.67 P
-0.47 (12-unit courses. It may also be appropriate to require at most four prescribed) 133.92 700.17 P
(12-unit courses and allow the student to select related courses and) 133.92 687.67 T
(independent studies for the remaining electives. Students could pursue) 133.92 675.17 T
(studies beyond the required 54-72 elective units.) 133.92 662.67 T
FMENDPAGE
%%EndPage: "8" 12
%%Page: "7" 12
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(7) 535 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(3) 90 710.67 T
(Selecting Specialization Areas to Become Tracks) 129.6 710.67 T
0 11 Q
-0.44 (In choosing a specialization area suitable for a track, the developer should consider the indus-) 90 678.67 P
-0.08 (trial need for expert knowledge in this area, the career goals of current students, and the req-) 90 663.67 P
(uisite resources. Requisite resources include those needed to teach courses, to direct) 90 648.67 T
(independent studies, and to provide appropriate software development projects.) 90 633.67 T
-0.71 (The following guidelines for selecting specialization areas consider not only the external indus-) 90 608.67 P
-0.26 (trial demands but also the internal structure of the organization offering the track. Each guide-) 90 593.67 P
(line is followed by a short explanation of its meaning and significance.) 90 578.67 T
2 12 Q
(Guidelines for Selecting Specialization Tracks) 90 553 T
4 11 Q
(1.) 118.8 527.67 T
-0.68 (The application domain knowledge and/or computer related knowledge need-) 133.92 527.67 P
(ed to design software for an application in the proposed area cannot be) 133.92 515.17 T
(learned by interviewing experts in the specialization area or by taking one) 133.92 502.67 T
(training course.) 133.92 490.17 T
0 F
(A specialization track should provide students with extensive application) 133.92 469.67 T
-0.83 (domain and computer-related knowledge that cannot be learned easily on the) 133.92 457.17 P
(job.) 133.92 444.67 T
4 F
(2.) 118.8 424.17 T
-0.22 (The application domain knowledge is significantly different from that of other) 133.92 424.17 P
(existing specialization areas.) 133.92 411.67 T
0 F
(Proposed areas whose applications significantly overlap the applications of) 133.92 391.17 T
-0.44 (other areas should be consolidated to decrease the planning efforts. Options) 133.92 378.67 P
(for further specialization within a track can be offered.) 133.92 366.17 T
-0.33 (For instance, the domain of real-time applications includes the subdomain of) 133.92 345.67 P
(industrial control applications. A real-time specialization track could be a) 133.92 333.17 T
(prescribed set of courses. Additional or alternative courses and an) 133.92 320.67 T
(appropriate project could serve as an optional specialization in industrial) 133.92 308.17 T
(control applications within the real-time track.) 133.92 295.67 T
4 F
(3.) 118.8 275.17 T
(There are faculty or guest lecturers from industry with expertise in the) 133.92 275.17 T
(specialization area and with an interest in teaching the proposed courses.) 133.92 262.67 T
0 F
-0.05 (Obviously, a specialization area cannot be offered if there are no instructors) 133.92 242.17 P
(available to teach the proposed courses.) 133.92 229.67 T
4 F
(4.) 118.8 209.17 T
(The proposed sequence of specialization track courses should provide the) 133.92 209.17 T
-0.28 (student sufficient background to design software for applications in the area.) 133.92 196.67 P
0 F
-0.76 (More will be said about this in the section about component knowledge bases.) 133.92 176.17 P
4 F
(5.) 118.8 155.67 T
(The courses should fit into the time frame of the graduate program.) 133.92 155.67 T
0 F
(The MSE program consists of core courses, electives, and a studio project.) 133.92 135.17 T
-0.39 (An MSE student takes a minimum of 6 full-semester, 9-12 unit electives for a) 133.92 122.67 P
-0.53 (total of 54-72 credit units. Those students who do not need to take a directive) 133.92 110.17 P
(for remedial study during the first fall semester take 7 electives for a total of) 133.92 97.67 T
(63-84 credit units.) 133.92 85.17 T
FMENDPAGE
%%EndPage: "7" 11
%%Page: "6" 11
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(6) 535 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(inventories, production schedules, delivery dates, cost, etc.\051 to streamline production and) 90 712.67 T
-0.44 (improve productivity. A CIM track may not fit into the time frame of the MSE program of study,) 90 699.67 P
(but a track in CAD/CAM may be feasible.) 90 686.67 T
(Student interests and goals as well as industrial trends are important in the selection of) 90 655.67 T
(specialization areas. The customer of any graduate software engineering program is the) 90 642.67 T
(student and, if one exists, an employer funding the student\325s education. Ideally, it should be) 90 629.67 T
-0.09 (possible to design a specialization track for an individual student. Tracks based on emerging) 90 616.67 P
-0.52 (technologies and on expertise in high demand by industry strengthen the career development) 90 603.67 P
(of students looking for specialization areas.) 90 590.67 T
FMENDPAGE
%%EndPage: "6" 10
%%Page: "5" 10
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(5) 535 53.66 T
90 72 540 720 R
7 X
V
2 12 Q
0 X
(Specialization Areas with Demands for Software Engineering) 90 712 T
0 11 Q
(Problem-Based Application Domains:) 90 680.67 T
5 12 Q
(\245) 126 649.67 T
0 11 Q
(Biomedical engineering applications) 136.08 649.67 T
5 12 Q
(\245) 126 631.17 T
0 11 Q
(Computer-Aided Design and Computer-Aided Manufacturing \050CAD/CAM\051) 136.08 631.17 T
5 12 Q
(\245) 126 612.67 T
0 11 Q
(Computer-Integrated Manufacturing \050CIM\051) 136.08 612.67 T
5 12 Q
(\245) 126 594.17 T
0 11 Q
(Industrial controls) 136.08 594.17 T
5 12 Q
(\245) 126 575.67 T
0 11 Q
(Industrial management) 136.08 575.67 T
5 12 Q
(\245) 126 557.17 T
0 11 Q
(Management of Information Systems \050MIS\051) 136.08 557.17 T
5 12 Q
(\245) 126 538.67 T
0 11 Q
(Real-time applications) 136.08 538.67 T
5 12 Q
(\245) 126 520.17 T
0 11 Q
(Robotics) 136.08 520.17 T
5 12 Q
(\245) 126 501.67 T
0 11 Q
(Speech and vision systems) 136.08 501.67 T
5 12 Q
(\245) 126 483.17 T
0 11 Q
(Telecommunications) 136.08 483.17 T
(Solution-Based Application Domains:) 90 438.67 T
5 12 Q
(\245) 126 407.67 T
0 11 Q
(Artificial intelligence \050expert systems and neural nets\051) 136.08 407.67 T
5 12 Q
(\245) 126 389.17 T
0 11 Q
(Computer graphics) 136.08 389.17 T
5 12 Q
(\245) 126 370.67 T
0 11 Q
(Human-Computer Interaction \050HCI\051) 136.08 370.67 T
5 12 Q
(\245) 126 352.17 T
0 11 Q
(Large-scale distributed systems/distributed processing) 136.08 352.17 T
5 12 Q
(\245) 126 333.67 T
0 11 Q
(Database technologies) 136.08 333.67 T
5 12 Q
(\245) 126 315.17 T
0 11 Q
(Multimedia technologies) 136.08 315.17 T
5 12 Q
(\245) 126 296.67 T
0 11 Q
(Networking and communications) 136.08 296.67 T
5 12 Q
(\245) 126 278.17 T
0 11 Q
(Parallel processing) 136.08 278.17 T
5 12 Q
(\245) 126 259.67 T
0 11 Q
(Scientific computing) 136.08 259.67 T
(Applications may belong to more than one area of specialization, and major issues may be) 90 209.17 T
-0.89 (important to more than one specialization area. For instance, industrial control applications are) 90 196.17 P
(in the domains of real-time applications and of CIM. CAD/CAM is a subdomain of both the) 90 183.17 T
-0.81 (computer graphics and CIM domains, and applications from many specialization areas involve) 90 170.17 P
-0.75 (HCI issues. The human-computer interface is particularly important in the design of CAD/CAM) 90 157.17 P
(software tools.) 90 144.17 T
(The scope of a specialization area may be too broad to develop as a track. In that case, a) 90 113.17 T
(subset of the specialization area may be more appropriate. Computer-integrated) 90 100.17 T
(manufacturing links all information related to manufacturing \050sales projections, sales orders,) 90 87.17 T
FMENDPAGE
%%EndPage: "5" 9
%%Page: "4" 9
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(4) 535 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(2) 90 710.67 T
(Identifying Potential Specialization Areas) 129.6 710.67 T
0 11 Q
(Identifying application domains with high industrial demand for software is accomplished) 90 678.67 T
-0.09 (through ongoing awareness not only of technological advances but also of the current status) 90 663.67 P
(of the software industry. Some sources of information about current and future needs in the) 90 648.67 T
(information services and technologies industries \050particularly applications software\051 are indi-) 90 633.67 T
-0.54 (cated in the next section. One should reference a number of sources to form an accurate view) 90 618.67 P
(of the demand for application expertise in the software industry.) 90 603.67 T
-0.25 (As was mentioned earlier, application domains can be based on the use of specific computer) 90 578.67 P
-0.83 (technologies or they can be based on problems with common requirements and solutions. The) 90 563.67 P
-0.24 (key is to identify areas of expertise that cannot easily be learned on the job. In addition, there) 90 548.67 P
-0.38 (should be considerable industrial demand for the expertise and student interest in the special-) 90 533.67 P
(ization area.) 90 518.67 T
2 12 Q
(Sources of Information about Application Software Needs) 90 493 T
5 F
(\245) 126 467.67 T
0 11 Q
(ACM and IEEE publications) 136.08 467.67 T
5 12 Q
(\245) 126 449.17 T
0 11 Q
(Advertisements for employment) 136.08 449.17 T
5 12 Q
(\245) 126 430.67 T
4 11 Q
(Business Week) 136.08 430.67 T
5 12 Q
(\245) 126 412.17 T
0 11 Q
(Conference proceedings) 136.08 412.17 T
5 12 Q
(\245) 126 393.67 T
4 11 Q
(Datamation) 136.08 393.67 T
5 12 Q
(\245) 126 375.17 T
0 11 Q
(Employers of MSE students) 136.08 375.17 T
5 12 Q
(\245) 126 356.67 T
0 11 Q
(Government reports) 136.08 356.67 T
5 12 Q
(\245) 126 338.17 T
0 11 Q
(Industrial reports) 136.08 338.17 T
5 12 Q
(\245) 126 319.67 T
0 11 Q
(Knowledge of emerging technologies that need software support) 136.08 319.67 T
5 12 Q
(\245) 126 301.17 T
0 11 Q
(Local industry) 136.08 301.17 T
5 12 Q
(\245) 126 282.67 T
0 11 Q
(Student interests and goals) 136.08 282.67 T
5 12 Q
(\245) 126 264.17 T
0 11 Q
(Technical journals) 136.08 264.17 T
5 12 Q
(\245) 126 245.67 T
0 11 Q
(Technical reports) 136.08 245.67 T
5 12 Q
(\245) 126 227.17 T
0 11 Q
(Technical seminars) 136.08 227.17 T
5 12 Q
(\245) 126 208.67 T
0 11 Q
(Trade journals) 136.08 208.67 T
5 12 Q
(\245) 126 190.17 T
0 11 Q
(Trade magazines) 136.08 190.17 T
5 12 Q
(\245) 126 171.67 T
4 11 Q
(Wall Street Journal) 136.08 171.67 T
0 F
-0 (Some specialization areas with demands for software engineering and domain expertise are) 90 127.17 P
-0.04 (listed below. Application areas are grouped by the type of application domain: as either \0501\051 a) 90 112.17 P
(problem-based domain of applications or \0502\051 a solution-based domain.) 90 97.17 T
FMENDPAGE
%%EndPage: "4" 8
%%Page: "3" 8
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(3) 535 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
-0.79 (engineering but also in a particular application area. The opportunity to pursue a specialization) 90 712.67 P
(track should therefore enhance the value of a graduate software engineering program.) 90 699.67 T
(Hopefully, companies will be more willing to fund the graduate education of employees who) 90 686.67 T
(propose to follow a specialization track which matches the needs of the company.) 90 673.67 T
(In an article about training at Texas Instruments, Moore and Freeman discuss Texas) 90 642.67 T
(Instruments\325 desire for software engineering graduates knowledgeable in real-time) 90 629.67 T
-0.17 (applications. The company\325s Defense Systems and Electronics Group \050DSEG\051 has identified) 90 616.67 P
-0.05 (the understanding of basic real-time systems concepts to be essential to the development of) 90 603.67 P
(software for defense contracts which provide a majority of its work. After assessing the) 90 590.67 T
-0.75 (background and capabilities of 250 newly hired software engineers, DSEG found that very few) 90 577.67 P
-0.31 (had any course work which covered embedded real-time systems. DSEG recommended that) 90 564.67 P
-0.09 (universities help by offering elective courses in real-time design and programming that cover) 90 551.67 P
(the basic concepts of real-time computing.) 90 538.67 T
-0.26 (Furthermore, Moore and Freeman suggest that on-the-job training \050OJT\051 is not always a very) 90 507.67 P
(good means of learning information. They say that OJT tends to be hit-or-miss, is not well) 90 494.67 T
-0.31 (organized, and is often incomplete. They also suggest that it may take an employee longer to) 90 481.67 P
(learn fundamental concepts through OJT than by taking a course about these topics. The) 90 468.67 T
(DSEG\325s awareness of these shortcomings has led to the creation of training courses to) 90 455.67 T
(replace OJT. [Moore88]) 90 442.67 T
-0.46 (The purpose of this report is to specify a goal-oriented process to help a curriculum developer) 90 411.67 P
-0.48 (identify and design a specialization track for a graduate program in software engineering. The) 90 398.67 P
(goal of this process is the creation of specialization tracks which \0501\051 enable students to) 90 385.67 T
(develop sufficient domain-specific knowledge and skills, \0502\051 are geared towards emerging) 90 372.67 T
(technologies and industrial demands, and \0503\051 meet student interests and career objectives.) 90 359.67 T
-0.42 (The author intends that this report will direct the creation of specialization tracks in the Master) 90 328.67 P
-0.1 (of Software Engineering \050MSE\051 program at Carnegie Mellon University \050CMU\051. The real-time) 90 315.67 P
-0 (track example and the numerous references to real-time applications are the foundations for) 90 302.67 P
-0.24 (the implementation of a real-time track in the MSE program. The real-time track should serve) 90 289.67 P
(as a model for the development of other MSE tracks.) 90 276.67 T
90 115.27 540 124.24 C
90 115.27 540 124.24 R
7 X
0 K
V
90 122.23 243 122.23 2 L
V
0.5 H
2 Z
0 X
N
0 0 612 792 C
0 7 Q
0 X
0 K
(2.) 90 110.6 T
0 9 Q
0.46 (Guisbond based her article for Computerworld on interviews with directors and managers of recruiting firms) 108 107 P
0.67 (and information systems departments. At the time Guisbond\324s article was written, Steve McMahan was the) 108 96 P
(managing director at the Boston office of the recruiting firm Source EDP. [Guisbond90]) 108 85 T
FMENDPAGE
%%EndPage: "3" 7
%%Page: "2" 7
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(2) 535 53.66 T
90 72 540 720 R
7 X
V
0 11 Q
0 X
(A) 90 712.67 T
4 F
(specialization track) 100.38 712.67 T
0 F
( is a directed course of study in which one or more graduate software) 193.18 712.67 T
(engineering students accumulate and apply knowledge geared towards a chosen domain of) 90 697.67 T
(applications. For example, a student might specialize in software for factory control applica-) 90 682.67 T
-0.33 (tions. Factory control applications are within the real-time domain. Another student may be in-) 90 667.67 P
(terested in a more general study of real-time systems. More will be said later about the) 90 652.67 T
(selection of an) 90 637.67 T
4 F
(application domain) 163.89 637.67 T
0 F
( for a) 255.49 637.67 T
4 F
(specialization track) 283.58 637.67 T
0 F
(.) 376.38 637.67 T
-0.33 (In her discussion of computing education for the 1990\325s and beyond, Mary Shaw identifies an) 90 612.67 P
-0.35 (industrial demand for computer specialists with core expertise in computer science as well as) 90 599.67 P
-0.23 (in a specialty area such as architecture, astronomy, chemistry, or psychology. She describes) 90 586.67 P
(the need for joint degree programs which not only enable students to develop core) 90 573.67 T
-0.69 (competency in computer science and another field but which also integrate the two fields. One) 90 560.67 P
(way she says this can be done is by teaching specific computational models and selected) 90 547.67 T
-0.4 (techniques from areas of computer science which depend on relevant applications in the joint) 90 534.67 P
(field. [Shaw90]) 90 521.67 T
(In a similar manner, tracks in a graduate software engineering program enable students to) 90 490.67 T
-0.05 (develop expertise in specialization areas as well as in software engineering. A) 90 477.67 P
4 F
-0.05 (specialization) 471.05 477.67 P
(track) 90 464.67 T
0 F
( integrates the computing theory and practice with the application domain knowledge) 113.81 464.67 T
(needed to develop domain-specific software.) 90 451.67 T
(Because of the increase in software applications and the growing emphasis on quality and) 90 420.67 T
-0.83 (productivity, companies producing applications software prefer to hire software engineers who) 90 407.67 P
-0.05 (already have domain knowledge and software engineering skills. It is expected that software) 90 394.67 P
(engineering graduates who pursue a specialization track should have better employment) 90 381.67 T
(prospects than software engineers who do not.) 90 368.67 T
(In a 1987 article published in) 90 337.67 T
4 F
(Computerworld) 232.9 337.67 T
0 F
(, Allman surveyed hiring trends for computer-) 307.38 337.67 T
(related research and development positions. She reported that companies prefer to hire) 90 324.67 T
-0.88 (people) 90 311.67 P
-0.88 ( who have graduate educations and can easily become specialists in a company\325s area) 126.04 311.67 P
(of interest. According to Allman, staffing personnel at Sandia National Laboratories in) 90 298.67 T
(Albuquerque, New Mexico, seek people with interdisciplinary backgrounds in computer) 90 285.67 T
-0 (engineering or computer science and mathematics. Sandia needs people with both software) 90 272.67 P
(development and mathematical expertise to develop computational and cryptographic) 90 259.67 T
(systems. [Allman87]) 90 246.67 T
-0.78 (The trend in specialization seems to be holding for the 1990\325s. Despite layoffs and downsizing,) 90 215.67 P
(high-tech companies in Massachusetts seek people who are hands-on, sharp, individual) 90 202.67 T
(contributors with specialized skills, wrote Guisbond in a 1990) 90 189.67 T
4 F
(Computerworld) 388.58 189.67 T
0 F
( article.) 463.05 189.67 T
-0.83 (McMahan, a recruiting director quoted in Guisbond\325s article, states that those being sought are) 90 176.67 P
(people with substantial experience in relational databases, workstation software, graphical) 90 163.67 T
-0.33 (user interfaces, software engineering, and applications programming in C.) 90 150.67 P
-0.33 (He thinks it is very) 449.46 150.67 P
(important that people, early on in their careers, pick an area of specialization and develop in-) 90 137.67 T
(depth skills in that area.) 90 121.6 T
0 9 Q
(2) 205.41 126 T
0 11 Q
(The offering of specialization tracks in a graduate software engineering program is a value-) 90 90.6 T
(added feature. The student not only acquires expertise in the principles of software) 90 77.6 T
FMENDPAGE
%%EndPage: "2" 6
%%Page: "1" 6
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 46.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(1) 535 53.66 T
90 72 540 720 R
7 X
V
2 14 Q
0 X
(TAP-D: A Model for Developing Specialization Tracks in Graduate) 97.29 710.67 T
(Software Engineering Education) 193.98 693.33 T
(1) 90 658.67 T
(The Purpose of Specialization Tracks) 129.6 658.67 T
0 11 Q
-0.66 (There is an increasing demand for software engineers who are experts in developing software) 90 626.67 P
(for specific types of applications. For instance, the software engineer designing software to) 90 611.67 T
(control a motor that powers a piece of machinery needs some understanding of the motor\325s) 90 596.67 T
-0.22 (servo system and of the way in which analog signals from a motor can be represented as dis-) 90 581.67 P
(crete data in a computer. A software engineer designing the software to manage large data-) 90 566.67 T
(bases for the NASA Space Station needs specific knowledge about database models, the) 90 551.67 T
-0.68 (types of data stored for a long-term space vehicle, and the ways in which this data will be used.) 90 536.67 P
(The author uses the term) 90 511.67 T
4 F
(application domain) 215.79 511.67 T
0 F
( to denote a set of applications with common) 307.39 511.67 T
(properties that dictate the type of software designed for applications in the domain. For in-) 90 496.67 T
(stance, the software to control a machine on a factory floor is different from the software to) 90 481.67 T
-0.43 (manipulate large databases. Software that directs the movement of a lathe performs complex) 90 466.67 P
-0.14 (mathematical calculations and communicates with custom hardware; whereas database soft-) 90 451.67 P
-0.65 (ware involves algorithms to format, correlate, and store data efficiently as well as to guarantee) 90 436.67 P
(data consistency and integrity.) 90 421.67 T
0 9 Q
(1) 237.78 426.07 T
0 11 Q
(One can define) 90 396.67 T
4 F
(application domains) 167.56 396.67 T
0 F
( by the problems to be solved \050applications with similar) 264.65 396.67 T
(requirements and common solutions\051 or by the solutions \050computer technology which is ap-) 90 381.67 T
(plied\051. In the previous examples, the domain of machine control applications includes those) 90 366.67 T
(applications with basic motor control requirements.) 90 351.67 T
( On the other hand, the domain of data-) 339.72 351.67 T
-0.5 (base applications involves problems which are solved using database technology. An) 90 336.67 P
4 F
-0.5 (applica-) 501.54 336.67 P
(tion subdomain) 90 321.67 T
0 F
(is a subset of the applications in a particular domain. The set of problems) 167.55 321.67 T
(solved using distributed databases is a subdomain of the database domain.) 90 306.67 T
-0.05 (The professional work environment seldom provides software engineers sufficient time to ac-) 90 281.67 P
-0.61 (quire in-depth domain-specific knowledge. In the case of the solution-based domains, the soft-) 90 266.67 P
-0.19 (ware engineer becomes an expert by developing a thorough understanding of the underlying) 90 251.67 P
-0.45 (computer technology and its application. Software engineers with expertise in problem-based) 90 236.67 P
(domains have in-depth knowledge about the requirements and software solutions for prob-) 90 221.67 T
-0.1 (lems in the application domain. For instance, software engineers must understand basic con-) 90 206.67 P
-0.66 (trol theory essential to the movement of factory automation equipment before they can specify) 90 191.67 P
(and design software for machine control.) 90 176.67 T
90 158.53 540 167.51 C
90 158.53 540 167.51 R
7 X
0 K
V
90 165.49 243 165.49 2 L
V
0.5 H
2 Z
0 X
N
0 0 612 792 C
0 7 Q
0 X
0 K
(1.) 90 153.87 T
0 9 Q
-0.34 (An) 108 150.27 P
4 F
-0.34 (application domain) 121.15 150.27 P
0 F
-0.34 ( refers to a set of applications with common properties and characteristics which require) 195.74 150.27 P
-0.36 (similar software solutions.) 108 139.27 P
4 F
-0.36 (Application domain knowledge) 212.29 139.27 P
0 F
-0.36 ( then refers to specific knowledge that a software en-) 332.95 139.27 P
-0.16 (gineer needs to develop software for applications which are members of a particular domain. For instance, an) 108 128.27 P
-0.22 (understanding of strict timing constraints is needed to develop suitable scheduling algorithms for real-time ap-) 108 117.27 P
(plications.) 108 106.27 T
FMENDPAGE
%%EndPage: "1" 5
%%Page: "ii" 5
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 42.67 540 63.67 R
V
90 59.66 540 63.67 C
90 59.66 540 63.67 R
7 X
0 K
V
90 62.66 594 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 53.66 T
(ii) 530.03 53.66 T
90 72 540 720 R
7 X
V
2 16 Q
0 X
(List of Tables) 90 709.33 T
2 12 Q
(Table 6-1:) 106.99 678 T
0 F
(Real-Time Track: List of Courses) 180 678 T
(24) 526.66 678 T
2 F
(Table 6-2:) 106.99 664 T
0 F
(Industrial Controls Option: List of Courses) 180 664 T
(26) 526.66 664 T
2 F
(Table A-1:) 106.99 650 T
0 F
(List of Researchers and Administrators) 180 650 T
(35) 526.66 650 T
FMENDPAGE
%%EndPage: "ii" 4
%%Page: "i" 4
612 792 0 FMBEGINPAGE
90 746 540 756 R
7 X
0 K
V
90 42.67 540 63.67 R
V
90 53.66 540 63.67 C
90 53.66 540 63.67 R
7 X
0 K
V
90 62.66 559.01 62.66 2 L
V
0.03 H
2 Z
0 X
N
0 0 612 792 C
0 9 Q
0 X
0 K
(CMU-CS-93-181) 90 47.66 T
(i) 538.01 47.66 T
90 72 540 720 R
7 X
V
2 16 Q
0 X
(Table of Contents) 90 709.33 T
2 11 Q
(1) 90 678.67 T
(The Purpose of Specialization Tracks) 117 678.67 T
(1) 533.89 678.67 T
(2) 90 650.67 T
(Identifying Potential Specialization Areas) 117 650.67 T
(4) 533.89 650.67 T
(3) 90 621.67 T
(Selecting Specialization Areas to Become Tracks) 117 621.67 T
(7) 533.89 621.67 T
(4) 90 592.67 T
(Component Knowledge Bases: The TAP-D Model) 117 592.67 T
(9) 533.89 592.67 T
(5) 90 563.67 T
(A Structured Approach to Defining a Specialization Track) 117 563.67 T
(11) 527.78 563.67 T
0 F
(5.1) 103.03 549.67 T
(Define the Requisite Knowledge and Skills) 129.6 549.67 T
(11) 527.78 549.67 T
(5.2) 103.03 535.67 T
(Formulate Educational Objectives) 129.6 535.67 T
(11) 527.78 535.67 T
(5.3) 103.03 521.67 T
(Map the Educational Objectives to Courses) 129.6 521.67 T
(12) 527.78 521.67 T
(5.4) 103.03 507.67 T
(Suggest Appropriate Applications) 129.6 507.67 T
(13) 527.78 507.67 T
2 F
(6) 90 478.67 T
(Example: Development of a Real-Time Track) 117 478.67 T
(14) 527.78 478.67 T
0 F
(6.1) 103.03 464.67 T
(Requisite Knowledge Bases and Skills) 129.6 464.67 T
(15) 527.78 464.67 T
(6.2) 103.03 450.67 T
(Educational Objectives) 129.6 450.67 T
(20) 527.78 450.67 T
(6.3) 103.03 436.67 T
(Outline of Courses) 129.6 436.67 T
(23) 527.78 436.67 T
(6.4) 103.03 422.67 T
(Applications for Independent Study or Team Projects) 129.6 422.67 T
(27) 527.78 422.67 T
2 F
(7) 90 393.67 T
(Conclusions and Guidelines for Administrating Specialization Tracks) 117 393.67 T
(29) 527.78 393.67 T
(8) 90 364.67 T
(References) 117 364.67 T
(33) 527.78 364.67 T
(Appendix A) 90 332.67 T
(35) 527.78 332.67 T
FMENDPAGE
%%EndPage: "i" 3
%%Page: "3" 3
612 792 0 FMBEGINPAGE
FMENDPAGE
%%EndPage: "3" 2
%%Page: "2" 2
612 792 0 FMBEGINPAGE
2 10 Q
0 X
0 K
(Keywords:) 72 79.33 T
0 F
( Real-time applications, software engineering education, and specialization tracks.) 123.09 79.33 T
FMENDPAGE
%%EndPage: "2" 1
%%Page: "1" 1
612 792 0 FMBEGINPAGE
1 12 Q
0 X
0 K
(T) 162.48 594 T
(AP-D: A Model for Developing Specialization T) 169.59 594 T
(racks) 421.54 594 T
(in Graduate Softwar) 189.83 580 T
(e Engineering Education) 295.55 580 T
3 10 Q
(Carol L. Hoover) 273.11 539.33 T
(July 1993) 286.43 527.33 T
(CMU-CS-93-181) 271.02 515.33 T
(School of Computer Science) 248.68 465.33 T
(Carnegie Mellon University) 249.93 453.33 T
(Pittsbur) 251.71 441.33 T
(gh, P) 282.64 441.33 T
(A 15213-3890) 302.27 441.33 T
1 11 Q
(Abstract) 285.56 374.67 T
0 10 Q
(There is an increasing demand for application-specific software. For example, the software to control a) 72 349.33 T
(machine on a factory floor is different from the software to manipulate large databases. The software) 72 337.33 T
-0.3 (engineer building software to control a motor that powers a piece of machinery needs some understanding) 72 325.33 P
(of the motor\325s servo system; whereas a software engineer who designs the software to manage large) 72 313.33 T
(databases for the NASA Space Station needs specific knowledge about database models as well as the) 72 301.33 T
(types of data handled on a long-term space vehicle. Specialization tracks within the Master of Software) 72 289.33 T
(Engineering \050MSE\051 Program at Carnegie Mellon University would enable students to gain application) 72 277.33 T
(knowledge while developing fundamental software engineering skills. This report proposes a model for) 72 265.33 T
(establishing specialization tracks within a graduate software engineering program.) 72 253.33 T
FMENDPAGE
%%EndPage: "1" 0
%%Trailer
%%BoundingBox: 0 0 612 792
%%Pages: 42 -1
%%DocumentFonts: Helvetica
%%+ Times-Bold
%%+ Helvetica-Bold
%%+ Times-Roman
%%+ Helvetica-Oblique
%%+ Palatino-Roman