Home
View/Open - Calhoun: The NPS
Contents
1. E ne AI ern MOMS o Bye n N IRAN D Ad A efie A tbe AAA uat wem odore idet S VES e Abd gt ORAT of Bt hi radi SU uiis P GC E A de oe P O AAA NT La AR Gn eS dran e MAS At nad Ong Mo t ante fe ty yea fs dius Uo ALMA A pfi Mer Ne een BASE AAA Sy Mle ee f 5 dee P Dag SANE Bean Si ge N AD fon Pih e A ODARE vol pi dH mol Pek gt AMA ATA 18 60 RUBLE tod Pati Fo AD Be hatte ok neto fat BEG AIO melo HIP EN elus fe en e DIAS 2 2 ER AR AFA M dii AA Ba ds VI Ts PM AR ee te AN AS berg geregelte QR MOR Fal Erde EEN EIA Mk ARALAR tl qnl BLD EE pan AAA ih o 2 D MIA On Mg Morven sta ter Nor Senf the he ne lyrae TB Me uso de nck gt Jic Wer Ua n hu Ro As cio EE Rtn PARA A UA eios geg LE AOL OT BOYA ME ofi a SA e PAPA aps Fo if Red v
2. JP ca ya aa e a BEEN E LM D D a H CH LIAE van a Powe wwe e LE arer e M s d a s gts en gt ef e lt a CH ere er sayr Gs s ze fe os a nr ee KH Ld gt a Ld a e e e e ee At gt vum a ta ae s gt rl v v ow eos e nn win ewer me 2 cdi e i z Ser ef er e oy o ea E aa o E gt a D eo oe e e pue 5 hf Ped H 6 v ELE r gt e o e gt e o o D a a Li D hos wee e e I4 a LI LI gt avs ya H a L LI lt D a B e gt A e ee ae E a e e E PP o wm z n y E ww y se e a lt vg s ow 2 E e D D LI Lad a e e e ms em ep a q PA A o hd ee LL B D LA ane Ld e e P E us x LI r D P 4 m sa M H ee Y S LAU es gt P 9 4 anm ater Pgs aw ken e S Sw LJ x p e Lo ke B we 92 y e wwe weg e g mp Hee E E
3. v I TE ee DALI AN e 0 ita te fia ha tate H HI PAR beth 4 vr IO mp il 7 d Sg p SZ See Teen 5 90 wi 42 prt TED Vr ee ABR O YUE Weg TIA TEURER Et Werken un ru m v un e amt Ga d Las ye new tet oa fep Besen A ovy qur IP Your our an Ud See Zon apa va iom oa oim gione gu Der NOR Y 2 yw betel si titi det A hik alin itan 06 5 CUP ecw eT 2 We O vp 4 H e nr D d ne ran en Pras FETTE WHE 1 27 Ai bad TI ern IN USER EIER 00 1 72 AA 1 0 Y we i Da rw ac Fhguy m vt ww wen Ja uer egtacuuy een var Bee A Eege ie ew e VR TOM fain 96 lke 59 Da we vU UE qty ns Oni E MA ge ouk gt on dr m NUS n D Ka s vire Pot aci cw qe TWIG rare AT AAA CIA IA M AW WEE Yer ai gem Pier ep e ed M dr po utin N ehren 0 ET y deg TE nme ee P TEEN EEE Ve QU F en A swa diri TUN woo eg 10559736 tw i i v gt x i
4. na eum dra sr gt ben LS Ma E Be At S bed an Ss pe oA Ule Sy apr ondas DNA he A is a Myrna eyin En ee en E NO fi nut en nik 2 a w oJ adea Soaps um i k a ge Ze S Se tee ab rm rug gt iugis DO HN Ra Se RR et nn o e a a wiet al P 2 at s Re OP E K BE ate tr A D Mur LE gt aut gt aoaia UE e apar 4 e Mae 4 E t Derm ny Ane De AA eR As A e Samy Fr api vec mn A Dalm u m m Cela ote my 2 ats 7 mu e vm 2 iw SIA Toa b a dr m vr ns ef vn wee aire e DEA v te Zi mp aa eet ef sf ng die en oA vif all Lad gt Ae e a gt m is 4 Alben e A AA bo EN ADI S A ne a e gf vr AN ON a AAA AAA 2n Ay em d a gt Wen ARMES LL w r UA ra vm Bette ATE pue ee PRAP y cl Jer pr ut tam Dr De Ll 07 9 Ls SL AN 4 We O
5. AS Mate c chill d IDA TEE bebe Ims e Aca At cea aa dt sdi ole NM PW air ge Rit s e aa cm Rt Re DT e OR Dn Rp dem ante BE amo ET Me CH re imul BGP BOLE yt af Mdh ME o fpa o ee helt Bo ets SP ta A A m dr 75 Cy amp rac DAD Ay Aetio sor Ba uM d d gen DR de Hecate tup se Pr Pa rdum D Pg tt odi am al o E aco ont toni mm o pl Mond ot A elf TEE A BNP a uio APF of Ki IA Mo m E pa a gt Ah irs rt c e Be tre Met SHR gt it Ao d podr eos metus y Is shots Pium e IA ULA nens ADA DAA AE AAA E ohn FE afa Eta USA PO E TO II A DI de S R A tet ez Mop ED A im 4 se A gt DW BER bapa Ae tate ah te Er date ty MA Rep Be thy Mey Mr hst CR Neve 22 4 A aA le lo A adit N api An MR ZA x AMPA Pat on eu Vuoi OR GO PA tale A 7 ot nmm voa a e 2 M mer ger esf Borne E he Serie ame Bee Ze Ser eat ho
6. gt N The A ANA Me My o ENS My Qt MR o Arc AA Pa UR A ho n he OE u a A TONO Ls o ADS ON A oti IIA SPD LISI hs mp o Roe en te ABP de A 4 al Its M um Ve fA ai Pub S TR Bebe 7 Aufl ro e 1 2 gt Wt DTO A Mn STIR SAREE Hu inp y Va en en nn Carta owe on Dr 9 MENA E pac e AO api wr bat Bee SO an FO cda Vu IO O O Moo lo peut ve PPM ANA 7 A astu ego og Augu ero 2 ahr te la T FE Ps Y HP NERO Ros N ee Ny Ar gen FEN dei inet Osea Pa rro ve a d PN Th he o Roggen Agde s Pt apt Amparo CA Room Rapt OR rA ort tie 4 eg Atos et edel E E o CAI wher die a Ma Th O A o ei ah ale ndum mei e ete Ah n Arte ae AM Mal o Ae A Kor ATM Aided ga Mat wo Toa MD o MO EA PARE ARAS O os OB AAA AA MA ARA A ANA AO UR CA fer M rupe PP apm DA 9 AGA AS nn d Qe i CA I Ara a A fb On Be Ate By Le Re ds Mp natin ap
7. BUSY EOS 47 us a o tmu qo ging Mos tr on AE a min nn o S J TI e y Dr hr e id 9 IO arem amp ger A II e 406 d P P eo V uo M gt A geet HU u T D D D D ee Wei Mae NEL Mere oe vean H g o P o proi Ta gee bi d Pe puo grip ny Ds 2 qus o am el QU dias ye ag et 00 PUBLI ge ET 9 9 E kk 2 wer New wo e sis 2 owe sr SZ S s re Wer ot rui ER a NV e d OC ann an EN up rum pun uo e m u Sees tort Wie e it we Sw o v H O ae s ze H dw Us vw 45 OST eae eva ts 777 FOE oo e 4 Wb CER tl dr v SU Hi 7 ye UU apr Boot r AA AAA 4 m vs en H gt wu i D e 2 ro We ss u er wer s BEI In re grau ora PLA pe rra y PO OO EIE y M Te te wur dl e vos L vw o e E me west poorer 4 SZ ar eres rooms Duro MB ae SES ET gr ee Y Pa CH AD ved d D as s L 4 4 D gan e Sd do aequ U r 642 MAN On UP
8. ru iire yr OUP uo ga PU P Gr aque EEE PU PIN ne i M ED VE t rar mes i ew oa Fr a OETA UA ae y Ol amo Tv n di 0 p WP FS OTe yo Le vn EEE TE TED ET gro greene ET TEE Cu EE wo 1 ro ef M ar mn T 7 Gen WYE ar PT rg nur Ur a T eror TERN TEE e Vo m ER oye ve P arf os Ty 09 u YEU TER Kg La FO Se hi D van bah ort y v 4 E gt lt ww 174 vg e U hao h a W S 1 A 696 FS a EI i al op 7 pep Bo yop wA Troy CEPA de os page Endet Arte EEE vcr P TWIN UU PvP we LI A Kl Dy wt tr vie a H ws A rar e rs AR LIN Menge AN Tir er AEN GOO WHR epa geb Pr a imei VEIT lg 1 teed gt 09 id UE TEN STEM aes OH u neat LIS H wow s ta e Le 4 vo Zeen WEI doo e o qug NR a vy p h yg Vivari de Tu We ng vr ow o IT TEE purga vou pre KEE IP IS IV rera CUN wovon ad ILEANA e PVP I Pei Ka det LAA e to ANO Ke ai iw y Los Li E wet mp e e ET cm S groen Mia A
9. eg E TEE ESO pend p dt oh uias AE ET nid A 22 RETTET he Muy amp AA 2 pee bebe qu DARAN Ar A RA VIE RAY A a A SOLAS A re e IMA ty ij dp gd P aial Pat Ms ARALAR E BR RUM A Aj P AMAIA ARA ARIAS A UNEN A A aie ER A H edu heo u E auf Nolte Be Be SAN Ney e d AE AD Ve eren Me on Ra RR Ae A Meee stay 222 S e NR Nea Orth ee P np IVA Sn aD fr em e a ae Ra lt OE SAO E HR migrat ALAN Rt Air i P TE 94 oh Beton nnd atin Aro PAULA Ia Lagos gilt he Ra Aue q agp iz af lo Ao So Dm area rae ne A Dh Benn De ARA Bara my e evan TS SUNG Vo fertur A LAB a sint I sam coi ees go P cs ole E mE AS eap Moa am ien uo Du E oh MU om POIS A Mta e e dei rr Rf Ben Me p IN e Y te ie icd n Zoe zeng Drar rd ow ba Ne Satin pd iius ei p My Nu Bette o A lr PTA O o Peg AMA e cai ARM E o D Role FARE ame we Ff troi T 460 dais Pr ON
10. af oa od E VI A IRI vm i H ts he Senn p pee Notes Yos Pty Da tne agatha tats mei tig Ree ebe eens N ye in ee Quo Rp Bate Lon S PERPE aon ud Lo arm it uff Maa Lo ees t ol Cm 44 w om vu el Ngm Me a DES ter TR Whale nasi ze MT Boy P c P v a afta atri adios irn edle gt Haa pt __ 7 fo vete IA As w Yu Me ME Lo de a hull hs we Die z Debt ru Osan nt GeO Mes o Mti a gt A ati tte ee ATAR a OE nn m P De at agn gt UT MER v deat ade wn T Tot mt A qu gu gar im dy rra Mons qe Ta rn pr ntes Vs mm cog te e ap ET ET ve epe etr wt ve la te oe ema dapi or Nh hdi Las o rap 8 gt A Af Bez rm e Greet Qu 48 es Wen ifii Aes qtd con IO le ah or P La P ma pono ran UBA A PR A ors ato B ots de go ee t a oll nt EI LAA as a E d ara gt Bar gt gt gt vut Ay deg gt Lnd Nec gt e NEG AO ge B ar 4 DA mA rege m Pens ARIAS Arad ren t A cnp tae 7 Pto T
11. Bryn G0 RATO AI A IA A RRA iow 6274 A 7 w 0 ef a A Ee EEN 1 7492 TULGO EE qo A wid ds e P MLB ner gr pt pq ao a pa Pg ay 2 5 A Y A Y Y en a Th q YY DE ARCU mich y er 4 L LE v u mw O v ver 4 1 Poser w See UNUM EH O Ee qua nn rer ad guys TRETEN ao etes 7 two nee pal gr PLU qm AA VO tvi vob ped a 0 679 Seq ry Wt AGA IO LAU TE ht EA Li E y 2 i Ereren ee m INC er Ue wg ug it e e wh ves Durs Ge dria phare vo D Lar CPUS vp UID 447 OF st VA ro ar gen Parar NEE IONS e ch Sg 62 UR 69742 BA op Ni E DC OE ER e eat ww v ie Y a e ai wa m 09 A rd ed tee ge Ae ve ER EEE CTI DEZE weg Eegen a GEO EE EC RAT M P WON a Me v vr UN A bl 4 H W A e died d LN TET vUW e ed via eT PRI BV EIN gene d P am sarete i qne pt BUIN deng gt 295 820 r A
12. gt gt AP Win 4 he RD MO Abr Ae 1 id Rn Se CU B rer er ps te Lava pr Mtis gt T porn Ue me ai rp FAM ar if aA I wa eme il BALL ni ea ANE DA AMAR ART EARNS e A AMALIA Tm our ege m fei dip odes ute 5 ANACO DH APT tay gengt at 4 FERN MAA OF aM ter ly I qe Aen Rr Soe e AAA a OA Mich CIN A Me o oU iO Ad Po os GAM Retin enis A wg het E MEINER daa gi VRR lt li Nm a DA CH ALSO Wit Quite Ue 1 ro Pr DA Y ce Dt s CCU At AUR a a s 18 4 u e diio ip men ARS A A ee Sea AeA ATI Bac ARA es MS AAA Ae UTI do Aiacis Wer gt Rer IO RA Ld irato Ar BB FP FARR TE MO ny et gg Pha nalis da AAA DL Sulis iq mon DA IE IES Mer A At E E Ac NNI be GA A NL de ANI 0 rf e mi
13. E IR Ur EEE Re eiTe 9 mass EEE FUR A Ts AA V Pw A lat AMIGA ER Fa AO DE TEE VR wR ne Pere gt gt L vied ba wor ra a Ste CPs Ore wc woe FTN ERY I gard Degen e verse uir OBL PS UP o SFR EE UA caga gogo RETTEN DEU ar Regen Wie 42 A v re a Wr e D ya a wy X X 3 x vg UM wir SR e i e 00 50007 DUI MET we air pas e OURS er CUBAN gu Ar WO Hy Fess Tu cw Fal v RP WHY RLY A P CH ure na 99074 LI 17 D i m Oe as hd ap o My Tony 4 div cw uy be OF e rir on vara uut Ca Uo oq QU oes Pus shrine PS Ua 09A PV WEN EDER Ce y NOS eno y ra vf 4 me 14 vun bid gest rure ED SY ee tw re A tede mr ron Z er EIA Y e ET pis gr qe Wily As 57 b 427 ter gt L a H w i ALI It GeO SEED GA KK CPR t dr HET eng WUE CEs TEE Meh ra d Pos ey me ee EI is pU nw cw Ne a Ze os b E Mer 4 0 FU VER Jh di Cat Sander
14. hb tie ME FE A ir Avo Got Oa Date a cuo 2 EA EI bebes sib Kam at Bohn en a abu asd t eodd din aga oy 2 0 KR Ser LM D OA A r de Arta De repent PA mms A ALE AE eati CERT oni dala os IF ug ut o ade gie zd ruolo Aa Mm ante mh RL dree a oe Br e fec Qe Ve ET en gs dow Se amie na e 4 O ALAS ed FON Ab TEEN CAI maar A EP Pt IO Ret Aig Pay Bn a me SIA AA es MI ARA AA api ER A AA Y APP ath IMA ul UA A AS ANS A e ath De mal 4 t ptr 4 TRA finto AA he REN RT AT edm mai Sale A Kate iens ne in Ben Ad anin Tanoa SD Ae RATS Ub cna a iN P A i a AE A A a P 20 NS Loud M eA usi Ann a ASA DRA Deia eh RUND Ami Meet Ee RER Kn SP lag o e e ore Dg ty Lada Aus ts rn yu gue tici nn O
15. mo ped Maa wy An i 1 4 FALL eme re Vet pP Nae ete p LISTA 27544424259 v OF BF diuo ge wendy Up a gu PEETI MP aigu d O un rn VA IAE y D tote e 7 4 ome iiA on um IY Oe AA kd us x d LI po e vo Fw urs e LR get eor oH qo Ty De cire ivt anri TURNA we JUS Gran t P rn AUS Sp sy TE UA p cal vi VI pot we ne d nn a te 6 092 67 we em wi ws 19 000 RIESEN LD eee UU e o OP gt de de poo py A E V sv OF hy CECE MU HS men da cs ER SHR Fe omo paw wu y Vv URAN 08 da v x 4 L i rd E ats Sn ad gn WEY ide e quien io e wo 0 Va ae wars ins Quo GU ur o FPG PA Gips uide 78 08 SOR I Py UR Oy Cary Ji TU UR 7 78 Ta HL Jel c Pu eee oN AW vy Ah rer nes Lab nie wor TE re een ALA p gr ce msn nn On gg E fra peior prune ples Vw Sa vri E a R at T ET s a NE ye ere MORTE Rech 1 fy vv we m ur E 4 mo 8 v erp TREUE dy
16. Aur e MO a DD o Da SE raf on tin 9 But m eMe 2 da To pe a one Meg ze De A di Re ws u as Gee dur e gt ef As aln Papia e ne se wo m wis Tes PEA 2 4 Se za Rey tee esf EEE us qr MS eg ar Drau gt m Lr Ld a i ge na a eg D zw 1 0 ho di M ot Nee Be he fue re Ee t D en ao ym anta me ar 4 A a ene wt ats Hoe dh gt a A e pie m edi cod uo e Wahn ART Y ie Za ariete Ver e m gr Ct te ow Vo qutt api m pam Poen up taa a vt Dh Mem AAA SA PA 7 uk afe at du gt gt Wira Sy H e un SOM A M ch gt TEENS Pe ap pa e n ger tam ED m hc A Ae ee ef gengt ud o LI Ld s t Oy ABIGAIL rl a ferto AN om Oe IA S we cm Fo aille f wn SP IR te us uos vmm un emp re e e gf 9 ow fmt q e a Pd A E Tue gu as MWe ho LE sc hebes me A u ne a p U Ae CE gr o SNE A PAD et EE LI e 7 4 LL ow J ia
17. D D gt WITT 4 2 TEC PEW Urat a E am arr aru rum Me ME EE D D E Se e sr ev ere 4 E si s ud ab ot gt ii PN se gt Ze gt LJ Ze wre y a gt POE 7 audet desc ee gt a anar eec We x b L e e e u y Am rer ren e D 4 were se e ap gege deu Eege e da ac run ee E e Ze e 0 9 99e w ge m Ja MP P wees w GER Den un D EN is lt M lt ie E T sa gege Re v ery aso P ET T ib eh vnus e mq x O s Ld eg TRUM qr m t wee a D D ree what op mp y DAYA AAA O wt be gat pt gt LEN no at oe 1 4 E H sop f v 49 D so he O va fo 0 qu er po een EN pn tuo tue eA m gt ungen c MEM t H t oe 1 e D D a o Mele 9 erg Wh quoq c V ep ng dp A Pe do mi qt uq e ap tees v gt e 4 d e
18. rf et o ma o gt EI H 3 y gate 9 gt gt 2 2 1737 lt inea At ed Joar ty ge Ra T Pop e Se Lief a APTE e ta a mr o Gw m atr gt oot EI dp P ame ge it 6 Poe 4 P gt E a hr gt ER Ae BETEN vm O ied ls UL gt Yv EEE a P al ap o m gf P y A yr gh I Oy m e gt a cm es APIs an Dg w en E Te Ma mili far BEM an ymmo oom 2 SL Pd n i Duet wie ad e ety ae ud Oe Rete Reip NET A ot oae al i ut Momma 8 rt mo Y LA aM sica tet ech ul amo gt tea gt gt gt 1 ne DB Jd pipan pa me mde M De A tee te y mr AA tO FU MASA 5 en A DATA es as oralio UI Put Ap gt e utes mm Me a wa emp Rom bp gal erf D nag ca FR Rare my ee AS ali idi A gt set ale LIE IA ai e o mar Jr ai dad I oe et de y ob t a 9M 9 794 ah nn ES Ae gt a Om I AE omen Se mene NN We Pra e ois eK Rete KEE al
19. Dart M ANA So QU TALE AE mod A mom edi modo DIAM EC 69 060 AT Flut AN o APL SE 21 itr diea d ida Maa uem met LA 4 QR e di o9 ONG Pg 4 Er ty Ya e dpt Mn Ag at nup i Rr f ED A A AAN ee Ter eg A pen A ANSIA eher a uod no Ge om verteilen U beide Wr PUNA erh NA 7 4 A As A Sc horn n FoR a e Our Ae Cte oa toe te TEE En ue ke M fro AF vm MP Mam 07 eel Rr 28 2 iub um ud deo rod geom mh metet ML A dim oui eed At t ag e Ai 7 aer e Padi a i xs dili xe car Vana dech Mb e ir Pt AA SA e to TEN TAP yh ua Ne 4 222 we Ry ARO MA Ae y DRA a ag s 5 d ic et e Geet Ped eee Barm pupil oot gii Ay ee A EI du ee gt min A aA A vite bas Loba D Zeche ch 35 De Che Ka 0 Se Orr Bert Ae Nuke Meaty Sa an 2 Wl Oda Rete va lentus IN
20. Oy Be OUO ci AP a a A APS RT rit EE on Alti end Sud Sail BaP Pai a b OT gage REA O 5 ME RR er e Arte Aa WR de AA AA hee Mu o DAD ARA AE Bo GA Vs Foo BONNE Sube he w ARA Rare AAA ma a RR gegen DE RR AS ARO AA Ao Aes gt E LL AA ENDE Pres Pat e aya Of o SERT hy d B RA E SCT MRA A AM er Ae cq 6 78 Phe A Pha he f Dd Bh Pu Aria Be Ne Su Be Po No ala en a te baits R0 sep aon Gram mem si ot AARP REE AO B RIA AN p edi e ut gebuere bg IA AGO A e AAA dian GD oan AA A aM ue E AS mab hn tant y Aly ae d E ASA AA e t gil A th de gt et D ap ofi AA AAR PR HSB Becks TD On o BI Mi Ort A PA Ren P MM Rast a na LE uli met Al cobra Era 4 BU AA MAEM RPE Dane SEAM Man AR Mon POI MD m DAS Cm emos DOG Ne Ms tenn A A WL gt wl Ry 2504 08 Be Cita mA hy Be ar Se Ra o MA me str Deo a wa ge AA RARO odis art ch bacc toe HB RE ANE Po Ren RETTEN rt Al IP UAE RP oae a ef BA A
21. This is an English description of the operator END IMPLEMENTATION tuple tumor desc map from string to real OPERATOR IMPLEMENTATION GRAPH patient chart EXTERNAL tuple get tumor desc tumor location EX TERNAL map fetch diameter map fetch 4ms gt EXTERNAL td tuple get tumor desc l1 ms map fetch DATA STREAM td tumor desc CONTROL CONSTRAINTS OPERATOR map fetch EXCEPTIONS no tumor IF not map has tumor location td END Figure 6 PSDL Data Type Specification and Implementation 3 The CAPS Process There are four major elements in the CAPS process prototype design construction execution and debugging modification The initial step called prototype design actually takes place outside CAPS The purpose of CAPS is not to design a system but rather to test and validate that design Construction takes place in the user interface portion of the system while execution takes place in the 14 execution support system Debugging and modification requires action n both the user interface and execution support systems a Prototype Design The design of the prototype starts with an analysis of the problem and a decision as to what part or parts of the proposed system are to be prototyped Then requirements for the prototype are generated These requirements are usually written in English but could be specified in a more formal notation Example requirements given in English taken from the hyperthermia examp
22. VK ae ZS eegen dees 5 e gu aa qr m E ode geg D ve u e Is oT re a e EEN EE NEE ure D OPD rne n ap ode e A p u P a na oe e D D s LI ep e yb e op undi wh gh d 2 e al E a E Z D ane al gt Na eM d i a ue e nu dv AW Soe t e e wP a es e 6 za hu sls DEP wn page p We gt mam mon 4 u a E e E H a o E ev D oy o my ja ege van e Rem qu m d LII bad e oe we Li we y oom d vor e i D hd e E D a E ns PME er P wa er Ld gt Ze gt s Parr P o LI am gt El gt urn M H H D t a 9 9 LII gt nn 8 Wes 77 ns u 1 y LI D gt hdd Ad y v Ld we gt ees 4 Pr oon gt nr pu ox e a m o 9e e u ei A Ae iue d e LA hd ce D e p s gt e ar D c e ig ER he e a atas pm a pet E DI
23. vili CAPS DDB DFD DOD DON ESS GE MCP MET MRT PSDL SDE LIST OF ABBREVIATIONS Computer Aided Prototyping System Design Database Data Flow Diagram Department of Defense Department of the Navy Dynamic Scheduler Execution Support System Graphic Editor Minimum Calling Period Maximum Execution Time Maximum Response Time Prototype System Description Language Software Base Syntax Directed Editor Translator User Interface I INTRODUCTION Over the last twenty years advancements in computer hardware have far exceeded those in software development This software crisis must be resolved if improved performance of systems is expected Ref 7 p 11 The most significant problem is that the users of the software systems often do not understand software engineering and the software engineers do not understand the needs of the users As a result poor requirements analysis often leads to an improper design In the traditional software engineering paradigm testing of the system is done only after coding is complete This results in much wasted effort as improper specifications are coded An alternate approach to software engineering is prototyping In this method a model of the eventual program is quickly constructed and tested The goal is to evaluate the design of the system and make modifications 1f necessary before the coding is started Ref 2 p 69 One system that implements the prototyping method
24. wer aire TE LED 9 ro gu Ot NAO Fhe AD yew gt ayer yv qw ren em ur usse php qp poa DOI Ci a 0G Ach ATRAS Aen A E EEN Ee e gt ur vr M Yo wa LF H Sa wur A o pe yt epo ew mer ON gps vv VO ER TE y LLO POE Y CR Po ES UP qud 00 sql tiro EE US Ay oda 4 UR wd twi ATi pe E ri UE e be et ET ET AA AAA dd o va ri ei re de p Gir pup 0 Qro sot qe ipt Uit po Qui QR gu pe t ge onde ro Ania BIE wen 9 Tute ebe EEE VR FAIT FEU we ve t E ws TEE e da rg RIA In iT P woe den En DILE IA AED GT Do DET noto 09 Acti det y ve SQ TP 762 on ha hd CR mI VEN Kee APER ee rw UN Ww Ve Wim SES vw v Fern owe LONE o re ir Hee 0070 PITTA DINOS e e ows P O II ONE JUL geegent FE CULATA MA S GA gt AG mn PP ET VA TR oh RT Pe fer ZU 12 7 vw E w E aut v ia ind v u d ren ah qv at ar TOE gr an OFT MEE vey fe armes 676 44451 pays on pre
25. LAS Wee ge ye zeien POLI n PUMP ae CO pn asl iip oll in Pret MALTA Anat Mat s d 4 P e t E Pat mag a m WR QA Papi qu Tar tee fS go va gz Ln P pr e Du A d ma s a amp w ffr vafe pibe imd Ka Bi cL PET PN Wa A Lob lt lt alfredo Are AA ant per erg ere P s wat sm Nap pt rn ME wn ui et rer en te tee e weg wf ge A nm aliqu o optat gt f efe ud e um rd PEREZ L4 uns aua IA un x nn Ja Hope amp my A Lo dh ae p mI e EE gt 010 Af P M Wa gt e E 4 gt tonat Bee O 7 lg ep e eene Ser itg a y SH erg er poa TE o puras A nata at vi a qh a P gt he athe Aaa E D Poh D tee LES gt su ze 7 x wu KR Pha WT UE REA Cod Anglis Tha eg Sd muita O m a p wes RP A ep wf S BR uu DAA Late an he gt e a Det Fa ea he tae D zer Aen De mn 7 gent
26. false numeric constant real integer constant numeric constant boolean constant 57 sign 4 char any printable character except digit 0 9 leter oa alpha numeric letter digit id letter alpha numeric string char text char 58 G APPENDIX B BRAIN TUMOR TREATMENT SYSTEM EXAMPLE OPERATOR Brain tumor treatment system SPECIFICATION INPUT patient chart medical history treatment switch boolean OUTPUT treatment finished boolean STATES temperature real INITIALLY 37 0 DESCRIPTION This is an English description of the operator END IMPLEMENTATION GRAPH temperature EXTERNAL gt hyperthermia system patient_chart EXTERNAL gt hyperthermia system treatment switch EXTERNAL gt hyperthermia system treatment power hyperthermia system simulated patient treatment finished hyperthermia system gt EXTERNAL temperature simulated patient gt hyperthermia system DATA STREAM treatment power real CONTROL CONSTRAINTS OPERATOR hyperthermia system PERIOD 200 ms BY REQUIREMENTS shutdown OPERATOR simulated patient PERIOD 200 ms DESCRIPTION some text about it END OPERATOR hyperthermia system SPECIFICATION INPUT temperature real patient_chart medical_history treatment_switch boolean OUTPUT treatment_power real treatment finished boolean MAXIMUM EXECUTION TIME 100 ms BY REQUIREMENTS temperature tolerance MAXI
27. in NewNode XX for each new operator before executing the createChildNode command D FUTURE IMPLEMENTATION There are two aspects to the future implementation of the User Interface The first is implementation of the designed features of the system As the individual components are completely implemented the UI will need to be expanded to provide all the features of the system to the user After all the logical considerations of the interface are fully tested the second part of the implementation can begin The second phase is more directly involved with the Human Factors Engineering of the system Presently the major considerations are what the system does what information is to be passed and which tool should be invoked next The follow on work should be more involved with how the information is presented to and received from the user The use of a more graphic interface with a response via the mouse would be more compatible with the primarily graphic input of the system V CONCLUSIONS The goal of this thesis was to determine the requirements of a user interface for CAPS and to design such an interface This expert interface will help transform CAPS from a collection of software engining tools into a usable system for rapid prototyping A FEASIBILITY ISSUES The work done in this thesis demonstrates that a user interface that supports the construction execution and modification of an executable prototype can be prod
28. 15 keeping the user control and this control should only be limited in situations where possible errors would greatly degrade the system 25 III DESIGN OF THE USER INTERFACE In Chapter H CAPS was introduced and discussed as a group of individual components In this chapter the design of an interface that links these tools together into a single software engineering tool will be described The design of the interface includes the specification of the inputs and outputs of the individual components as well as a complete description of the previously undefined design database The interfaces involved in the the construction execution and debugging modification of the prototype will be described However a brief introduction to the Bourne Shell Scripts of the Unix operating system is necessary A BOURNE SHELL SCRIPTS AND UNIX OPERATING SYSTEM The Bourne Shell Script is a way to perform a set of Unix commands contained in a single file called a script The Bourne Shell provides string valued variables if then else logic case statements and for and while loops In short all the constructs required to control the operation of the system are available Within the shell all Unix commands can be utilized thus providing a very powerful control environment Ref 13 The Unix System allows for a collection of different tools many written in different languages Once the individual programs are compiled they become executable Unix fil
29. Input and Output of Nodes p 42 B SEQUENCE CONTROL IN THE USER INTERFACE The Sequence Control of the construction and execution subsystems has been designed and tested Complete implementation can be started when all the elements of CAPS are operating 1 Implementation of the Construction Subsystem The goal of the construction subsystem is the production of the PSDL prototype Before the construction process can begin the specification of the root operator must be written and the root node in the DDB created with the createRootNode command This command to the DDB is executed by the UI when the user types the command caps After this requirement is met the construction subsystem is entered The prototype construction is a loop that is executed until all the elements of the DDB are fully defined The user interface maintains a list of nodes in a file called node list When new operators are created their name is added to this list As these operators are fully defined they are removed from the list When this node list is empty the prototype is complete The command while test 5 node list do will perform this function in the Bourne Shell The first step in the construction is the completion of the PSDL specification To do this the partial specification is retrieved from the DDB through the use of the getProperty command This command is executed with the operators name on the first line in the file ddb in and the name specification on
30. PR ee Ze FE 6 MUTE Pt EE MA ts Og HA vw Phi a L gt Teens AA ee Ve ne veo poo id byte rebus RENIN DUE ee ee QA eite ep vy Dean by batched oe de 9 WA vo ER e ER e nung v E e 1 Te N a AS o T LR eg ehr ME euer er Ahnen ai tin ob re Seen RETA Ue ERE eh en TUT wey eve D D gt i t es e d de GA Jr Kr e b ore winter Qe F a Pe voyant ann gt PH ap E PAPE ad yug dua Quva n qp Be be e EM EAD SND pU ERTL TB 247 4 4 414 ue Y Dn ew gt ar ar E rre o EO drm enge 5 etm binder Pario eh th hak Ya bet SEEN CA k had i tx V e Me V brav d r Dar 241 Di ITI IV we wo Par aries en pe dpi ufi Qn vae go Eet B Qv urs DIE IT EH ui YA PCR yq EW EEN 2609 dh Zu Sec Aacht 3 o v ars rw de en EI o AR Pech y 9 76 Dig 9 pi Ko aru HERE gap de SEP OES ry 6 0070 4 740 V equ o mios om ECO COP vagi bte Pe e y LA AN Y Fu a vvv DF i we
31. RE e 4 9 AL Tong Pe EE ui LLL gt Mibi dili T A wei Fey 9 IR rugs oV eus rug eg 148 wg vun Pte rests ay dp er Wire u K 9 Wet ew pup nn I PB ake pt da gu Haifa p aleron e EN 98 7 CIN ctt qup one QNO RE TE area HEMP St w y cadi ih iw Py 6 Seve 2 wor ERS e Wi CR wr tgp e D gue rir yr en De ren 0 PEPEES TE een PDA ADO Vom I SUM re ENTS SP 98 Pkt yok Fel 6 eroe ug Am ER WE Pen Ne E 2 aig 4 2 E ER yo Prava Kew Yo pa fol Qe Fes yr ye PE We geg py a pt e e EE atv wp dE ANA pt Pumpe c ee FE CET PO rts e UTR PR ET e gos oe a A o AA a eya 77 RK bd a e ho n ea 404 go Ey T vo iu der aiaa dd he ey turpe RT ET ARAGAO O ddp u NONU a 9 AA WU sob deos n WEY E at es shaded men is lib t Y ww Fw Sy eae Ee PW TE PEDI 2 ga qni ue T aey CIA ETA PI FIPE pa ee e cU Ko t Stu Q 1794 9 VIVE V V AIR AI UP RA TOV HR AU ORE VEU CW TT RE e TR E E V ti vun or a VW 4 LU os d o MUR SATA ar
32. Wo 4 X wn 1 tele 8 vg Cafe Ms KEE w e 7 f Uy our dere ae rte ng hope y yo i vt a OED ma ci DGI A 7 O gr Pay deg ded u 0 au et YA MEET CV or MN A ye we E Del lt me dt Ak a KW A EI sr o9 R e EC adr 6 gege Be VW ES ET E A DEBIDA v aec wo pases are CE apu SU IO are NO SPREE e en wie soa w REN ty w oe L ww ax Core o PEE TEM A TD o eg My mr RE e Or ra ATA 67 Oca TW a a Ea E KE WT 2 e E 279 w s s ache mallee Kot ge wi Se ASO u gt um ev uh wet ua Paene du gn Up Fra 2 CAU ben ER Ge lan an he t Cif 9 ordin MY cs om A ee es LEN W ed wre e PUPA ur e 0 LI uy t L E o nam sd eum en er gn PAE AGD AGO E Ogre TP er ESO ee PE UIT UR e q IES TEU ER TER PURA a Wed Sry v Dato bd wes v RA Vu 22 r Ke ww ven FU LAA Er ATI FERIA 74 99 y e ee ond 27 dl nn re Fo hls bond y Te EEE QT kt Ae AA Se A Cuni Pu tst Nr gt Sein BL E CEE PD Vinge uvae Varo vw En we P
33. editor such as the Cornell Program Synthesizer This system allows the user to enter information without the frustrating syntactic details normally encountered This can be a tremendous help when the user is not very familiar with the grammar of the programming language Ref 11 Graphical data entry is a very important area With recent advances in graphic technology it is possible for the user to enter information in a pictorial form faster and more concisely than is possible in textual only environments The top down refinement of a software system is a logical use of graphic editing The decomposition from one level into many lower level components can be easily represented by the human mind in a data flow diagram In general it can be stated that people prefer pictures over words for describing structures so graphical data entry is desirable for this purpose Ref 12 p 152 The final method of interface is through the use of questions and response in a system driven interface This system asks the user questions and takes different actions based on the response of the user Although this method is more restrictive it has its place in the user interface when the users cannot be given freedom to enter anything they want At the cost of flexibility the user can be guided to enter only information that is valid User interface design is more than just providing a method to get the information from user to machine and back The overriding factor
34. exception declarations and timing information This specification is used to search the software base If no match is found this composite operator 1s decomposed in the implementation part OPERATOR Brain tumor treatment system SPECIFICATION INPUT patient chart medical history treatment switch boolean OUTPUT treatment finished boolean STATES temperature real INITIALLY 37 0 DESCKIPTION This is an English description of the operator specification END Figure 4 PSDL Operator Specification Timing constraints may be added to a specification in the following ways Maximum Execution Time MET which places a maximum time on the execution of an operator from initiation to completion Maximum Response Time MRT has slightly different meanings for sporadic and periodic operators It is the time between the start of the period and the moment of the last output of an operator for periodic operators and is the time between arrival of new data and ti he moment of output for sporadic operators Minimum Calling Period MCP is required for any sporadic operator with an MRT and is the minimum time from the arrival of one set of data to the arrival of the next Ref 6 pp 20 21 11 2 PSDL Implementation The implementation part of PSDL consists of the graph data flow diagram a list of new data streams and control constraints for the newly created operators The data flow diagram shown in Figure 3 would appear in PSDL
35. fully described with the leaf nodes being all atomic operators The construction of the prototype is complete when the command traverse is executed With the name of the root node in ddb in a breadth first traversal of the DDB is performed and the PSDL for each operator is concatenated to the file This PSDL specification for the entire prototype is moved to the file psdl for use by the Execution Support System 2 Implementation of the Execution Support System The implementation of the Execution Support System involves the coordination of the Translator Static Scheduler Dynamic Scheduler and the Ada compiler and linker as well To execute a prototype the file psdl is first piped to the executable file translator This program generates a package of loosely coupled Ada components that each represent one of the leaf nodes of the prototype This package 15 called TL a and is used by both the Static and Dynamic Schedules 45 The Static Schedule is produced by executing the attribute grammar preprocessor called reader with psdl piped as its input The output file from psdl reader called operator info is the input to the next program called Static Scheduler The Static Scheduler produces a static scheduler 55 as its output A secondary output of the Static Scheduler is the list of non time critical operator NIC out Both SS a and NIC out are used by the Dynamic Scheduler to produce executable schedule called DS a This o
36. generic type decl input input type decl output output type decl states states type decl initially expression list exceptions exceptions id list 56 timing_info maximum execution time time minimum calling period time maximum response time time reqmts trace by requirements id list link id id 7 time gt id control constraints control constraints constraint constraint operator id riggered trigger 1f predicate regmts_trace period time reqmts trace finish within time reqmts trace constraint options trigger byall id list by some id list constraint options output id list if predicate reqmts trace exception id if predicate reqmts trace op id if predicate reqmts trace timer op read timer reset timer start timer stop timer expression list expression expression time integer unit ms sec min hours expression constant lid type_name id expression list predicate relation bool op relation relation simple expression simple expression rel op simple expression simple expression sign integer unit sign real not id string not predicate not boolean constant bool op and or 72 gt gt I fe 7 real integer integer integer digit boolean constant true
37. lt gt a e e D E gt a zi e E E es gt H e maa e E ere P D D 5 e a om e e E E P E we e z L4 E gt gt ria op E e e 3 i gt va gt Ld Ld e a D a a L a a LJ P d e P a D d e no E 2 A e gt e a ep a LIP e e e e gt aa a vta e e AS Ld a a awe 4 e aot gt ER a p Pa A gt 2 e gt Lo e TOIT D ep e kom edi 9 a e e 2 E y e a a gt aa gt E e mero 2 Ld me 2 d a D kd D Ld um m D e ae a e Ld wee a m mm e E ers E H e a p E e LR LES E gt mm e ES E Ld EI nn gt e o wie as iy eem e E r D e e D ee e ze gt s 4 m an e 4 ri M E e R re us NE 2 KI te que oot 3 M A H
38. produced in the Graphic Editor or written or retrieved Ada code The Graphic Record is the data used only by the Graphic Editor that is used to redraw the data flow diagram Each level of the tree is produced by the decomposition of the parent operator The database s able to recognize the relation of parent and child This allows queries of the type find child and find parent as well as a search by operator 25 name Finally the DDB must be able to traverse the entire tree in a breadth first order to produce the PSDL program The DDB inputs are e Graphic Record from GE PSDL Implementation Graph or Ada e PSDL Control Constraints PSDL Specification e Commands from UI The DDB outputs are the same as the inputs with the addition of the complete PSDL program The following operations were designed to enable the DDB to aid in the construction and modification of the prototype e Create Root Node This operation allows for the creation of a tree of operators in the database e Create Child Node This operation creates a new node for information storage and sets the parent child relationship between this new node and its parent Store Property This operation stores PSDL part Specification Implementation or Control Constraints subpart Operator Name Input List Output List State List or Maximum Execution Time or Graphic record in the named node Get Property This operation retrieves these sa
39. systems CAPS is one such system CAPS is a complex system that consists of many individual software tools n expert user interface that guides the software designers through the development and execution of a prototype is described in this thesis TABLE OF CONTENTS INTRODUCTION LE TTE 1 A DESCRIPTION OF SOFTWARE ENGINEERING METHODOLOGIES scesi ieee 2 1 Traditional Software Engineering Paradiam SE 2 2 Prototyping in Software Engineering ii 3 B OBJECTIVES 4 C 2 2 MEI 5 BACKGROUND SEENEN 6 DESCRIPTION OF CAPS 020 6 1 Architecture of CAPS 2 6 The User Interface Module 6 b The Software Base and Rewrite System 22 7 c The Execution Support 2 2 Description of PSDL TT 9 a Elements of PSD A gt b Example of PSDC T ee 10 3 The CAPS Process m 14 a Prototype m 15 b Prototype Construccion 15 Prototype Execution 17 d Prototype Debugging and Modification 19 B PRINCIPLES OF THE SERSIBNBEREAGES 20 1 Expert System and Sequence Control a 20 III PREIS mE 20 Ss 22 THE 2272 24 A BOURNE SHELL SCRIPTS AND UNIX OPERATING SYSTEM 24 PORO CO Ne eee sore
40. temperature real OUTPUT estimated power real treatment finished boolean MAXIMUM EXECUTION TIME 90 ms BY REQUIREMENTS temperature tolerance DESCRIPTION END IMPLEMENTATION Ada maintain OPERATOR safety_control SPECIFICATION INPUT treatment_switch treatment_finished boolean estimated_power real OUTPUT treatment_power real BY REQUIREMENTS shutdown MAXIMUM EXECUTION TIME 10 ms BY REQUIREMENTS temperature_tolerance DESCRIPTION END IMPLEMENTATION Ada safety control OPERATOR simulated patient SPECIFICATION INPUT treatment power real OUTPUT temperature real DESCRIPTION END IMPLEMENTATION ADA simulated patient 61 APPENDIX C PASCAL PROGRAM nodes p program CreateNodes input output const Global Constants period colon arrow blank EXTERNAL EXTERNAL 72 blanks type string80 packed array 0 79 of char DataPtr DataType DataType record Node for Linked List of Nodes Name string80 Link DataPtr end DataType OperPtr Operator Operator record Node of Linked List of Operators OpName string80 Operator Name InputList DataPtr Head Pointer to Input List InListTail DataPtr Tail Pointer to Input List OutputList DataPtr Head Pointer to Output List OutListTail DataPtr Tail Pointer to Output List StateList DataPtr Head Pointer to State List StateListTail DataPtr Tail Pointer to Stat
41. the second The DDB places the operator s specification in the file ddb out The SDE is invoked to complete and syntactically check the specification This editor is called with the command SDE ddb out This specification is then sent to the Software Base by placing it in the file psdl spec and then executing the file Software Base 43 response to the query is read from the file 5 out If there is no match the file 15 empty otherwise the Ada code is in this file The command test s SB out is used by the UI to determine if a match has been found If it has the Ada code will be appended to the Implementation in the form of a PSDL comment To do this the words Ada and the operator name are added followed by the retrieved Ada code which is surrounded by the brackets of a PSDL comment If no match is found in the software search the user 1s asked if they want to decompose the operator A string valued variable containing the users response is tested When the response is negative the user is placed in an editor currently vi where the Ada implementation is written The code is handled the same as the code that is retrieved from the Software Base The implementation is stored in the DDB with the command storeProperty with the operator name followed by the Implementation section placed in ddb in When the user wishes to decompose the Graphic Editor is called and the data flow diagram and its corresponding link statements are pro
42. the data flow diagram Although this decomposition can produce any number of new operators with any number of data streams between them the inputs and outputs of the system of child operators must be exactly the same as those of the parent The Graphic Editor can insure this by reading in an input and output list The GE will not allow any other inputs or outputs and if all these inputs and outputs are not utilized the user will be notified that the decomposition is not valid Additionally the Graphic Editor can check to ensure that the maximum execution time for any of the children does not exceed that of the parent Finally a state variable in a child must also exist in the DFD decomposition as a self loop or a internal connection between two operators Figure 10 shows the decomposition of the operator top into its lower level components ape bee cat and dog Figure 10 b is a valid decomposition of the operator top shown in Figure 10 a because it has the same inputs and outputs a 28 and c The GE would produce the link statements shown in Figure 10 c for inclusion in the PSDL implementation As previously stated the four operators ape bee cat and dog represent the four child nodes of the node top in the DDB These nodes are created but the name of these operators is not the only thing known about them Actually the link statements can be used to determine the inputs outputs names of any state variables and maximum execution t
43. 0ms gt cat cd cat 30ms gt dog dc dog 10ms gt cat Figure 10 Operator Decomposition 30 either decompose or write the Ada implementation If hand coding is done this operator is again atomic and the Ada code becomes the implementation part Finally if the user chooses to decompose the operator the Graphic Editor draws the DFD is and produces the link statements The User Interface reads these link statements and writes the partial specification for all newly created operators New nodes in the DDB are created for each new operator The Syntax directed editor is then called to complete the PSDL for the original composite operator The construct loop ends when all leaf nodes of the DDB are atomic During the creation of a prototype a rapid growth in the number of nodes is expected as the high level operators are decomposed Eventually the Ada implementation for more of the lower level operators would be found in the SB and the growth of the tree would stop The construction process deals only with the production of operators New data streams are produced in each operator If these data streams are not atomic they must be defined in PSDL All user defined data streams ds would appear outside the tree of operators on a level in the DDB equal to the root operator Exceptions ex would also appear at this level which is similar to a global type definition in Pascal Figure 11 illustrates this structure The tree of operators cont
44. 2308 Defense Advanced Research Projects Agency DARPA Director Naval Technology Office 1400 Wilson Boulevard Arlington VA 2209 2308 National Science Foundation Director of Computer and Computation Research Attn Dr Tom Keenan Washington DC 20550 Defense Advanced Research Projects Agency DARPA Director Strategic Technology Office 1400 Wilson Boulevard Arlington VA 2209 2308 Defense Advanced Research Projects Agency DARPA Director Prototype Projects Office 1400 Wilson Boulevard Arlington VA 2209 2308 Defense Advanced Research Projects Agency DARPA Director Tactical Technology Office 1400 Wilson Boulevard Arlington VA 2209 2308 COL C Cox USAF JCS J 8 Nuclear Force Analysis Division Pentagon Washington DC 20318 8000 80 25 26 27 28 LTCOL Kirk Lewis USA JCS J 8 Nuclear Force Analysis Division Pentagon Washington DC 20318 8000 U S Air Force Systems Command Rome Air Development Center RADC COEA ttn Mr Samuel A DiNitto Jr Griffis Air Force Base NY 13441 5700 U S Air Force Systems Command Rome Air Development Center RADC COE Attn Mr William E Rzepka Griffis Air Force Base NY 13441 5700 Professor Lugi Code 52LQ Naval Postgraduate School Computer Science Department Monterey CA 93943 5000 81 am p EI chew A v gt A pe e quee S e s 4
45. A 22 a 2 0 hee DAA TE ade pf EE E A Cop a aman tage wore at me Mte s ER 2 ol Dit aae e tt af u s ve e ri Ll ny AAA rn ege Feier rims Ady ag me A Pr ata 5 mm Pw Po s as Ta De ng Me MAN Figs UC O ARA e As AGO Qi bn ot m ef e at AGE e Arn mme i t alien se Verdi 3 3 t A ach 7 e gece tar A99 ode DER ef qe re aara Dy Be eR Rep Ty une Pop um ge MI Duis et de A AA NAO TE ean IO terga PED mdi 2 Lado deeg e Ret a I gt Hr e Jeer o onde coerce e Ap oh S Fs Meds Ao m Rp Pag aur Mt tege Reg POS to a Pape DDN AS D I ET TEE er tonne ASA ee A TAO PEM ACMA AT GA h nor dip E Up aM a gebeten Mod Ap 5 ER ER IA Ar EEE qus Per Ton 9 297927 Dei Alto Did e AGL LA UR ET Fon nie Pre as to AS EAD e OR ER AAA 1 nli E ten rn gt CAU AA aro Pos Sede Anyi A AI De ARI m Wee Au MIRA fr tm Data
46. Ber bk nat e A d i HEMP Re Otay Na 209 e p ds atii Pur bas AS moti ARA O oA ee We p S tb 2 c emet ta wt poe eet a ar y m 8 757 89 Rs stes dh AAN aii e Parto TARA Ch E Dorf Ae W P ged sme Auf fu zm Zo Srp AT A Dad ips CAMA de atte m at e dus d pre Lol DANA FIP A S A qam Bh at ame Be Whore fiie 4 Le Ree an ap Api tol ule AP MA mem I cir aed y erc ati reato br cr u PC Das tnos ler Ka ef Dan os Ei mur r ent or I MET the Pr 4 they ep A A SALN ante AA pe 3 Atte ari Be gek iq UR q oif eee mad aD TEE E EE RE GE bea AC RO RR alt uw wns f ARA a tr un e at O se bh aad Ah e Ps ae Boy 3990 dp S an vw ty tl u aigi ege ep ge mime N Ge ug Gn PO ag agis Ps apttd Poder snas mi afp es ame n ance Pom calla or Aia a quf 7 misa Br A Bat ee o V AM me 4 oar
47. DE 1 Primary Data Entry 59 2 Prototype 1 70 35 3 Execution Monitoring 7 54 D APPLICATION OF CAPS IN THE DEPARTMENT OF DEFENSE AND THE DEPARTMENT DHE Y 54 APPENDIX PSDL GRAMMAR Wii m 56 APPENDIX B BRAIN TUMOR TREATMENT SYSTEM EXAMPLE 59 APPENDIX PASCAL PROGRAM 8 62 APPENDIX D INPUT AND OUTPUT LINK ANALYZER 7 vi EE IAS SHELE aa 75 ee EE 77 CSS A 78 vil t Figure 2 gt Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Beurer Figure 13 Figure 14 Figure 15 LIST OF FIGURES The Prototyping Method E a 4 The Architecture of CAPS 7 Graphic Decomposition miee en 2 22 29 22 99 99 0 10 PSDL Operator Specification 11 PSDL Operator Implementation 2 2222 12 PSDL Data Type Specification and Implementation 14 PSDL Constr ction 2 70 17 Execution Support Systema 2222 2 18 Sequence Control 02181005 5 ment TUTTI 21 Operator 30 Conceptual DDB Structure 290072777 TD 2 Declaration Section of Nodes p 2222222 4 Input and Output of Nodes 42 Constr et SO raras ee 48 Graphical Editor 50
48. DI ra gt v e e E e e A eee Serato se TI or z or dE Ap en ae om e 0929 diia den ayu am gt E ef ee d cd a a ni i an o Aas 9 P e ta ag ee de lt A e e a 1 ors a Ss 4 gt eg e e e e e P re e A Pios gef v eme ne nn wg fusa 7 ows e ke L Let d fe sx ws re y Es a es e gt O eg Wa em Gier P yr pe Io n SA e e p Leto Ra ern mn Se e E e e g um Frew wr st ATA e ey m rw Lud T m PPP Oe om C o am e E 9 NL IC NL E is x o en won ug Wee ouo e 7 _ ftr ME maur co iv o am DN man x i HE gt Le sae o M A iL addi e e e wa piso YR go yo PERE LAR p A m an tl y cm m 9 gt D ke KA 4 Ld gt f a A reca aa y o a EEE a m 2 p j TH gt gt gt 47 water wv ow e d L H e E e sac 4 setya ER oH a CORUM G o um T ge t H Fr OE ee IEF QUE
49. FEI P As fiy 0 A of gh Al ae te PEN A Afen A e eX PRAY DS Aer BERG Pe ete f A TER PA JIRE Ae os ten De e Qus DAMAS AR d Tita ee ee A Ea EE AS PEE E REPE ADEA rp EN Aa a a A um ol SB A 5 Ka s An Age Dun euer asiste ral IO Lo A p ET Ares die Belle cre e 110 Ar Die Se 4 2 2 os e CITE ra IO ie va AN Noms an act MAGO Port obo tt AAA ANI EC pA SUA RT RIA non A ESA dn Par LA AR OSA rt wif rni sl Ar t 4 why E e E ECH O A my k en a PATA MG te TEE Add MON o Me Cade We ET ne 8 oe pmo not E ER P Bh le te MAP ES Each ALE s GE effekt Mt lt Ama Aib ibd ta ni br dts NIB Ps se sents an tor ante Weu Matte Rhe RETRO MMe A Sy RA LLL ded Se A LALA INIA a EE ASIA ALA e AA E MARA ORAL AAA EE ue SAR AMERO A deng e
50. Head DataPtr Head of Data List DataTail DataPtr Tail of Data List Figure 12 Declaration Section of Nodes p 4 After the link statements are read into the data structure specification parts for each new node are written into dynamically created files These files will be used to create new nodes in the DDB with each file being the input for the create new node command In addition to creating the child nodes the Data Stream part of the PSDL implementation section for the parent node is produced This data stream list consists of all new internal data streams created in the decompositions that are not state variables The creation of both a child node and the Data Stream list in nodes p are illustrated Figure 13 This figure illustrates how the link statements that were produced in the GE Figure 13 a are used by the UI to produce the partial specification of the newly defined operator ape Figure 13 b The entire input and output of this example is shown in Appendix D All of the semantic checking required to produce proper PSDL is included in the nodes p program Nodes p is included as an important part of the construction subsystem ab ape 10s gt bee ac ape 10s gt cat bc bee 20s gt cat c cat 30s gt EXTERNAL state cat 30s gt cat cd cat 30s gt dog a EXTERNAL gt ape dc dog 10s cat a NewNode 01 OPERATOR ape SPECIFICATION INPUT a OUTPUT ab ac MAXIMUM EXECUTION TIME 10s b Figure 13
51. I Ote 2474 a ade A D ip Ce Mon RR Re fes EA omes And Praha AI ren O A MA GE eae bird EUR AA i ET Ge Sg n ee Patt Fou Fal Bacardi op der Bel tgs EE ce We o PW Do EII a a Ua te Sate A ria KR AI e EC Serie EE stai Dum EE Lon GID ES MOTA IM al ee d pA AA et gt A de lel AL ep g er bet feet Re Marc Bakea ahihi Led gt sd N ts putt Strato na ARAS ande o RA het be NDE Pg DANGER TELA ces Tn Sp ALES A Oh 0 an a a 0 6 Me omen RED UN DI LOR e ciu motile Dh Mite RAM Sch A OG et gt NL ER rt aut Abe ttle VARIA ina haf AU ee LOM SP 4 N aat EE VC A edu Ro ap eA he ARIEL IAS MA Serge crm de Mo nda iple apro de dia ten SC ER ee EE WT eh oer upra op dire E A RAYA O 4 as ageet AAA E EC Aja ach dafs mn M ote ac Dapur AD Cho ciuis 59 58 OL SEG AA hee AR T Ub oae Aere ANI DAMAS e tame Agi Rr EAR iris eg ing tonne A BEI
52. Link nil end relse end OpAdd function Search Head DataPtr Target string80 DataPtr Searches Data Listfor Target string returns pointer to target if found otherwise NIL begin if Head nil then Search nil empty list else if Head Name Target then Search Head target found else Search Search Head Link Target end 7 Search procedure Add var Head DataPtr var Tail DataPtr Target string80 Adds new Data to end of linked lists Var p DataPtr 2 Temp pointer begin if Head nil then List is empty begin new p Create new node Head p Tail p p Name Target Initialize new lists p Link nil end Fif else List not empty 65 begin new p Tail Link p Tail Tail Link p Name Target p Linke mni end else end OpAdd Add new node after tail Initialize new lists procedure LoadDataStructure var OpHead OpTail OperPtr var DataHead DataTail DataPtr Loads tokens into Data Structures var Current OperPtr Data Met string80 1 Oper2 string80 begin Data blank Operl blank Met blank Oper2 blank while not eof do begin ReadToken period Data ReadOperMet Operl Met ReadToken Oper2 if Oper lt gt EXTERNAL then Keyword EXTERNAL is begin an Operator Current OpSearch OpHead Oper1 if Curr
53. MUM RESPONSE TIME 300 ms BY REQUIREMENTS shutdown KEYWORDS medical equipment temperature control 59 hyperthermia brain tumors DESCRIPTION END IMPLEMENTATION GRAPH temperature EXTERNAL gt start_up temperature EXTERNAL gt maintain patient_chart EXTERNAL gt start up treatment_switch EXTERNAL gt safety control estimated_power start_up gt safety_control estimated power maintain gt safety_control treatment finished maintain gt safety control treatment finished start up safety control treatment power safety control gt EXTERNAL DATA STREAM estimated power real TIMER treatment time CONTROL CONSTRAINTS OPERATOR start up TRIGGERED IF 42 4 temperature BY REQUIREMENTS maximum temperature STOP TIMER treatment time RESET TIMER treatment time IF temperature 37 0 OPERATOR maintain TRIGGERED by all temperature treatment time IF temperature gt 42 4 BY REQUIREMENTS maximum temperature OUTPUT treatment finished IF treatment time gt 45 min BY REQUIREMENTS treatment time START TIMER treatment time BY REQUIREMENTS treatment time temperature tolerance END OPERATOR start up SPECIFICATION INPUT patient chart medical history temperature real OUTPUT estimated power real treatment finished boolean EXCEPTIONS errl err2 err3 BY REQUIREMENTS temperature tolerance 60 DESCRIPTION END IMPLEMENTATION Ada start up OPERATOR maintain SPECIFICATION INPUT
54. OutTemp Link while OutTemp lt gt nil do begin write OutFile y WriteString OutFile OutTemp Name writeln OutFile OutTemp OutTemp Link end while writeln OutFile end if StateTemp Current StateList if StateTemp lt gt nil then begin Generate State list write OutFile STATE WriteString OutFile StateTemp Name writeln OutFile StateTemp StateTemp Link while StateTemp lt gt nil do begin write OutFile WriteString OutFile StateTemp Name writeln OutFile StateTemp StateTemp Link end while writeln OutFile end if write OutFile MAXIMUM EXECUTION TIME gt WriteString OutFile Current MET writeln OutFile writeln OutFile Current Current L ink Dynamically create new file name if NodeName 9 9 then begin 69 NodeName 9 0 NodeName 8 succ NodeName 8 end if else NodeName 9 succ NodeName 9 while end MakePSDL procedure MakeDataStream Head DataPtr Generate PSDL Data Stream var Temp DataPtr Outfile text begin rewrite Outfile psdl ds writeln Outfile if Head lt nil then begin Temp Head write Outfile DATA STREAM WriteString Outfile Temp Name writeln Outfile Temp Temp Link while Temp lt gt nil do begin write Outfile D WriteString Outfile Temp Name writeln Outfile Temp Temp Link end while writeln Outfile en
55. RIMAS A N TE A EEE Dh I AA Ia eebe Pa IP PR P gas an AAA alf MP e a Rm bon t O MARIA MAA EE CES EEN 7 4 air f Ao M Rai on ere Ga ee Gua tii A ad ER gen pe 427 Rat MD MAAN E KC MANDA Mape De a wt ge ae E Wie e Ai Kb en hy re a D rier Ne Zomm AE Ae Ay WE endure naf moll a E GE SES EL ADP ele Mike BAD PMD Sort De A ne LI mares 4 kan so PA rf d Ann nid wat Qv AIR Me Sener at ns Sei a D An APRAN d ee Tp be D Ma EE PARE NEE tates do PT niea Ee ro MARO 4400 pde AI om ARLEN m a OBR ROE ili rhe Atm Zaire fr AR af N tr CG Mio Brahe gh en gege ES in 79 RIAA DADAS uf Waco A o TU MAPA ARENE tegen A SR Po erter Me home IIA Romy Ta pondus qua NAAA de AAN nr e dni uini IB e E ZC tt NA Nu viri ote Re AA ASOC A te qug sea Donde dm DERRAMA e Nis AGUDAS A Pto LAMA ue Ps n Gris RAR 700 COLD
56. S ug Ra ET RT gt Sere X Pi a woe os v dk dw E u D X Wes ru POPS 540 2272 nr nungen a rn an ar ee u TE EEE rue P LAE NN w gt e M os ry 74 30 BOE at qm Er m aur de e FR ap Y pt etti per Je p pp Fee ENTE Qus TD IU UDI CFEC Reef AR AN s Bee E AAN er PE Anye pore gt S Vas taam x en p De OP WOES ur avum OF AD Yt A vo po yo POR DP CAI 7 meses TEE n AA Ww se t m TES ANO TEE EE ET De RN A a Lal Se X P D q i 4 toy 0 090 940989 Me 15 god e ar wm ty Tei nah he rei Mr ptite oat SET ga adi qot ua yr apo IE re A A Da A a My d e e ono vw 9 4 e rn V x goo mar dm 89 0 a muon DEE ge opa Pag CG A Pria dup qui ipt Duro que Tg Vt SEO Anc 4194 9948 Tp Hy Y Tara UU DIRE My Mi es a SS LI DH ar y rs y tw See vv e CERATI IGG er o qua AAA JP fy Y gr ee tun 4 eh y 79
57. Syntax Directed Editor The Syntax Directed Editor produces syntactically correct PSDL and syntax checks existing PSDL files The SDE reads in and completes partial PSDL specifications and produces PSDL Control Constraints Input to the SDE is the partial PSDL specifications produced in the UI and its output is syntactically correct PSDL specification and control constraints 4 The Software Base The Software Base of reusable Ada modules has two parts a query module and a maintenance module The maintenance module is involved with the creation and upkeep of the database All records must be stored by PSDL specification so that they can later be searched by the same specification Although 2 this part of the system is not utilized in the construction of the prototype it should enjoy the same interface as the query module Ref 15 The query module receives the PSDL specification part and returns zero or more Ada modules that meet those specifications 5 The User Interface The user interface has two main functions during the construction of the prototype sequence control of the construction effort and the insurance of continuity of the level to level decomposition of the operators The sequence control is performed by utilizing the if then else logic of the Bourne Shell The consistency of the decomposition is harder to achieve In the decomposition of an operator a number of child operators are produced through the use of
58. TA oce UE mw A tee IE ae DA Wa Vs Ma e Y e Rat A Graae Ne Her gib Ruine Ba Sa m A Posen conii Mast vm BO A aal Ru BERATEN nat ne tror Mam f bebe ato dien VR arene wt after zeg Ca eos Pe ee ve ro gt Tye b LI mE EM be N o ge tin te He te pin Mate Se I Me fl AE a maf e a an BEA Tr dip mtem A ct co 28 EEE A o AEREO RE UA ial dis TE An EN DA Lo AN Ara nti Atl oae Abee Varia Ma he Agr TA Me UTA gt te Rey Ak Ar o Ao he Gg Ten ra ID RIA N Se oiim m ARA a detto Ar MI taie En IA E s S C AMOR PE nane A E dr Qe aeta Br ver Ape RN A Ae a MOT E MEAE Seis Jut a a arta tas Ine Sa Agrar a y ty Me mi n D qe T 79177 ARA A ai emma 2 cdi ANDA UP hoe eal De lue fe ol Ee M e tag Ma anad wr Sc My RIADA
59. UT er ob ge Carter e ze yo Pp a A m my Wi uam LONE ap ru t am LI e Ld gt mis ote pu we uw A JO IG wn B a A e e util qui rn be e D c N PV ee BOP A ey 4 Ree e lt 1 1 E 4 Se D s ECKE qI A ae vo v Y 27 Weg erg Vo eni Le d _ M lu O wag Ee ay wi nn gt 1 lt Per LI P patct eru WER aoet poora Days we Freue Uta a c apr ape vpe na po ur poi e CH correcci n om AN mST ME EY en D Hi i ELI ET 907a AL dui NE OO m apr ua BERI pr Aia i ve eer y e uven wi de ac v wg 2 gt 47 0 ot seet Es fem Te me F 926 FOF A pen grt geome bs meto Eeer er bourg Ae um vt ae thie V TEE ar i Lam M in D Pro u ve 0 eras e ei OH FEN EN menge us Ua ve FW TW TB iu EU P gr go Qr po pega E grin gs re vae UG dic Sii quy Vo ee S tos 2 e ur gt ore e e deme 42 pe t age OF Vev
60. a 9e u peu a s 2 e op pt vr p o WV han Egger vo Page gt Wer ELE diui 2 ow Pw o al HP dd Td RT m ageet ww tw e oa u Ka Y gt ec E D 3 y rn wm C9 vetu e s sert repr Uy Ms vum rinnen wo e otc pna op Eer DU o MA DA 0 T URS ene gd fet CPUS rer Y es ET o VH fug We AS Se a RE e e Vd vd y wow coo PR quy gre ere pror erp P ASI END NER EE guo peur ee EE ev OPPO qium kn sa 4 00 Uh 7 227 2 ER Nos e op 79 CEA er gt 17 Je fa Wes i 9 Y wg b oe Be EO p e 742 Aras Uo BeN OD Avis BID Uu AD nri rio grape Qe orb aan RE A A 70 RE ENEE 4 Ob V v M J e de FFM ee BES e ATT Pda eos org esti i oe err Pubs quise We ops BOC ege B UND VIRTUS net wor a hada aM wb Wide b Fi H 474 FE a gp FF p Cla He siue TOR y my FIIR N ww 9r 9 ride e
61. ains both composite operators co and atomic operators ao C PROTOTYPE EXECUTION Prototype execution utilizes the Translator TR Static Scheduler SS and Dynamic Scheduler DS to produce an executable prototype in Ada that can test the design and requirements of the actual system 31 Figure 11 Conceptual DDB Structure The Translator The translator in CAPS translates the PSDL into Ada This is done by taking the Ada implementation of the atomic operators and adding the control constraints of the composite operators to produce a group of loosely coupled Ada modules Ref 16 The input to the translator is the PSDL program that was produced in the breadth first traversal of the DDB The output is the package of Ada modules 2 The Static Scheduler The Static Scheduler produces a schedule of time critical operators if one can be produced If is impossible to produce a valid schedule because of the timing constraints set in the construction of the prototype the user will be notified by the Debugger This process will be described in the debugging and modification section 32 3 The Dynamic Scheduler The Dynamic Scheduler produces a dynamic version of the static schedule that includes a schedule of time critical operators a collection of non critical operators and an exception handler that is the debugger The Dynamic Scheduler adds the ability to run non time critical operators in conjunction with the static sc
62. as the link statements shown after the keyword GRAPH in Figure 5 A link statement is of the form data stream from operator met to operator Ref 7 26 The from operator in the case of an input and the to operator in the case of an output will be represented by the keyword EXTERNAL The maximum execution time of the operator and the colon are omitted for non time critical operators The Data Stream part lists the new internal data streams named in the graphical decomposition IMPLEMENTATION GRAPH temperature EXTERNAL gt hyperthermia system patient_chart EXTERNAL gt hyperthermia system treatment_switch EXTERNAL gt hyperthermia_system treatment_power hyperthermia_system gt simulated_patient treatment_finished hyperthermia_system gt EXTERNAL temperature simulated_patient gt hyperthermia_system DATA STREAM treatment_power real CONTROL CONSTRAINTS OPERATOR hyperthermia system PERIOD 200 ms BY REQUIREMENTS shutdown OPERATOR simulated patient PERIOD 200 ms DESCRIPTION some text about it END Figure 5 PSDL Operator Implementation The Implementation section is completed with the Control Constraint part of PSDL These control constraints include data triggers periods conditionals timers and exceptions This information is used to define interconnections between operators The most common control method is the period and data trigger The period is shown in Figure 5 and indicates the synchronous t
63. as well C RECOMMENDATIONS There are three recommendations for the improvement of CAPS These recommendations include the addition of two new areas of work to the system and a change in the primary method of data entry 1 Primary Data Entry The original design of CAPS called for the majority of the data entry to be done in the SDE As the system has been developed the GE has proven to be the primary tool for the entry of new data The DFD is the first place where the new operators and data streams are defined in PSDL The UI already uses the information from the GE to produce the partial specification of the newly constructed operators and the data stream declaration Currently the GE only names data streams and the type must be added in the SDE The inclusion of types in the GE and in the link statements would eliminate the need to return to the SDE to complete the specifications and data stream lists 2 Prototype Modification A method of prototype modification must be provided A modification mode that not only allows changes to the prototype but provides the same assurances of valid PSDL prototypes as the construction mode is required Until SE this modification subsystem is in place the rapid debugging of the prototype will not be possible 3 Execution Monitoring The current design of CAPS does not include a means of monitoring the execution of the prototype Some means of producing both a trace and a view of the executi
64. ashington DC 20363 5100 Ada Joint Program Office OUSDRE R amp AT Pentagon Washington DC 20301 Naval Sea Systems Command Attn CAPT Joel Crandall National Center 2 Suite 7N06 Washington DC 22202 78 10 lll 12 14 ES 16 Office of the Secretary of Defense Attn CDR Barber STARS Program Office Washington DC 20301 Office of the Secretary of Defense Attn Mr Joel Trimble STARS Program Office Washington DC 20301 Commanding Officer Naval Research Laboratory Code 5150 Attn Dr Elizabeth Wald Washington DC 20375 5000 Navy Ocean System Center Attn Linwood Sutton Code 423 San Diego California 92152 500 National Science Foundation Attn Dr William Wulf Washington DC 20550 National Science Foundation Division of Computer and Computation Research Attn Dr Peter Freeman Washington DC 20550 National Science Foundation Director PYI Program Attn Dr C Tan Washington DC 20550 Office of Naval Research Computer Science Division Code 1133 Attn Dr Van Tilborg 800 N Quincy Street Arlington VA 22217 5000 gt Inm 18 19 20 Sal 25 24 Office of Naval Research Applied Mathematics and Computer Science Code 1211 Attn Mr J Smith 800 N Quincy Street Arlington VA 22217 5000 Defense Advanced Research Projects Agency DARPA Integrated Strategic Technology Office ISTO Attn MAJ Mark Pullen USAF 1400 Wilson Boulevard Arlington VA 22209
65. asuring its performance As part of the software engineering effort CAPS falls between the requirements analysis and coding phases Hequirements Analysis Develop Prototype Test and Evaluation of Engineer Product Figure 1 The Prototyping Method B OBJECTIVES This thesis describes the design and implementation of an expert user interface for CAPS The primary objective is to define the proper use of database graphic and operating systems technology in the design of the interface Secondly this thesis will explore the use of expert system technology to produce an interface that can free the user from many of the details of the system operation In this way an error free prototype can be produced quickly and easily C ORGANIZATION Chapter II outlines the background research and includes a description of CAPS the Prototype System Description Language PSDL and the principles of the user interface 1n software systems Chapter III describes a design for the user interface to include the interfaces between CAPS and the user as well as those between the various elements of the system This chapter includes a users manual and recommendations for future implementation Chapter IV outlines the implementation of the design both what has been done and what 15 recommended for future implementation Chapter V contains conclusions and recommendations of this research II BACKGROUND The Computer Aided Prototyping Syste
66. ate te AR seo E Pah Daf as duarte wm DT E 1 ag Ae An PINO Nido s ccm wo kr Ras tas A Dr Reg ite gt ey Behe Pa ment UA ARE A eg CAC o RE e P aAA me oma baa Cal of md 5 ope Ra om eu ME A OS wel L ann E RAAR NN sn affini Me dni Muri ae Pe o ed A 4 2 Be Di Ae dee hos he ENT AA ee que ve were A Reip e e aia ATA ret UAW pid Le oD Lingle cn A yet EE eA enge X AAA A Arto Ua s gt annata ah Do NET E AE NA seme IA Purto Ads in T s Uma we sse din QR a Misco s he gt OP uit a tm A aper Mato EA MAA Ant O AA e E E A A PCM PP IA li B Liha ote lt AMM A 0 RBA EAR er JM AAA der RO A AGA sd 4 D NF eal A ASA A MIDI de Oy tee V SIR Ve TOt Av oy ia Age Pea hay rn Quo Die Ap BS ar here nn qma A Ee he ege M TREE wq nt Parton P Fi TAI aid el A io DA gt SSA RA od ROR ee Eat TE tee ET ET Jo nego v efle AGA NAAA m I
67. ative nature of the development of many software systems When the customers requirements cannot be completely determined or there are questions about the suitability of proposed algorithims or what the human interface should be prototyping allows a model to be built which can be tested and modified After testing the prototype a new set of improved specifications can be used in the coding phase Figure 1 illustrates how in this method testing and refinement of requirements is done before the actual product is engineered Significant time and cost savings can be realized because code is not being written for incomplete and erroneous specifications The complex and uncertain timing requirements of real time embedded systems makes them good candidates for prototyping Ref 2 The problem with prototyping is the cost of developing the prototype itself Paper prototypes are easy to construct but do not show the dynamic nature of the system Working prototypes can show the feel of the program but are limited to a subset of the system In the Computer Aided Prototyping System the entire system is modeled The time required to build this prototype is greatly reduced through the use of syntax directed and graphic editors reusable Ada modules and a self contained execution and debugging system CAPS attempts to validate the timing aspects of real time embedded systems by constructing a prototype of the entire system executing that prototype and me
68. d if end MakeDataStream oon oa PM begin main LoadDataStructure OpHead OpTail DataHead DataTail MakePSDL OpHead Make DataStream DataHead end main 70 APPENDIX D INPUT AND OUTPUT LINK ANALYZER LINK STATEMENTS ab ape 10s gt bee ac ape 10s gt cat bc bee 20s cat b cat 30s gt EXTERNAL state cat 30s cat cd cat 30s gt dog a EXTERNAL ape dc dog 10s gt cat NEWLY CREATED NODES NewNode 01 OPERATOR ape SPECIFICATION INPUT a OUTPUT ab ac MAXIMUM EXECUTION TIME 10s NewNode 02 OPERATOR bee SPECIFICATION INPUT ab OUTPUT bc MAXIMUM EXECUTION TIME 20s NewNode 03 OPERATOR cat SPECIFICATION INPUT ac bc dc OUTPUT b cd STATE state MAXIMUM EXECUTION TIME 30 71 NewNode 04 OPERATOR dog SPECIFICATION INPUT cd OUTPUT dc MAXIMUM EXECUTION TIME 10s Data Stream part for OPERATOR top DATA STREAM ab ac bc cd dc 72 APPENDIX E BOURNE SHELL SCRIPTS CONSTRUCT SCRIPT while test s node list do getChoice cat choice spec ddb in getProperty SDE ddb out mv ddb out psdl spec cat ddb in psdl spec gt gt temp mv temp ddb in storeProperty Software Base if test s SB out then else fi done echo Software Search Complete implementation found addImpl echo Software Search Complete no match found echo Do you want to decompose y or n read x if test x y then GE else adaEditor addAdalmpl fi echo Construct
69. duced The GE is given the files graph name graph in graph out graph state and graph met which are made from data retrieved from the specification part of PSDL The GE outputs graph link and graph pic are the link statements and graphical record respectively Graph pic is also an input but it will be empty unless a DFD already exists The user interface creates graph name graph in graph out graph state and graph met by getting the specification part of the node as described above scanning for the information and writing it in the appropriate file The output files graph pic and graph link are produced in the GE The implementation section is stored in the DDB by writing the key words IMPLEMENTATION and GRAPH to the file ddb in dab in and then concatenating the files graph link and psdl ds to it The file ddb in 15 then stored using the storeProperty command While reading the link statements to determine the internal data streams needed to produce psdl ds the new nodes are identified The program nodes p dynamically produce files named NewNode 01 to NewNode XX depending on the number of new operators in the decomposition The new nodes are created by executing the command createChildNode for each NewNode file To execute createChildNode ddb in must have the name of the new node on the first line followed by the name of the parent node and then the partial specification produced by the link analyzer The loop is executed until all nodes are
70. e to insure a valid PSDL prototype 2 Data Entry Many of the same principles that applied to sequence control apply to data entry Once again the system should try to limit the number of input actions required by the user and also reduce the memory load on the user In order to provide the most efficient form of data entry the interface designers should consider textual system driven and graphical inputs Regardless of the method there are some underlying qualities that any interface should provide Data should only be entered once and the system should be able to access this information wherever it is needed The user should not be asked to reenter information that was already input Feedback should be provided during data entry This includes displaying keyed entries character by character and giving an indication of mouse down and mouse up events in a graphics tool Data entry should be user paced The system should not run away from a novice user but at the same time it should be able to accommodate the speed of expert users 3 Data Entry Methods The three data entry methods described above all have a place in the interface It is important to choose the proper method for a particular task When a program 15 being developed the naming of elements and the description of arithmetic expressions are two tasks that seem best suited for textual input When possible this input should be done with the aid of a syntax directed 22
71. e Base if test s SB out then echo Software Search Complete implementation found addImpl else echo Software Search Complete no match found echo Do you want to decompose y or n read x if test x y then GE else adaEditor addAdalmpl fi fi done echo Construction Complete Figure 14 Construct Script The output from the DDB ddb out is sent to the SDE where it is completed and syntax checked The file is then moved with the mv command to the file psdl spec which is the input file for the Software Base The next three commands create the file temp with the operator s name the keyword SPECIFICATION and the completed specification in it This file is moved to ddb in where the storeProperty command stores it in the DDB The search of the SB is initiated by the command Software Base The results of the search are placed in the file SB out If there is no match this file is empty and it would fail the test s command If there is an implementation in the 48 file the user 15 notified with the message Software Search Complete implementation found and the executable program makelmpl is called This program creates a PSDL implementation section by placing the keywords IMPLEMENTATION and Ada in the file ddb in The operator name and the retrieved code surrounded by the brackets of a PSDL comment are concatenated to complete ddb in If no implementation is found in the SB the user is notified with the command Sof
72. e List MET string80 Maximum Execution Time Link OperPtr end Operator Var OpHead OperPtr Head of Operator List OpTail OperPtr Tail of Operator List DataHead DataPtr Head of Data List DataTail DataPtr Tail of Data List gt A AN procedure ReadToken delimeter char var token string80 Reads PSDL Link statements from standard input one token a time Delimeters are period colon arrow and End of Line Var 62 nde integer ch char begin ndx 0 initialize read ch while ch delimeter and not eoln do begin token ndx ch Gets token character by character read ch until delimeter or eoln 1 end while if eoln then token ndx ch Gets last character if delimeter arrow then before end of line begin read ch read ch remove rest of arrow end if if then readIn resets line end ReadToken t EEE EEE x procedure ReadOperMet var Operl Met string80 Reads PSDL Link statements from standard input one token at a time Determines Operator and Maximum Execution Time Var ndx integer ch char begin 0 initialize read ch while ch lt gt colon and ch lt gt arrow do begin ch Gets token character by character read ch until delimeter or eol
73. e Translation Complete e Static Scheduler Complete e Dynamic Scheduler Complete e Compilation Complete e Linking Complete e Execution Complete In the event of a problem in the scheduling or execution of the prototype the user will be notified by the Debugger The user has the option to make temporary corrections to the prototype in an attempt to achieve proper execution All permanent changes must be made in the appropriate editor through the use of the modify command The users manual for the Debugger should be consulted for the form of any commands messages and dialogs 4 The Modify Command The modify command is used to make changes to the prototype The user is placed in the modification mode that insures that all changes are made consistently throughout the various levels in the DDB modify This command asks the user to Enter the name of the Operator to be modified The user must then call the SDE or GE to make the required change to 38 the operator The UI insures that the appropriate changes are made in the higher and lower levels of the DDB The user will be asked to resolve the questions that will arise as these changes are carried out Depending on the changes made the user might be required to enter the construction mode to complete the modified prototype The design of this area of CAPS is not complete F EVOLUTION OF THE USER INTERFACE The current design of CAPS is in an evolutionary stage As CAPS change
74. e case of the state machine Ref 6 pp 12 13 Operators are called atomic if they can be found in the software base otherwise they are called composite and must be decomposed with a data flow diagram Figure 3 shows such a decomposition Data streams w and z are the respective input and output of the composite operator and s 1s the state variable A B and C are newly created operators that may be atomic or composite themselves 5 2 Data Streams A data stream represents the flow of data between two operators This communication can be in the form of a data flow stream or a sampled stream A data flow stream can be thought of as a FIFO queue In this way a data flow stream is never lost and is always acted on in the order of arrival A sampled stream can be thought of as a single memory cell This data can be used many times or written over before use depending on the rate of its input and use Ref 3 Figure 3 Graphic Decomposition Data flow streams must be used when each piece of data represents a unique transaction sampled stream can simulate a sensor that 1s only interested in a current parameter such as temperature In Figure 3 the data streams are W X y and z with x and y being the new data streams created in the decomposition 3 Timing and Control Constraints The real time nature of the prototypes requires timing and non procedural control constraints in PSDL Each tme critical operator has a Maximum Exec
75. e tool like CAPS Rapid prototyping has demonstrated a potential to be one possible solutions to the inherent problems of producing large real time systems with traditional software engineering methodologies CAPS shows promise as a practical software engineering tool 25 APPENDIX A PSDL GRAMMAR Start psdl psdl component component data type operator data type type id type spec type impl operator operator id operator spec operator impl type spec specification type decl operator id operator spec functionality end type impl implementation ada id text implementation type name operator id operator impl operator spec specification interface functionality end operator impl implementation ada id text implementation psdl_impl type decl id list type name id list type name functionality keywords informal desc formal desc psdl impl data flow diagram streams timers control constraints informal desc type name id type decl id interface attribute reqmts trace id list Zid 7 714 keywords keywords id list informal desc description text formal desc axioms text data flow diagram graph link streams data stream type decl timers timer id list end attribute generic param input output states exceptions timing info generic param
76. ed memory load on the user The user does not have to remember what to do next if the system can perform that function Another way that this expert system can reduce the memory load on the user is to apply all known information to all possible uses This frees the users from needing to remember what they have already done Four methods of sequence control are given in Figure 9 with their relative training requirements A software engineering tool should limit the use of the dialogs that require high amounts of user training This can not be avoided in a graphics tool but limiting the number of commands the user needs to know can make the system easier to use In a software engineering tool the interface should allow the user to concentrate on the developing software rather than the developmental tool This will increase the users productivity DIALOG TYPE REQUIRED USER TRAINING Question and answer Little none Menu Selection Little none Command Language High Graphic Interaction High Figure 9 Sequence Control Dialogs The expert interface will insure that the user is placed in the proper tool in order to produce the needed prototype component Additionally this interface must know all the aspects of the developing software so that the consistency of data entered in the different tools can be maintained The syntax and semantics of 21 PSDL are an important part of this intelligent interface This enables the interfac
77. em User Interface Syntax Directed Editor Graphic Editor Execution Support System Wes Dynamic Static Scheduler Debugger Figure 2 Architecture of Caps Figure 2 The Architecture of CAPS b The Software Base and Rewrite System Together the software base and rewrite system give CAPS its ability to retrieve reusable Ada components for construction of the prototype 1 The Rewrite System The purpose of the rewrite system 15 to provide a method for mapping all equivalent specifications to one common form This is called the normalized form 2 The software base is a database of reusable Ada components that are indexed and searched for based on PSDL specifications This will provide an Ada module that fulfills the desired function In the production of a rapid prototype there is no time for browsing a software library by name as in a yellow pages type of index Ref 5 pp 68 69 c The Execution Support System The Execution Support System ESS consists of a translator a static scheduler a dynamic scheduler and a debugger While the purpose of the rest of CAPS 15 to produce a PSDL program the function of the ESS 15 to translate the PSDL program into a executable Ada prototype that tests the real time aspects of the designed system 1 Translator The translator starts with the Ada components retrieved the software base and adds to them the control constants described in PSDL to produce an Ada
78. ementation part of the operator A multiple match must be resolved and then the single resolved component is used When there is no match the operator is a candidate for decomposition Decomposition of an operator takes place in the graphic editor with the production of the enhanced data flow diagram In this diagram the editor creates children operators of the current operator In effect a multiway tree is produced that is rooted at the original operator and has atomic operators as its frontier If the operator is a candidate for decomposition but the designer feels the operator is too simple for further decomposition it may be simply coded in At this point this operator would be atomic with this newly written code as its implementation The design database keeps track of all the nodes created in the decomposition The primary responsibility of this database is to provide a storage structure for the PSDL components of each operator in a way that maintains the hierarchical nature of the prototype construction 16 Create Specification Hewrite Specifications Search Software Base no match many matches Decompose Hesolve no Decompose Code Retrieve Operators Component Component Create Insert New Nodes Implementation Figure 7 PSDL Construction The user interface controls the flow of data and the use of the various tools in the system This control includes calling the proper tool at any given moment and the repe
79. ent nil then begin Add Operator 1 OpAdd OpHead OpTail Operl Current OpSearch OpHead Operl end if Current MET Met Enter Maximun Execution Time Add Data to Operators Output List if Operl Oper2 then begin if Search Current StateList Data nil then Add Current StateList Current StateList Tail Data end else Temp pointer PSDE Tokens Initialize Strings Gettokens 66 if Search Current OutputList Data nil then Add Current OutputList Current OutListTail Data if Oper2 lt gt EXTERNAL then Keyword EXTERNAL is not begin an Operator Current OpSearch OpHead Oper2 if Current nil then begin Add Operator 2 OpAdd OpHead OpTail Oper2 Current OpSearch OpHead Oper2 ena if Add Data to Operators Input List if Operl Oper2 then begin if Search Current StateList Data nil then Add Current StateList Current StateList Tail Data end else if Search Current InputL ist Data nil then Add Current InputList Current InListTail Data end if Enter new internal Data Streams in Data List if 1 lt gt EXTERNAL and Oper2 lt gt EXTERNAL and lt gt Oper then if Search DataHead Data nil then Add DataHead DataTail Data Data blank Reset Strings Operl blank Met blank Oper2 blank end while end LoadDataStructure
80. ents in the file graph link Graph link is piped to the link analyzer nodes where the partial specification of the newly defined nodes and the data stream list are created get inputs graph nodes graph links cat graph links psdl ds gt gt psdl imp cat choice Imp Graph psdl imp ddb in SDE ddb in storeProperty cat Graphic graph pic ddb in storeProperty createNodes Figure 15 Graphical Editor Script The commands Graph link psdl ds psdl imp and cat choice Imp Graph psdl imp ddb in produce the implementation of a composite operator This is done by first combining the link statements and data stream list The keywords IMPLEMENTATION in the file imp and GRAPH are added as well as the operator name The PSDL implementation is then sent to the SDE where the user must add the types to the data streams in the data stream list The user may also add any optional control constraints The storeProperty command is used to store both the implementation section and the graphic record The cat command in between sets up the file ddb in for the storage 50 The last command in the script createNodes takes the files of the form NewNode XX that were created in the UI for each new operator defined in the the DFD and creates a node in the DDB with the createChildNode command The executable file createNodes must load the file ddb in with the new operator name parent operator name and the partial specification
81. erface simply provide a loose collection of software tools rather it must provide sequence control user guidance and data protection as well A system that provides all these functions and unites the tools into a single system can be said to provide a software engineering environment 1 Expert System and Sequence Control In order for software to provide all the functions of the user to system interface it must rely on expert system technology This expert system does not have to be based in an Artificial Intelligence language rather the term expert system is used to imply an ability to guide the user through the desired processes The interface must be able to interpret what the user is doing at any time and provide support This expert system must communicate with the user to find out what they want to do at any moment when the system cannot be sure of the users intentions This type of expert system is also referred to as mutual consultation AN While attempting to guide the user through a sequence of operations it is important to remember to allow the user to remain in control One method of achieving this goal 15 to allow the experienced user some flexibility of control It is good to have an interface that can guide the user through the system but an experienced user may regard such a system as too restrictive Ref 10 p 48 20 One of the benefits of a system that requires few control actions by the user is reduc
82. es and their source is transparent to the system Writing the interface in the Bourne Shell allowed it to be on a higher level than the system components An additional benefit of the Unix system is the ability to communicate with separate system components with the Unix argument and the 2 UNIX 1 a trademark of AT amp T Bell Laboratories 24 shared Unix files Any function required by the user interface could be performed in the Unix environment B PROTOTYPE CONSTRUCTION The Design Database DDB Software Base SB Graphic Editor GE Syntax Directed Editor SDE and the Rewrite System are utilized in the construction of the PSDL prototype A description of the interface and function of each of these components as well as the function of the user interface in the coordination of the construction effort will be presented 1 The Design Database The Design Database is a hierarchical storage structure for the development of the PSDL program This structure is a multiway tree with each node containing e PSDL Specification part e PSDL Implementation part Graph Ada e Graphic Record if implementation is Graph e PSDL Control Constraints part if implementation is Graph The Specification part can be further divided to obtain the various elements of the specification In particular it can be broken into operator name inputs outputs states and MET individually The Implementation part consists of the link statements
83. es the software designers through the development and execution of a prototype is described in this thesis Distribution Availability of Abstract 21 Abstract Security Classification unclassified unlimited D same as report DTIC users Unclassified a Name of Responsible Individual 22b Telephone nclude Area code 22c Office SymbolT 408 646 2735 FORM 1473 84 MAR 83 APR edition may be used until exhausted secunity classification of this page All other editions are obsolete Unclassified Approved for public release distribution 1s unlimited DESIGN AND IMPLEMENTATION OF AN EXPERT USER INTERFAGE FOR THE COMPUTER AIDED PROTOTYPING SYSTEM by Henry Co Raum Captain United St tes Marine Corps B S United States Naval Academy 1980 Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN COMPUTER SCIENCE from the NAVAL POSTGRADUATE SCHOOL December 1988 ABSTRACT This thesis builds on previous work done in the development of the Computer Aided Prototyping System CAPS and the Prototype System Description Language PSDL The increases in the size and complexity of software projects have caused system designers to reevaluate traditional software engineering methodologies Rapid prototyping 1s a method that allows the validation of system requirements and design early in the development cycle The need for this type of tool is particularly critical in the development of real time embedded
84. etit oe DEIA ADS tute 27 IU e SUE 27 SSO ATIC nennen nn innen 2 HE USUS oc E 25 PME ontiol crc 29 een EI DC EIU ERES CE nenne 32 2 10 A AN 32 O ame 05 3 00079019900 XI OU 33 D PROTOTYPE DEBUGGING AND MODIFICATION 34 i Ts NTC CETTE 34 DM AE 34 T 35 D CSS EE 36 DEN ZEENETZUSERSEMANU AT nn RER 36 Une Sains 36 O 3 Ne Execute EE oy 4 The Modify 38 F EVOLUTION OF THE USER TIN TERRACE 20007 39 IV IMPLEMENTATION OF THE USER INTERFACE 40 THELINK STATEMENT ANAT 40 B SEQUENCE CONTROL IN THE USERANTERFACE 22 43 1 Implementation of the Construction SubS Sem 43 2 Implementation of the Execution Support System 45 3 Implementation of Debugging and Modification 46 C EXAMPLE BOURNE SHELT T 47 l The Construct Script sese 47 2 The Graphic Editor Script Om 7 49 D FUTURE IMPLEMENTATION ee Si V CONCLUSIONS 0 0000000000 nennen retaro E LLL A FEASIBILITY ISSUES 32 BENEFITS OF THE STUDY 722 22 C RECOMMENDATIONS
85. ey AN ee a pe pog Vw pitis LE vg RETTET Pee PITA FT vw ce y Wr vs vr LE H d un we 6 V Www a u PA dies A p elt det ege VR FY UP yr tye WORTEN 2 2 6 ES vu tre lt Bed E NU y I al ra Se Dsg Pore P wives s A gow IDA TALLA y pri ptr RO TU chap mur 0 ape ap p sea Arm WAT TE qUW tora Oo Tei una vy Wim pti 2 Ges Pe gt v 0 py ew owe eure viv oe are TY Se moo gef gree a ge DEA geo s IP EO og BO Us ar 0 77 274 VA bm gto d O e ed wt Oo er roe a ry Ala I LEE TD Pou at b Y ya n 1 L wm 4 D Setz ee Zeg gekeimt e pe 9 6 4 4 De er adip We o stri PE e STU popoln Enten ng AA ne O NE WPT nn ta e Med y weg gt ei E gt SE Ap O ww m altes arenae EIER qul SES EEE ct D d Vo DER AO ab wre e t u comi tt d gt i D e ONe e uL es o9 Vue vu gu ON CU dr ao Wh o mao e alu e WT y t n ge ep nr WIES oy FATEN wm CRU An rn irn
86. ge CADA Dra Rs TR Ra gen anta ert ag B a 7 er Bg OF AX dab n n mu Ba F quon D oco UNI nr n S LUS AAA glo Eel rdi a o eA es an lt Ww or A sme Pa Wo Ho Apis Re Meg Une AM By RIA gedet Agfa Ka O 4678 MYA 2 ape ar ER 4 2 ote Bet Are vig ty By ici TRA ah If nannten va En ake HOB T DAA AMAS TE AMD 90 6 a pata te AKI RA IR nen Aio besito Ad Deh Ramen Ay A r De A Rete o Rye u el o a Runde n AR ane m sf 2 bebe A S Tan e ne me ag A N MIDE ul pli otn ad LP RE A ERR M Prat fg d K obo bebe F BP al tis A Premio JP Aem t 4 m et Be cds of T Pa e Aa And AAN Amilo e efle 822 44 Aa My My Lier eth thy E EH AF Pelei e 2 Ver UPM Sn Ms OD An us Ta gy riga rnit tr tr ag fy 224 ER BA Bol Rie BN a LR AO gn deift E am nm Perf whe VU ez e Stile dpi e en ue IO AS Aire ID a Id Mg Fo wn AA der
87. gen OR E ewigen Ve EDAD Qo d v UU PO pt gt ipee 95 265900 A lhe Rt ERAN eg E UII P Ono dran rete N ore Pr 47 ns v x or 4 ur 3 vw raver gu e TEE wen O EUM ago TE Pre EEE 4 quem Quod VE A VPE PULS Nn oye RETTET CNM e Dv o X 5 er SCH 4 LI EL I we DET EI ET rs r FRC QU om PO QRH Dy PET LL 47 185626 e AS Y un lt qm ned e gt i 4 BH a ER 2 25 ENTE TR UVA Ren o WI CONF TEN em Ap IIS Poe wA an Doi JS v EURE En ww wear a TT amp e UI 5 cy 2259 v FS 72049 oy DSU LA 7 U OO NET ova Lk om 93 5 Wr
88. gis A De w ras SO Tis Ie an Bak geed u afi af En aoi ue TE RT S ee utem ario c npe lh Beat opm het et ow if woot cn PURA AA N Ni wig e A Ze TI dil pompae Pr DA Xm A Arta V Ru O a o dnte RR Rc Av nahe ATA a PA RA Mor Aam si GO IIA de pat dre Le AAA an OE sde ave whe Vr Cof wi Pur c fua as u ange d uge lt ally Ls 9 t Daag dia id ey Ae e Sege Ne age Pr LER Tim n de Ag By 8p 2o Sa De Pom et ge yes s ILIO tpm DE ET ilu uiu It P IRE Bet p Ath lt etl pat we Vienna malati fa m AN An wi fra AA gt Dr NT arat ED R TIA Ms m ge Mein a Be D Rede bebe Be Dr Ze rite om Bag mat efe B Bate NI A e A a UA os an o eme hos e Mean ac Pre uode no 2 Ma fei A ae Ze Rete Bote M a w ef may gt ES a ay dg Se A NBA de Dare Pain Jo lt Dep Me S a D Geer tenda dap fr en eg e ET Re pi SOLON A En ht DMA alma Brett Mote dumme dii ei My s 86 Au
89. hedule The produced dynamic schedule is a Ada program that consists of two tasks and the exception handler The higher priority task is the schedule of time critical operators This task will execute until it reaches a designated milestone in the schedule f it is ahead of schedule the secondary task non time critical operators will be executed for the amount of excess time In the event that the prototype falls behind its time schedule at any milestone an exception will be raised and the debugger will be started To aid in debugging a trace and a graphical representation of the executing prototype are planned The trace will list the name of the operator and the time that it is entered This information is critical when the actual real time performance of the prototype is being evaluated The run time status of the prototype could be displayed by presenting the user with a tree that represents the nodes of the DDB The node on the frontier of the tree that corresponds to the operator currently executing would be highlighted This would give the user the ability to watch the actual execution of the prototype 4 Sequence Control The Translator and Static Scheduler may be executed in any order or simultaneously in a multitasking environment After the Static Schedule is produced and a non time critical operators identified these operators must be 38 grouped in a package for use in the Dynamic Scheduler The Translator output is com
90. imes of these operators The User Interface reads the link statements and determines all of the information required to produce a partial specification The specification has the names but not the types of the data streams Production of this specification helps to ensure error free PSDL prototypes by relieving the user of the need to remember what he has previously entered and is in keeping with the guideline that data should be entered only once There is one additional place where the User Interface creates part of the PSDL program The Implementation part of PSDL consists of link statements followed by a Data Stream List This list consists of the internal data streams that were drawn in the DFD The UI appends the DataStream List to the end of the link statements To complete the Implementation part of the PSDL operator the type of each of these data streams must be added in the SDE 6 Sequence Control The construct module consists of a loop that continues while there are nodes in the DDB without an implementation part The first incomplete node is found in the DDB and its specification is used to search the Software Base If a match is found that node is considered atomic and the Ada code is placed in the implementation section of that operator If there is no match the user is asked to 29 75 ms 20 ms 10ms a EXTERNAL gt ape ab ape 10ms gt bee ac ape 10ms gt cat bc bee 20ms gt cat b cat 30ms gt EXTERNAL state cat 3
91. iming of the operator The data trigger is used to indicate control from arriving data Two examples of data triggers are OPERATOR A TRIGGERED BY ALL x y z OPERATOR B TRIGGERED BY SOME v w The by ALL trigger causes the operator to fire when all three inputs are present while the by SOME trigger fires the operator when any value of v or w arrives Ref 3 p 17 Conditional Constraints add an IF predicate to the data trigger This boolean condition must be satisfied before the operator will fire Examples of the conditional constraint are OPERATOR A TRIGGERED if b 10 OPERATOR X OUTPUT y if z critical A timer s used as an internal state that can be started stopped reset and its current time read by the operator to allow that operator to do its own timing control if necessary It is also possible to raise exceptions in PSDL These exceptions can be user or system defined and are raised when unusual or catastrophic conditions are encountered The exception is handled by an exception handler at the highest level of the program Data Streams utilize the operator as both its specification and implementation section as shown in Figure 6 Therefore only the construction of operators needs to be discussed 13 TYPE medical history SPECIFICATION OPERATOR get tumor diameter SPECIFICATION INPUT patient chart medical history tumor location string OUTPUT diameter real EXCEPTIONS no tumor MAXIMUM EXECUTION TIME 5 ms DESCRIPTION
92. ion Complete GRAPHIC EDITOR SCRIPT get inputs graph nodes graph links cat graph links psdl ds gt gt psdl imp cat choice Imp Graph psdl imp gt gt ddb in SDE ddb in 73 storeProperty cat Graphic graph pic gt gt ddb in storeProperty createNodes 74 10 11 REFERENCES Booch G Software Engineering with Ada 2nd ed Benjamin Cummings Publishing Co Inc 1987 Pressman R Software Engineering A Beginners Guide pp 1 93 McGraw Hill Book Company 1988 Luqi Rapid Prototyping for Large Software System Designs Doctoral Dissertation University of Minnesota Duluth Minnesota 1986 Berzins V Rapidly Prototying Real Time Systems JEEE Software v 5 pp 25 36 September 1988 Lugi Ketabchi M A Computer Aided Protyping System IEEE Software v 5 pp 66 72 March 1988 Janson D A Static Scheduler for the Computer Aided Prototyping System An Implementation Guide Master s Thesis Naval Postgraduate School Monterey California March 1988 O Hern T A Conceptual Level Design for a Static Scheduler for Hard Real Time Systems Masters Thesis Naval Postgraduate School Monterey California March 1988 Naval Postgraduate School Technical Report NPS52 88 009 Automated Translation from a Prototyping Language into Ada by C Moffitt II and Luai 7 10 April 1988 The Mitre Corporation Guidelines for Designing User Interface Software U S Departme
93. k Unit Accession No Title Include Security Classification Design and Implementation of an Expert User Interface for the Computer ded Prototyping System Personal Author s Henry G Raum a Type of Report 13b Time Covered 14 Date of Report year month day 15 Page Count aster s Thesis From To December 1988 92 Supplementary Notation The views expressed in this thesis are those of the author and do not reflect the official licy or position of the Department of Defense or the U S Government Cosati Codes 18 Subject Terms continue on reverse if necessary and identify by block number User Interface Expert System Rapid Prototyping Computer Aided Software Engineering CASE Ada Real Time Embedded Systems Abstract continue on reverse if necessary and identify by block number This thesis builds on previous work done in the development of the Computer Aided Prototyping System APS and the Prototype System Description Language PSDL The increases in the size and complexity of ftware projects have caused system designers to reevaluate traditional software engineering methodologies ipid prototyping is a method that allows the validation of system requirements and design early in the velopment cycle The need for this type of tool is particularly critical in the development of real time embedded stems CAPS is one such system CAPS is a complex system that consists of many individual software tools An expert user interface that id
94. le are Shutdown Microwave power must drop to zero within 300 ms of turning off the treatment switch e Temperature Tolerance After the system stabilizes the temperature must be kept between 42 4 C and 42 6 C e Maximum Temperature The temperature must never exceed 42 6 C Startup Time The system must stabilize within 5 minutes of turning on the treatment switch Treatment Time The system must shut down automatically when the temperature has been above 42 4 C for 45 minutes Ref 3 pp 28 29 The requirements are refined by asking the customer questions to determine exactly what the requirements mean and if they are complete With the completion of the preliminary design the construction of the prototype may begin b Prototype Construction Construction of the prototype involves the use of the syntax directed editor graphic editor design database rewrite system software base and the 15 sequence control of the CAPS user interface This process is illustrated in Figure 7 and is described below To start the system the PSDL specification of the operator that represents the entire prototype is produced in the syntax directed editor After this specification has been normalized in the rewrite system a search of the software base of reusable Ada modules is performed This search by specifications produces no match one match or many matches In the case of a single match that Ada component is used as the impl
95. letNode command simply deletes the node named in ddb in and its entire subtree from the DDB This command will require that a historical version of the DDB be saved As the modification process is defined additional operators in the various tools from the construction subsystem will be required C EXAMPLE BOURNE SHELL SCRIPTS The following example Bourne Shell scripts of the construct mode illustrate the commands that have been tested for use in the sequence control of the UI These scripts are not complete and have not been tested because the DDB was not implemented at the time of this writing 1 The Construct Script The script for the construct mode is illustrated in Figure 14 This script is a loop that executes until the file node list is empty signifying a complete prototype The first command in the loop calls the executable file getChoice This file displays the list of incomplete operators to the user who then selects the next operator for implementation The choice is stored in the file choice The command cat choice spec ddb in places the name of the choice operator and the keyword SPECIFICATION found in the file spec in the file ddb in The command getProperty uses ddb in to retrieve the specification of the operator from the DDB 47 while test s node list do getChoice cat choice spec ddb in getProperty SDE ddb out mv ddb out psdl spec cat ddb in psdl spec gt gt temp mv temp ddb in storeProperty Softwar
96. m is a complex collection of software tools that enable the user to produce executable prototypes of large real time embedded systems This chapter outlines the components of CAPS and PSDL in detail Finally the principles of the user interface are investigated A DESCRIPTION OF CAPS 1 Architecture of CAPS CAPS consists of many software tools that each have a part in the production of the prototype The position of each component in the overall system is illustrated in Figure 2 A brief description of the components follows a The User Interface Module This module consists of two editors a syntax directed editor and a graphical editor Together these editors produce the PSDL program that will become the prototype 1 The Syntax Directed Editor 1s an editor that knows the key words and proper syntax of PSDL It insures grammatically correct PSDL as it guides the user through the production of the program 2 The Graphic Editor is an editor that describes the decomposition of PSDL components by the use of enhanced data flow diagrams It is in these diagrams that the user creates the program 3 The Design Database is the structure that stores the elements of the system under construction This database is organized to handle the hierarchical nature of the top down development of the system The design database also has the ability to keep a history of the prototype when changes are made Ref 4 p 29 Software Rewrite Base Syst
97. me properties from the DDB Get Children This operation returns the names of all the children of the named operator Delete Node This operator removes the named operator from the DDB Because of the hierarchical nature of the DDB this operation will effectively remove the entire subtree that is rooted at the named operator e Traverse Tree This operation performs a breadth first traversal of the DDB that collects the PSDL components into a single program 26 2 The Graphic Editor The Graphic Editor is a graphics tool for drawing data flow diagrams DFD It is the part of CAPS where most of the input of the prototype descroption is done The decomposition of a PSDL Operator into lower level operators defines the actual creation of the new nodes in the tree structure The names of all operators and data streams are entered here The editor insures a valid decomposition by checking the consistency of inputs outputs states and maximum execution times The GE can also show the DFD of the parent operator to aid the user in retaining the place of a single operator in the prototype Ref 14 Inputs to the GE include operators name input output and state lists and its maximum execution time The outputs from ie GE are the PSDL link statements and the Graphic Record The operations performed by the GE include drawing operators data streams inputs and outputs showing parent DFD and loading and storing the Graphic Record 3 The
98. mn Mo Mrs g gt 4 e 2 ge See er lt amenan FEM TEEN TEE em PEDO 0 ech ghin gt JR quo ret on M t 9 u Asma aa gege e gt Zeg can e AI pap tn ans Zeg x 06 Gouge tem hd 7 e Lad eo ww om y 9 ventum ame ed ne IA e qp wud 0 aly Ma e v za D m ee d er twr P here ya yd Cv ie a EE po oo Q dus e E a d D D se gelt KL apy AA PO nr we TSN th L mn Z gt mM hs een Y A A aream t art p cw doe tS Rie uoce wo gu ong YI ADO guia alt JPL em am MIC JO week E ote am ES S Li E t 47M UI qtu rn JO uve gla oui w TREE oe ee Ka nun m t gt re n Lo 4 EA Weg o ge Vw 3 ebat Wagen 2 e DETS e a e E q PIU as tu vons x t ss e 4 a D e ex LI E wer PTI ee
99. module that can be scheduled 2 The Static Scheduler The static scheduler links all of the time critical components together in an executable schedule that can demonstrate the real time aspects of the system 3 The Dynamic Scheduler The dynamic scheduler adds the non time critical components to the system to produce an overall schedule 4 The Debugger The debugger provides an interface between the user and the executing prototype The user may be asked to correct a problem in the prototype or be presented with statistics on the operation of the prototype 2 Description of PSDL The Prototype System Description Language is an executable prototyping language that is used at the design level The user can define the specifications in this language and these specifications are used to search the software base of reusable Ada components If a suitable module is not found the PSDL operator 15 then decomposed by drawing an enhanced data flow diagram that includes lower level operators the data streams between these operators as well as timing and control constraints Ref 5 p 68 a Elements of PSDL 1 Operators Operators are the basic component in PSDL They can represent functions or state machines These operators can be triggered by the arrival of some input sporadic or at fixed time intervals periodic When triggered the operator will fire produce output based on input values and the value of the internal state variable in th
100. mplementation for the given specification was unsuccessful This would be followed by the question Do you want to decompose y or n Based on the response the user will be placed in the GE or Ada editor Software Search Complete implementation found This indicates a successful retrieval of an Ada implementation The user is then asked to choose the next operator for implementation e Select the next operator for implementation This dialog presents the user with a list of incomplete operators The user then enters the name of the desired operator This question will follow the completion of any implementation e Construction Complete This message indicates the completion of the PSDL prototype The user is then placed in the UI portion of CAPS where execution or modification can be selected 3 The Execute Command The execute command places the user in the Execution Support System where the constructed prototype is executed to test the real time performance execute This command first checks for the existence of a completed prototype If one does not exist the user is warned No Completed Prototype Available and placed back in the UI When a complete prototype is available the Translator Static Scheduler and Dynamic Scheduler called in succession The use of these components as well as the Ada compiler and linker is transparent to the user The user is informed of the status within the ESS with the below messages
101. n ndx ndx 1 end while if ch colon then end of line begin 0 read ch while ch arrow do begin Met ndx ch Gets token by character 63 read ch until delimeter or eoln ndx 1 end while eng au read ch read ch remove rest of arrow end ReadOperMet function OpSearch Head OperPtr Target string80 OperPtr Searches Operator List for Target string returns pointer to target if found otherwise NIL begin if Head nil then OpSearch nil empty list else if Head OpName Target then OpSearch Head target found else OpSearch OpSearch Head Link Target end 7 EE procedure OpAdd var Head OperPtr var Tail OperPtr Target string80 Adds new Operator to end of linked list var p OperPtr temp pointer begin if Head nil then List is empty begin new p Create new head node Head p Tail p p OpName Target Initialize new list p InputList nil p InListTail nil p OutputList nil p OutListTail nil p Link nil end if else List not empty begin new p Add new node after tail Tail Line ip 64 Tal Link E larget Initialize new lists p InputList nil p InListTail nil p OutputList nil p OutListTail nil p StateList nil p StateListTail nil p
102. n 42 gt 2 D o wg Oe Wer aa gt gt IA rg e A m w on e PIU gt Wiel s AA m 4 P gt Ur ram ve Dury wo ng p manc pr ep m seen SA s m at Je gt LS I rn Pr IR KAN 47 Py Ac Sao wg Mat aer ge ansa iut uo diem or wo une tt m oe e E ow H gt e e der car hut Wh tm eA e A Bn ve Do a A e gn d eat SAA p e m nr an Y o tm a ty 7 Pe me my mo gt wh wu he gt A A totem Ch d LL d P art 29 a wed war LI bd A e Que D RP M asha ita E a wom atv pem m Sula O O O AA Lat lt n re e dic ge cu de A ged e E m hehe TUE gt gt e Bereet w O P Ma IA eh clear ote XM d ve m d we h e Ne Py gt hy We en ot rn PE tee GOR o Ad T a w T gt tat an ASA gr ove to Ap he B IA Kat e ar ir eee A Ped un ur Ld y K m zd geen FA gt Oi wA Ra ca
103. nt of Commerce National Technical Information Service August 1986 Dumas J Designing User Interfaces for Software Prentice Hall 1988 Teitelbaum T and Reps T The Cornell Program Synthesizer A Syntax Directed Programming Environment Connunications of the ACM v 24 9 pp 563 573 September 1981 ILS 14 NS 16 Is 18 20 Shi Kuo C and others Visual Languages 155 157 Plenum Press 1986 Sun Microsystems Doing More with UNIX Beginner s Guide pp 123 149 1956 Thorstenson R A Graphical Editor for the Computer Aided Prototyping System CAPS Master s Thesis Naval Postgraduate School Monterey California December 1988 Galik D A Conceptual Design of a Software Base Management System for the Computer Aided Prototyping System Master s Thesis Naval Postgraduate School Monterey California December 1988 Altizer C Implementation of a Language Translator for a Computer Aided Prototyping System Masters Thesis Naval Postgraduate School Monterey California December 1988 Wood M An Execution Support System for Rapid Prototyping Master s Thesis Naval Postgraduate School Monterey California December 1988 Marlowe L A Scheduler for Critical Timing Constraints Master s Thesis Naval Postgraduate School Monterey California December 1988 Department of Defense Military Specification MIL H 48655B Human Engineering Requirements for Military S
104. ology is the Computer Aided Prototyping System CAPS This system constructs a prototype from specifications described in the Prototyping System Description Language PSDL and generates an executable model of the real time system This model is actually an Ada program that can be executed and modified until the prototype is performing correctly Ref 3 Ada is a registered trademark of the U S Government Ada Joint Program Office CAPS is applicable to the Department of the Navy DON and Department of Defense DOD because it generates an Ada prototype With the requirement that all embedded systems in DOD be implemented in Ada an Ada prototype that demonstrates use of the language constructs makes CAPS more attractive The users of this system may not be familiar with PSDL or CAPS and may not even have any software engineering expertise For this reason an intelligent user interface that guides the user through the production of the prototype is required This thesis will describe the design and implementation of such a user interface The remainder of this chapter will describe the traditional and rapid prototyping software engineering methods and the CAPS system This will include a description of the elements and processes of CAPS and an overview of PSDL A DESCRIPTION OF SOFTWARE ENGINEERING METHODOLOGIES 1 Traditional Software Engineering Paradigm The traditional software engineering paradigm often called the wa
105. on of the prototype would greatly improve the ability to debug and verify the prototype s performance The ability to trace a problem in the execution to one of the original requirements would aid in the validation or modification of these requirements D APPLICATION OF CAPS IN THE DEPARTMENT OF DEFENSE AND THE DEPARTMENT OF THE NAVY The substantial investment in real time embedded systems in DOD and DON points out the tremendous need for a tool such as CAPS Since CAPS produces an executable prototype in Ada that can be used to test the design of a software system before coding MIL H 48655B calls for requirements analysis functional specification and verification before the actual coding of the system Ref 19 Rapid Prototyping supports this objective All embedded systems in DOD are to be written in AdaG so it seems that CAPS is the tool that best supports the production of real time embedded systems Although CAPS is not yet a complete system it does hold promise as an important tool for software engineering in DOD and DON There is much interest in the rapid development and acquisition of software for tactical systems in the Navy as shown in OPNAVNOTE 5000 This instruction outlines a method for accelerated acquisition of tactical systems through the use of existing off the shelf hardware and rapidly produced developmental 54 software Ref 20 The production of this software could be accelerated through the use of a softwar
106. outputs and states as well as the Maximum Execution Time are stored State variables are determined by the existence of a data stream with the same operator as its two end points Graphically this would appear as a self loop There 3 Sun Workstation is a registered trademark of Sun Microsystems Inc 40 list of internal data streams collected for inclusion in the Implementation section of the parent operator The storage structure is built up as each link statement is read in succession program CreateNodes input output const Global Constants period colon arrow blank EXTERNAL EXTERNAL S 72 blanks type string80 packed array 0 79 of char DataPu DataType DataType record Node for Linked List of Nodes Name string80 Link DataPtr end DataType OperPtr Operator Operator record Node of Linked List of Operators OpName string80 Operator Name InputList DataPtr Head Pointer to Input List InListTail DataPtr Tail Pointer to Input List OutputList DataPtr Head Pointer to Output List OutListTail DataPtr Tail Pointer to Output List StateList DataPtr Head Pointer to State List StateListTail DataPtr Tail Pointer to State List MET string80 Maximum Execution Time Link OperPtr end Operator var OpHead OperPtr Head of Operator List OpTail OperPtr Tail of Operator List Data
107. p mp me 2 w g gt n aste un asl anf adr mo wa UE e e Ms rene e ur a u a P LE gt A Py eric na e Pure be m n e Pape A gen d Mano UA ae e Pus e D Aaw at th Meo eege gt LI e um Puh oost erry up ES K E a w Ado p E ae S e ay 0 EA ee gs d e ed am n Ames PE d des NW 9 A KZ n Ke o sage we d et Tew e ef AA Bref v a E i he 2 g yet ai D vitin 5 g gram San 4 maf of ep PS lt au un Y ene e ua e d E A gt BAB A AME SL at nn Sete gt VA aM at AAA Sak dat weg s we em m wa tn adii rl P LP e e BE rn SAGA 2 E gt KA m Pi Ra 5 6 Ar a o m t BE D I uL OM T e Kin Wah na be Nae my Pm mdi m Im A ur AE mam dh 1 yr ef et Ue A E e gt P e e D H H w wu D NEU 7 Me mw GOR et ai am A m a we Ed 0 e o
108. piled and used in both the Static Schedule and the non time critical package These two packages then become part of the Dynamic Schedule which must be compiled and linked before it is executed D PROTOTYPE DEBUGGING AND MODIFICATION The debugging of the prototype takes place during the execution of the Static Scheduler while the static schedule is being produced and during the execution of the dynamic schedule of the prototype The Debugger must be broken into two parts because exceptions caused by static problems arise before compilation while many of the dynamic timing problems of a real time system will not occur until the prototype has been compiled and is executing Ref 17 1 The Debugger The Debugger has two methods of correcting problems in the prototype The first is through direct user interaction with the prototype and the second is through the Syntax Directed Editor and the Graphical Editor in the modification mode The Debugger gives the user a chance to make small changes to the prototype in the ESS This allows rapid feedback as to the results of the change The problem with this method of modification is that these changes are temporary The only way to make a permanent change to the prototype is with the SDE or GE 2 Modifying the Prototypes There are many problems involved in implementing the facilities for the modification of a PSDL prototype These problems stem from the fact that operators in the hierarchical
109. point the user can initiate one of the three remaining commands caps new proto name The optional argument contains the name of a new prototype that is to be constructed If the DDB is empty this name will be used to create a new root node If the argument is not used and the DDB is empty the user will be asked to Enter the root node name The response to this query will be used to create the root node When the DDB is empty the user will always be placed in the construction mode as the execution and modification modes would not apply 36 2 The Construct Command The construct command is used to place the user in the construction mode In this mode the user is directed into the SDE and GE to create the PSDL program construct This command will place the user in the location where the PSDL construction can begin or continue The process 1s directed by the UI to insure the production of a complete and valid PSDL program The particular aspects of both the SDE and GE users manuals should be reviewed in order to properly utilize these tools when they are called The search of the Software Base the storage and retrieval of components in the DDB and the semantic checking of the UI are all transparent to the user The user is advised of the results of the software search and the completion of the construction with the below dialogs e Software Search Complete no match found This notifies the user that the search for an Ada i
110. presents d Prototype Debugging and Modification The debugging and modification phase of the CAPS process actually takes place over the entire system and utilizes all the various tools The debugging takes place in two places first at the time of the execution of the static scheduler at which time problems with timing constraints that would prohibit the production of the static schedule are identified and corrected and secondly during the execution of the dynamic schedule At that time problems with the dynamic execution of the prototype are determined In order to resolve these problems a modification mode is used in the user interface This modification can go to any position in the defined prototype and modify specifications and control constraints The user interface must interpret and make changes and through the use of the design database carry this change through the levels of decomposition This could require new searches of the software base deletion of existing operators or construction of new operators If any changes are made the modified PSDL program must be run through the ESS 19 again This process will be done iteratively until the prototype performs as desired or demonstrates problems in original requirements B PRINCIPLES OF THE USER INTERFACE The user interface of a complex software engineering system such as CAPS must do more than merely provide for data entry and display It is also not enough that the int
111. procedure WriteString var File text Str string80 Var ndx integer begin ndx 0 while Str ndx lt gt do begin 67 write File Str ndx 1 end while end WriteString procedure MakePSDL Head OperPtr Generates partial PSDL Specification for each new Operator in the Graphical decomposition string10 packed array 0 9 of char var Current OperPtr Temp pointers InTemp DataPir OutTemp DataPtr StateTemp DataPtr OutFile text NodeName string10 Unix file name begin Current Head NodeName NewNode 01 First file name while Current lt gt nil do begin rewrite OutFile NodeName Create new file output PSDL write OutFile OPERATOR gt WriteString OutFile Current OpName writeln OutFile writeln OutFile writeln OutFile SPECIFICATION writeln OutFile InTemp Current InputList if InTemp lt gt nil then Generate Input list begin write OutFile INPUT WriteString OutFile InTemp Name writeln OutFile InTemp InTemp Link while InTemp lt gt nil do begin write OutFile 7 WriteString OutFile InTemp Name writeln OutFile InTemp InTemp Link 68 end while writeln OutFile Ende OutTemp Current OutputList if OutTemp lt gt nil then begin Generate Output list write OutFile OUTPUT gt WnteString OutFile OutTemp Name writeln OutFile OutTemp
112. r ae apr mee da Ry A on o o we 4 AA volo alb Monet m P P pu ET gt ae 4 pie gt H tty A MARS ag ui A Deo ate zd E n n Ja ume omg ee d a u gt ar d w l Pr ye Ta ty w red AS etae am um as Pd LE M Ld N m e ea ny PL Pr ur LJ gt im e bd Ol ge go boram E e m ee 744 Ke gt wy di ner gt gt D T S ep e et od A w r D Mp Te ga wes LIN gt wee mg gt A aum eg ndi SS ap fe pe gt lt gt a na adt aim ff 4 se bere e E se em Me pd EJ a m ee te iasa apa fen JA ke e T Ww m p H a D mm mn mb e m 24 2 5 PT e E eoe So ur Horam ceo FI qois 54 eu I 0 et as e A e rn mm 2 LINER P al E e y Nee gt We tee gt EI gt gt D P an o e gt m pan zen CR eee d mr Made we gt emm et ou Le Ca gt a wy e Lo EEN p
113. rae E EI a nda ds as tap Ka e gt eg gt LL c me Pete pe Un s san e Ld E pd e ze 2 Er p a e gef Be ee H a A eon tdeo 1 P t de m ef Da m CA nn 1 e Ww A D a ow gt NAVAL POSTGRADUATE SCHOOL Monterey California THESIS Dye DESIGN AND IMPLEMENTATION OF AN EXPERT USER INTERFACE FOR THE COMPUTER AIDED PROTOTYPING SYSTEM by Henry G Raum December 1988 Thesis Advisor Approved for public release distribution is unlimited 1242220 em a i a iclassified suritv Classification of this page REPORT DOCUMENTATION PAGE Report Security Classification Unclassified Security Classification Authority 3 Distribution Availability of Report Declassification Downgrading Schedule Approved for public release distribution 1s unlimited Performing Organization Report Number s 5 Monitoring Organization Report Number s Name of Performing Organization 6b Office Symbol 7a Name of Monitoring Organization ival Postgraduate School Naval Postgraduate School Address city state and ZIP code 7b Address city state and ZIP code onterey CA 93943 5000 Monterey CA 93943 5000 Name of Funding Sponsoring Organization 8b Office Symbol If Applicable Address city state and ZIP code Wor
114. s the design of the User Interface must change to keep the system performing At the present time only a part of the total system has been implemented As more of the functions of CAPS are implemented changes to the interface will be required 39 IV IMPLEMENTATION OF THE USER INTERFACE The user interface has not been completely implemented since all of the components of CAPS have not been implemented The link statement analyzer of the UI has been implemented and is described here The means of sequence control have been tested and proved to be feasible for use in the implementation of the interface This chapter will outline the implementation of the link analyzer as well as a plan for the implementation for the remainder of the User Interface and the Dynamic Scheduler A THE LINK STATEMENT ANALYZER The link statement analyzer is called nodes because it writes the partial specification for the newly created operators and is used to create new nodes in the DDB The program was written in Pascal because that was the language most familiar to the author Berkley Pascal was used because like the remainder of the system it can run on the Sun Workstation 3 and the Unix Operating System The declaration section of nodes p shown in Figure 12 describes the storage structure that 1s used In this program the link statements are parsed and the operators are stored in the linked list of operators Within a given operator a list of inputs
115. structure of the DDB inherit information both up and down In addition there are both graphical and textual views of an operator These 34 views actually hold different versions of the same information A change in one view requires a change in the other a Modifying an Operator If an operator is deleted the simple solution is to delete the entire subtree that has that operator as a root This action is very severe and the DDB should record a historical version of the prototype at this time If it is later shown that this deletion was an improper choice this version of the prototype could be restored A deletion would also require the modification of the DFD and link statements of the parent operator where the deleted operator is first defined The addition of a new operator is as simple as a deletion The new operator is added to the DDB tree and the construction mode of the user interface is entered Construction continues until the new subtree is completely defined In both deletetion and insertion the DFD of the parent operator must be modified to reflect the changes in its subtree The most significant problem in modifying an operator occurs when small changes in the specifications or control constraints of an operator are made A change 1n the specification could cause changes in every node of its subtree Equally as likely a specification change could cause an atomic operator to become a complex operator if the search of the soft
116. terfall model is a systematic sequential approach Ref 2 p 13 This model begins with requirements analysis and continues with functional specification design coding and testing Requirements analysis defines the scope of the system and the environment it will operate in while the functional specification describes interfaces to the proposed system and the functions of that system The design stage includes the decomposition and detailed design The data structures software architecture and procedural details are key issues at this stage The coding stage is where the designed system is written into a form usable by the computer normally a high level programming language Finally testing is done These tests not only show that the program meets the requirements and specifications but determines if these requirements produce the desired results Ref 4 The fact that coding and testing occurs so late n the process has brought much criticism of the waterfall model It is difficult for the customer to furnish complete requirements before the process begins In large software systems this can lead to a disaster if a major oversight in the requirement analysis phase 1s not discovered until testing Ref 2 p 15 2 Prototyping in Software Engineering In response to the problems in the waterfall model a new approach to software engineering called prototyping has been devised Prototyping is a method that is well suited to the iter
117. tition of the constructive process until all leaf operators in the design database tree are atomic c Prototype Execution Execution of the prototype occurs in the execution support system ESS through the use of the translator static scheduler dynamic scheduler and the 17 debugger as illustrated in Figure 8 The input to the ESS is the PSDL program that was previously constructed PSDL Static Scheduler Debugger Loosely coupled Ada modules Static Schedule Dynamic Scheduler Dynamic Schedule Compiler Linker Executable Debugger Ada code Figure 8 Execution Support System The first component in the ESS is the translator which translates PSDL into Ada source code The atomic operators are tempered by the control constraints of the composite operators and executable Ada packages are 18 produced This collection of modules is used by the static and dynamic schedulers in the execution of the prototype Ref 8 7 8 The Static Scheduler also utilizes PSDL as input It schedules all components with real time constraints after checking the compatibility of these timing constraints between operators The Dynamic Scheduler combines the time critical static schedule and the non time critical components of the prototype into a piece of executable Ada code called the dynamic schedule This schedule is compiled linked and finally executed This execution is the test of the prototype and the design it re
118. tt Mr NANA edema mt II o O AN ANA toe Bo A 2 v PIS Agr Agr da Ae IO Va Se Re ATRAS Dur E er AA ie EL paie UE arr POTERE CUP Prob a Hber ALB aaa Regens E om ey Ex LA gt d a ev AN gf aber NE Be erin Re af cf ad At Ap he De totom 0 9 aw fare 4 MTD Ah gd T be Ra r ae Mel dE lem IAM edet ord t ARA A OPP ARE ome ee AAA DAA MA DADA SI PM NS S Pn MU HARD dijon a autant En Mna totae ee 190 Barts My T A ety O A Gh NR Tee Mex Re Wey Rel vi As Sio Dis Me n Thy m IP Pets none ECH Md e AA Men Ariete TUE MAS gt ABRE EIA AA ER ET ts AAA th e UA A cern Wiel E A O A ob w Sr te GAS MM amp NAP TIA Doha he PLA tn Pura Tp e VOS Rufe D Tuc e e Beo Mee eee Me LO A UIS Re 2529 Ph a MIRA e dee Nf qut o totas gir ARANA mof ab O SU Apad AEP o SIRO tg omae NOS EM denm P ef al RAR A ER Ent I Dart Te f Vin ge e ake A AV A
119. tware Search Complete no match found and asked Do you want to decompose y or n The user s response is read into the variable x if the response is the GE is called The script for the GE is demonstrated in the next section If the user does not want to decompose the Ada editor is called followed by addAdalmpl which adds the Ada implementation to the PSDL operator just as addlmpl does When node list is empty all the operators are completely defined and the prototype is complete The user is notified with the command Construction Complete 2 The Graphic Editor Script The GE script shown in Figure 15 is embedded in the construct script The primary purpose of the GE script is to get the inputs from the DDB call the Graphical Editor and then store the outputs back in the DDB The executable file get nputs calls the DDB command getProperty with the proper keywords in the file ddb in to retrieve the operator name inputs outputs states and maximum execution time from the operator specification as well as the graphic record if one was previously produced This information is 49 placed in the files graph name graph in graph out graph states graph met and graph pic respectively These files are the inputs to the GE The command graph puts the user in the editor where the DFD that defines the decomposition of the operator are produced The outputs of the GE are the new graphic record graph pic and the link statem
120. uced First the requirements of interface were defined These included data entry data protection communication between elements and sequence control A design of an interface that could support these requirements was then produced Key aspects were tested and the implementation outlined This interface along with the demonstration of the feasibility of most of the components of CAPS has shown that the system can be built The next step is to demonstrate that this prototyping effort can aide in the production of real time embedded systems It must be shown that CAPS can construct and execute these prototypes quickly with minimum user training B BENEFITS OF THE STUDY The primary benefit of the work done on the user interface is the advancement of CAPS CAPS has demonstrated the potential for significant time and cost savings in the production of these real time system If the user interface can be powerful and friendly enough to promote the users interest in the system then CAPS will be more readily used 52 secondary benefit of this research is in the area of user interfaces for other systems Other software engineering tools might be able to utilize some of the aspects of the CAPS user interface A tool that uses both graphical and textual data entry and display could utilize the same type of control of data consistency between the two views The use of the Bourne shell scripts might a be a useful model for some other system
121. ution Time which is the maximum time in which that operator can complete execution after it fires Control Constraints give conditional requirements on the firing of operators b Example of PSDL To illustrate the PSDL program the example of the Hyperthermia system that was defined in the conceptual research for CAPS Ref 3 will be used This example illustrates a dynamic real time environment that is easy to understand One approach to combating cancer is to destroy tumorous cells selectively with heat One way to do this is with a hyperthermia system which uses a microwave generator connected to a fine tuner and matching control system to produce and deliver controlled local heating directly to the 10 tumors A computerized control system adjusts power output automaticallv to maintain the temperature in accordance with the treatment plan The hyperthermia system has four subsystems a computer system an operator s panel a microwave generator and a temperature sensor Ihe critical subsystem is the software that receives input from the temperature sensor and produces control commands to operate the whole system The software controls the rest of the system which is typical of real time embedded systems Ref 4 p 30 1 PSDL Specification The operator 1s described in PSDL as shown in Figure 4 The Specification includes the operator name an input list an output list a state list 1f operator 1s a state machine optional
122. utput schedule which is written in Ada must be compiled and linked before execution After schedule completion the name of the executable prototype code is changed to be the same as the root operator 3 Implementation of Debugging and Modification The debugger as previously described is broken into two parts the Static Scheduler debugger and the executing prototype debugger Both parts are embedded in the Execution Support System although it is not part of the execution of the prototype If the debugger gets direct input from the user this information is used to try to keep the prototype executing When the problems become too large the debugger writes the error message into the file information where the user can read it and attempt to modify the prototype The modification process is not completely defined at this time but the DDB is equipped with all the operations that should be required In addition to the operations that were previously discussed in the construction of the prototype there are the getParent and getChildren commands for moving around the tree and the deletNode command for the removal of unneeded operators 46 The gerParent command s called with the known nodes name in ddb in The name of that nodes parent is placed in standard output and can be piped to wherever it is needed The command getChildren is very similar except that the output is the list of child nodes and is placed in the file dab out The de
123. v yep o y go pr ge OO EM OE FEM ua Cy EE GH BURST AAA LLL 072 9 AA AKT i me 1 Mi ta FAO 4 W qup we Pom s AAA eeu EN eii yv we Uo Pee pr pru eft y PURO y BCEE th Av 099 vaa E reg oo 9450 lt TE vs mg r 4 s LET Cw wo 2 Led oN Fi RI ww Werten Nee rn t A A re el 0 oh qe EID OOP A Ot EEE gege DEE DER Pv de Ax CS EE gr oes IR cm taal T we ey vn P wg f Fran i 4 o 150 PERNE A YODA A A has d QV AGRA UNI y pgs babe ee fos DET e rtm P Ay ET ION UTI OR EAR ENEE ER TALA A a MALLA ELI 7 erg ans 4 D mo Leda S 3 ave bry OO pote A O a A AU 999 01449 kel Q a PRA Ia ok Dec La e AA RL Eh UN V 9o y cy ee GN eS i KS E gt A LS TS SEIS laurum Zeit et ROS newer DEI E O pe rure 0140099 gear Ver as ETE et Pu QUESO PvP trat POR bet AC e gm D EN KC geifen Foto viu fy f UIT rr tuo ve le i M Ys FR En an ag qvo TREE EEE ae rn en
124. vi eu y y vitio ont car MUTAS S d LE ml rpm ge E m eV re y fa dae Sacre WE o Y LIS d wer lt Ls e e gt gom For Vy P aes Sere uev eis WEEP amer rp qd LL rohe or io we FBO P9672 uia Ze 6 SPP bdsm A rr nd eng MILL LI ee E WON Fei ss vex auia w4 we y 7 s um io A on dois e FF WROTE re Si een puis ty UOS US be EUA 66 Kor e A m om Eed ENER en ww MTT 27426 pekt e t ni Me d ow pat y Tu 22 a gt no Y 9v SOS HORS Rs E Tr 106 POT WD P voie cuir at wll u INDE As UA Ie eu Fus ose SU w nnn u we EZ 4o y eos yw Py degt em A Se agn wo de rego oe oP gte TU Y SEUA Qr y qug ng M ow neun e M ww z ee i Le ete A ey Da pr gor de mv a W er um 0 gw ng ange E ner neg D AIL 154 gp qp wl ew BETTER o A e nr zi neues ade e ke AL 3 9 s et st ebe caca S I Riu oett inco sp ees EE Kd BO pw
125. ware base no longer yields a match The search on modified specifications may yield a match that was not previously obtainable therefor deleting a subtree and replacing it with an atomic operator This level to level consistency problem can move up the tree as well Also a change at a child node may cause it to be different from the node required for the decomposition of the parent 35 b Consistency of Views A change of a textual component of PSDL may be carried over to the graphic representation An example is the name of a data stream that is changed in the implementation section of a PSDL operator must be reflected in the link statement and also in the graphic record The graphical view of a change might be the best indication of the problems caused by deletions or changes More effort is required in the area of prototype modification if the same assurances of valid PSDL prototypes that are present in the construction mode are expected during modification E TOP LEVEL USERS MANUAL The top level users manual contains the four commands caps construct execute and modify This section describes these commands and the environment the user will be in when these commands are executed The individual user manual for each system component particularly the SDE and GE should also be consulted 1 Caps Command The caps command is how the user initiates CAPS and it places the user in the user interface portion of CAPS From this
126. we acne AL e Somes Oss 4 wir t ar gt fe ging D Qe tg e Carle den te A je soe Un nin CA TEE REO PR o I PD IE LAA iEn ARENA a T an nn totu 4 eg ee A Er E c vt A PRA Ph We we Au urs N e A Rete D ENTE an a Ll np eng ee EPR RNAP o apium mt oF wmd ett S teer Coon i od Mle te Ji S e Ze re Yie nm este ving tafe S eg Don EA E E AGA A rr dem arp P ooa af odi e ef nn ET ena I a A n gt 4 WEN gt ay OLA A aont ee mtr me RyRy Wee dr TE PS P m eft Ps Me en Ar co omnt Tete B mo Me a e orti ut d 7 Cpu es ze aom na Aa mm cl rh Lag m UAL Se NM er A ae WE Case D lur Ka M tir erbei ffe n te Pod o zf oie a DE ns tee AGORA A e ce A eat atu IRMA o5 dup P Poo EA d SSA A Ag vid MD AN A MER af ores um wi ns ee Ae ye se mue ht oy A eser er me a der ddp fon Y Mer Ans he Dap e Aer Pte AAN IRRE wg EE E eo b Uy OPS EEE MP IIA
127. ystems Equipment and Facilities 31 January 1979 Department of the Navy OPNAV NOTICE 5000 Navy Rapid Prototyping and the Research Development and Acquistion Process 20 February 1988 76 BIBLIOGRAPHY Barstow D and others nteractive Programming Environments McGraw Hill Book Company 1984 Department of Defense Military Standard MIL STD 1472C Human Engineering Design Criteria for Military Systems Equipment and Facilities 1 September 1983 McDermid J ntergrated Project Support Environments Peter Peregrinus Ltd 1985 Porter S A Design of a Syntax Directed Editor for CAPS Master s Thesis Naval Postgraduate School Monterey California December 1988 Sanders M and McCormick E Human Factors in Engineering and Design McGraw Hill Book Company 1987 INITIAL DISTRIBUTION LIST Defense Technical Information Center Cameron Station Alexandria V 22304 6145 Library Code 0142 Naval Postgraduate School Monterey CA 93943 5002 Commandant of the Marine Corps Code TE 06 Headquarters U S Marine Corps Washington DC 20380 0001 Commanding General Marine Corps Research Development and Acquistion Command Code C2A Attn Raum USMC Washington DC 20380 0001 Office of Naval Research Office of the Chief of Naval Research Attn CDR Michael Gehl Code 1224 800 N Quincy Street Arlington VA 22217 5000 Space and Naval Warfare Systems Command Attn Dr Knudsen Code PD 50 W
Download Pdf Manuals
Related Search
Related Contents
APC BACK-UPS RS 800 User's Manual R&S®FSU Spectrum Analyzer Manual de instruções do termo higrômetro digital Kettler 07956-500 User's Manual Descalcificador HE 1 Fluke 6200 and 6500 UNDAP RMS Analytics User Manual Buhler FK353 User's Manual Copyright © All rights reserved.
Failed to retrieve file