Inter-OfficeMemorandumToISLImplementorsDateMarch14,1983FromDougWyattLocationPaloAltoSubjectISLSoftwareReleaseProceduresOrganizationPARC/ISLXEROXFiledon:[Indigo]Documentation>ISLReleaseProcedures.tioga,.pressISLSoftwareReleaseProceduresThismemodescribesthepoliciesandproceduresthatindividualscontributingtoISLsoftwarereleasesneedtounderstandandobserve.ItassumesgeneralfamiliaritywithCedarandDFfiles.[ThismemoisaslightlymodifiedcopyofamemoonCedarreleaseproceduresbyRoyLevin.]TheReleaseProcessComponentsandDFFilesThroughoutthismemo,wecalltheunitofsoftwaresubmittedtotheISLreleaseprocessacomponent.EachcomponentisdescribedbyaDFfile,asimpledescriptionmechanismthatischieflyalistoffilenames(completeIFSpaths)andcreationdates(eitherexplicitorimplicit).ThismemoassumesfamiliaritywithDFfiles;completeinformationmaybefoundinthereferencemanualstoredon[Indigo]Documentation>DFFilesRefMan.press.Onoccasion,aparticularlylargeorcomplicatedcomponentmaybemoreeasilydescribedbyacollectionofDFfiles.Thisisacceptable,buttheremustbeasingle"root"ofthecollectionwhichincludes(inthetechnicalsense)therest.ADFfilecontainsinformationthatdescribesthecomponentforthreedistinctbutrelatedpurposes.First,itidentifieseverythingneededbytheimplementortobuildthecomponentfromscratch.Second,itidentifiesthesubsetoffilesthatarenecessaryforaclientofthecomponent.Third,itdescribesthewayinwhichthefilesthatmakeupthecomponentaretobedistributedatreleasetime.ItistheresponsibilityoftheimplementortoensurethataDFfileintendedforreleaseaspartofISLsoftwarefulfillsallthreeofthesedescriptivefunctions;thismemocontainsrulesthathelphimindoingso.ReleasePhasesAreleasecycleconsistsofadevelopmentphasefollowingbyanintegrationphaseculminatedbyarelease.Thereisanindividual,theReleaseMaster,whomonitorsthereleasecycleandisresponsiblefortheorderlyprogressionfromonephasetothenext.Thedevelopmentphaselastsfordaysorweeksandisaperiodoflargelyunconstrainedprogrammodificationandenhancement.Thescopeanddurationofpqîïa¸ î!ƒ pî ìï]Ïîï]Ïîº î+¯ï]Ïî6ï]Ïî:kî<¨î ìïYæîïYæîÚî+¯ïYæî6ïYæî9î ìïUýîïUýîºîvî$€ î+¯ïUý î6ïUýrî{ïNPpî ìïDQî ŠîïDQð6î:†sîJï;úîÅî'î/" pî ìï6òî î^îUîÄîÉî!� î(¦î+„ î2š î:xî<6î>üîD…î ìï5Kî Rî î=îþî÷î xî%Ïî*« î1Wî4|î8�î;^î=óîAÏîEVî ìï3£î Xî �îJî&îxî1î[î!“î#šî'²î,8 î3?î5:î83tî ìï/oî Wîpuî ìï, îÂîbîÖpî ìï)7 îšîIîæîî²î î#î$Ôî*Zî0Ôî2�î4üî7¿îî"±î%�î'_î+€î-ôî0õî3×î7Ÿî9Åî<9îCuîEÜîGžî ìï­ îÜîsî÷îõîkîÕî 3 î(¤î*[î,¹ î4Üî6‰î:íî=¹î>âîAkîCÓî ìïî Eîçî±î±î†îYîîî$Xî&dî* î+ßî/„ î6† î=î?×îD+î ìï_î Hîî1î î¸î˜uî ìïþîpî ìï+î kîäîJî=îévîï+î¶ï+ î"¡pî&Uï+î&Îï+î,Zî.Ivî0,ï+î0�ï+ î6÷pî:«ï+î;Fï+îA»îCªvîDÆï+îEKï+pîH³ï+î ìï ƒî î™î¨ î¢î!î Kî%_î(ƒî.hî0çî5Œî9î;öî=� îDÓîG/î ìï Üî¹ îî|î-î î!Æî$*î(î*ü î32î7î:!îëîA^ î ìï`‚î ×îˆîNîˆ î#·î)§î-ô î6ÿî:fî<`îA=îBõ î ìï^Úî œî ýîîsîpîîþî"_î'kî, î1,î3� î:î>bîAîC|î ìï]3îÔî�îÇîíî ®ï[DîoîZîxî(îûî 8î%£î'dî4é îäîEcîG/îÐïY� îÊwîšïY�îvïY�î"%î$Yî'î(¯î)¥î.î/lî:5î;•î?VîAxîF'îGHîÐïWöî¦î�îá î¦îÌî"]î%yî'²î)Øî+¯î-Hî/]pî1ÌïWöî2³ïWöî4�î9íî?> îGàîÐïVNîØîW î!§î#€î&æî+Œ î3Wî6.î:àî>‰î@¤ îGàîÐïT§îRî€î?î }î!Éî&Öî,Qî0Ùî4Yî6ÛîIî@ËîDUîG/îÐïS îî|îî#Pî$™î)åî+½î/9î3§î6&î;Oî@ îBÕîG/îÐïQX îØî îàî!…î#Ûî*?î/Žî3‡î6Ûî9%î?]îAîDÄîGáîÐïO±îˆîËîºî!( î(´î)õ î1î2Ÿî5ƒî8}î:CîGËîÐïN îžî= îæî"rî(Zî*¹ î2î3Ñî7 î ®ïLî]î7îCîâî!9î"dî( î/*î0åî3Fî8·î:qî<ÓîAZîDîG/îÐïJtîî»îî#ãî&˜î*aî/_î1þî5î8î9ûî>HîBjîE îÐïHÌ î\î‘ î!»î$i î-�î0_î3¾î7—î;Òî>(îA îB²îE îÐïG%î´î}îm î'î*,î-¥î/pî1âî6zî<é îC³îÐïE~î/î:îî+î"9î%Ìî+Õî0Eî2¥î8Úî:“îî!§î%Þî)î+Z î3›î8î;Fpî?�ï@@î@7ï@@ îH9îÐï>™î&îp îÍîpî º î)Nî*çî,Øî.‡î0î3Pî4èî:Ûî>NîB:îD„îÐï<òîlî!î1îxî&'î(†î.šî ®ï;î?îÌîäîî–îÍîKî!uî#·î(¥î-$î.sî3£î5?î7‚ î>˜îA2 îÐï9\î{îÍ î#îíî$êî)yî,‘î0Dî1`î6©î8J îB îÐï7´îšî¿î@î¨î ãî#–î&_î(ºî-<î3 î5°î7œî9Fî;2 îB®îEÚîÐï6 î/îµî! î ®ï4îqî_î€î2îbî ×î$Uî(Mî*î,‘î1±î5dî9ˆî=Ìî@AîDÝîGàîÐï2wîkî, îQî"dî'ªî,‚î/Âî1«î5›î8xî<•î>~îB îCõîÐï0Ð î îÂî$uî*Tî-… î4„î7Hî:Ôî<±î>çîCD îÐï/(î‡îµîî ( î ®ï-:îÃîBîîõîÑî!” î(÷ î//î1öî7gîOîB™îF*îH}îÐï)ëî2î3î•îrîbîðî#‡î&Ïî(¿î,gî1î2F pî9 ï)ëî9ñï)ëî;îîAîE®îÐï(Dîî”îqîôîžî$î&Dî(È î2R î:Zî<7î>»îCe îÐï&œîöîâîšî"î �î#Yî)yî+tî-Ôî2Þî7î9Øî>^î?ÉîBïuî ìï#Lî ÅîXîŠpî ìï ‰î \î0îÆîiî î$‹î*¼î,’î/�î2qî7î8õî;�î?îA|îE-îHeî ìïâî•îx î Zî%«î(qî+šî/<î2ÿî63î8î9Uî=‘îB”îDîE îHeî ìï:îKîÏîÇî×î $î!Ïî%Íî'ºî+kî.Äî3Dî4úî6¥î9Y î?ùîCîG;î ìï“îÅî3î� î~î"]î%)î(¤î, î-<î/ñî1#î2Ïî4½î:Vî>äîCeî ìïìî ©îîvî>î�îÆî [ î'{î* î1Ðî6[î8Éî>hî@0îBŸ î ìïDîÛ îî5îî•î#7î'µî)‡î+ÿî1"î4�î7%î9.î?öîA½îBÿîE¹î ìï�î /îiî�îƒî˜îrî H î(Tî+ƒî0‰î6mî9cî< î@îBÜîEzîG/î ìïöî î�îîÉî¦îí î& î(Xî,óî0óî2«î5û î>î@îAvîGàî ìïN îîóîËî\î¸î"4 î*Ïî.î/Ôî2;î5âî:î>oîA‡îCãîGáî ìï§î SîåîÛî°îîƒ î%î* î-Çî/‡î3…î7Mî:þî=½îAÆîFSî ìïîÊî�îáî=îJîžî#Zî%î+î.�î4�î ìï ƒîî¢îIîf îwî$úî(L î.ùî0é î8Gî:ôîA‹îFiî ìï Ü î’ î´î!¬î&{î)#î-¤î2÷î5h î<–î?ù îFTî ìï 5î Ñîïî{îbîØîÃî  î' î-ç î4€î7Cî9J î?vîBîD„xî)Èïö'TVm$3ccasionalreasonabledeviationswillbetolerated,buttheReleaseMasterestablishesthedefinitionof"reasonable".UnreasonaMasterestablishesthedefinitionof"reasonable".Unreasonabledeviationsjeopardizethereleaseprocessandcannotbepermitted.Inallcasestheimplementorassumescompleteresponsibilityforanydeviationfromtheserules.TheReleaseMasterwillnotcorrecterrorsinsubmissionsandwilldelayareleaseasnecessaryuntilanoffendingsubmissionconformstotherequirementsbelow.RulesforConstructinganISLReleaseDFFileThefollowingisacompletelistofrequirementsthataDFfilemustsatisfyinordertobeacceptableasacomponentofanISLsoftwarerelease.Unlessexplicitlyindicatedotherwise,theterms"import"and"export"refertotheImportsandExportsclausesinaDFfileandnotthesimilarly-namedCedarlanguagenotions.Also,thephrase"releasedto[X]Z>"isanabbreviationfor"hasaReleaseAsclausewithpath[X]Z>".1)TheDFfilenameisconsideredtobethe"name"ofthecomponentandshouldgenerallycorrespondtothenameofthemajorexportedinterface(intheMesasense)suppliedbythecomponent.Thisruleismosteasilyappliedtostraightforwardpackageswithasinglepublicinterface.2)TheDFfilemustcontainaself-referencethatisreleasedto[Indigo]Top>.Theself-referencemustbeexported.3)Ifseparatedocumentationfilesaccompanythecomponent,theyshouldbeincludedintheDFfileandreleasedto[Indigo]Documentation>.Documentationfilesinsuitableformforonlineuse(notpressfiles)shouldalsobeexported.Itisnotmandatorythatdocumentationfilesaccompanyacomponent;commentsinthepublicinterfacesmaybesufficientforuse.However,mostsubstantialcomponentswillhaveseparatedocumentationfiles,andtheseshouldbeincludedintheDFfileasindicated.Ifacomponenthasrecentlyundergoneasubstantialrevisionthatisvisibletoitsusers,theimplementorshouldprobablyreleaseseparatefilescontainingthe"changesummary"andthe"completetruth".4)Allcomponent-specificfilesotherthantheDFfileanddocumentationshouldbereleasedtoasubdirectorywiththesamenameasthecomponent(e.g.,theinterfacesandimplementationofSomePackage.dfshouldbereleasedto[Indigo]SomePackage>.Itispermissibletohaveadditionalsubdirectorystructurewithinthecomponent-specificsubdirectory.Subdirectoriesofeither[Indigo]Top>or[Indigo]Documentation>arenotpermitted.5)Ifthecomponentsuppliesa"publicinterface",thesourceandobjectfilesmustbeexportedfromtheDFfile.Thedebuggingandhelpfacilitiestendtoworkbetteriftheycanaccessthesourcesofinterfacesaswellastheircompiledrepresentations.Diskspaceconcernsareirrelevanthere,sincethefilesinvolvedaresmallandimprovementsinthefilesystemwillsooneliminatethesizelimitationsofthelocaldisk.6)TheBCDorBCDsthatcontainthebound-upimplementationofthecomponentmustbeexportedfromtheDFfile.Themotivationhereisobvious;thecomponentcan'tbeusedunlessitsimplementationisavailable.7)TheentryintheDFfileforthebound-upimplementationofthecomponentmustbeprecededbya"+"toindicatethatitisarootBCDforprocessingbyVerifyDF.IfthecomponentexportsmultipleBCDs,eachofthemmustobeythisrule.ItispermissibletohaveotherBCDsmarkedwitha"+",e.g.,testprograms.8)Afilethatisnotapartofthecomponentshouldbereferencedusingan"Imports"entrywithaUsinglist.TheUsinglistdocumentsexplicitlydependenciesonothercomponents,protectsagainstcertain3pî ìïb)îy î-î} î¸îa î(L î0ñ î7c î=õî@EîD»î ìï`‚î ”îîã îìî­îŽî ñî#B î+Xî0•î6n î>ÑîAîC‘î ìï^Úî \îïî9îî.î!Ôî$ˆî'î+¢î/¡î1X î8÷î;·î>lîBîCRîGáî ìï]3îÿîFî7îv î"‡î(�î*>î,� î4ïtî ìïY î…î( îëî>î šî&³î)¥pî ìïU¶î ÅîØîEîoîXî—îQ î'£î*rî+�î.)î0“î3üî8+î9Úî=�î??îA0 îGáî ìïTî îMîîîÅîFî#·î(: î.)î4% î:®î=î@èîFØî ìïRgîÔî]îCîÚî=î ,î%yî*Nî,3î-•î0Wî2øî5çî8”î;+îEwî ìïPÀîœî*îœîåî5î%î&´î-£î.ùî0Ó î8«î:Òî=âî>õîEvî ìïOî î- vî ®ïL™îMîîhî®îCî  î!"î"¹î$zî&·î+®î-Cî/€î6@î8Õî= îBÈ î ®ïJòîRîžîCîæî2îî!›î'%î)Eî+‘î/9î33î8kî:Eî<‘ pî ®ïHrîÈî î îhî2î î!Ëî+]î1#î4>î5hî9Sî=� vî ®ïEóîRî îvîÀîîÈîó î'î)Üî+=î0Uî1ðî>ªîAd î ®ïDKîùîÉî ®ïAÌîlî î^ î}î!fî(lî*È î1ÿî5î9Wî;7î@¤îBZîD¶îG;î ®ï@%î{îÅî”î)­ î3Hî6Jî8î=:î@¡îBòîG/î ®ï>}îŠîçî9îîKîpî ®ï;þî[îüî§îÂîÆ î&aî)…î0âî2B î:î@ÜîB¿îEUî ®ï:V îîLîv î¬î!"î$äî+Qî.æ î5ï î=Ôî@·îD6î ®ï8¯ îî]îî î$î&î+¸î-gî/Èî2Uî4Àî6o î=Bî>Åî?ðîGî ®ï7îÑî™î¯ î lî%ƒî(>î)—î-Òî/mî14î4÷î7C î?TîC½î ®ï5`î3îŒîy î 3î"’î'ëî.˜î1Oî3¯î:Gvî ®ï2áî�î îÄîÒî#‡î&Üî)]î,î.�î1g î:«î?&îA*îF€îHZî ®ï1: î˜îñîšîaî"bî$xî'!î.Mî1ûî4¤ î;î> îGëî ®ï/’ îÜî"îòî"î#¸pî ®ï-î îY îzî î7 î!’ î)[î.üî3$î5hîAS î ®ï+k î±îjîVî'/î(óî;œî=ðî@e vî ®ï(ìîpîîqîTîsî¼î$ƒ î+*î-Šî1Îî4…î8‡î;tî>Óî@·îFQî ®ï'Eîúînpî ®ï$Åî†î@î÷î î!uî$œî&Jî)Çî-Àî/!î21î4¼î8Êî;)î?ýîA· îGáî ®ï#îØîÂîEî€î&Pî)Óî-Äî3±î6A î<§î@VîDîF¡î ®ï!vî]îÅîyîE î$Qî&î(Šî+î/™î2Yî5µî;Çî><î@ý îGÖî ®ïÏî îSvî ®ïPîbî,îºîzî�îeî"<î$Žî*‹ î4î5¹î8 î>áîB2îDî ®ï¨îëî7î¬pî ®ï)î î]îqîÖî jî"Ãî)äî-0î/î2Oî6lî8? îBîC| vî ®ï©îZîî’î7î‚îõîHînî!¹î'¯ î1+î2Íî5î;åî?/î@ýîF�îHZî ®ïîóî˜î¨îzîÑî=îrî Kî#Ôî%ü î,uî.Opî ®ï‚îJîÅîîöî"‹î' î*Wî,+î/Ïî3Rî6Éî9†î=oî?î@ˆ îGàî ®ïÛîôî“î î îºî äî$‚î'cî)ïvî ®ï\îtî îzîcîçîbî¯î¡î\î!Àî(§î-î.ì î5uî9$î;/îA·îEFîHZî ®ï ´îœpî ®ï 5î¿îúîqîœ î#½ î,uî.µî2Ž î:Ìî@2îExî)Èïÿ ØTVm$½îHZîÐïî¾pîoï+îPîíîá î Üî"à î*×î-—î1>î4ü î<Þî>•î@ýîC‘î‘ï ƒîî¬î!Rî$Lî) î+Ãî-öî2”î5®î9óîîrî"? î*qî/Ìî4–î9Kî?î@ãmistakesinimportedDFfiles,andspeedsupBringOver.Theentryformsintroducedby"ReadOnly"and"@",whiledocumentedintheDFreferencemanual,areobsoleteandshouldnotbeused.9)Animportfromareleasedirectorymayincludeeitheranexplicitoranimplicit(i.e.,">"or"~=")date.Animportfromaworkingdirectorymustspecifyanimplicitdate.Whiletheserulesmayseemabitunintuitiveatfirst,experienceshowsthattheygreatlystreamlinethereleaseprocess.Last-minute,minorchangesinaDFfilearecommonduringareleaseintegration,andafailuretoobservethesecondruleinaDFfiledependingontheonethatchangedforcesanotherwiseunnecessaryreconstructionofthedependentDFfile.Thelast-minutechangesarerarelysignificanttotheimporter(s);whentheyare,inconsistencieswillbedetectedbythereleasemachinery.ImportsforatypicalISLsoftwarecomponentcomeeitherfromthereleasedirectoriesand,orfromtheworkingdirectory.10)TheDFfileforacomponentshouldusuallyincludeatextfilecontainingcommandlinesforcompilingandbindingthepackage.Thisisnotmandatory,butstronglyrecommended.Itisnotnecessarythatthisfilebeacompletecommandfile;rather,itisintendedmoreasandocumentaryaidtosomeoneunfamiliarwiththestructureofthecomponentwhofindsitnecessarytomakeasmallchangeandrebuildit.Thereisnostandardizationonthenameofsuchtextfiles;mosthavetheextension".cm"(whetherornottheyaretruecommandfiles)andmanyincludetheword"Make"andthecomponentnameintheirnames.11)IfprogramsotherthantheCompilerandBinderareneededtobuildthecomponent,entriesimportingthemshouldbeincludedintheDFfile.ExamplesofsuchprogramsincludethePackager,MakeBoot,andtheTableCompiler.IfspecificversionsoftheCompilerand/orBinderarerequired(araresituation),entriesforthemshouldbeincludedaswell;however,itisnotnecessarytoreferencethestandardones.12)Theworkingdirectoryusedforallnon-importedfilesmustgrantreadandcreateaccesstoISLSoftwareAdministrators^.PA.Theneedforreadaccessisobvious;thecomponentcan'tbereleasedunlessitcanberead.Theneedforcreateaccessisrarelyexercisedbutisoccasionallyneededwhenasmallchangetoacomponentisrequiredinordertocompleteareleaseintegrationandtheimplementorisnotavailable.Notethattheworkingdirectory[Indigo]satisfiestheserequirements,whilepersonaldirectoriestypicallydonot.ImplementorswhousetheirpersonaldirectoriesforreleasesubmissionsmustexplicitlyaltertheIFSaccesscontrolstotheirdirectoriestoconformtothisrule.ISLimplementorsarestronglyencouragedtostoretheirreleasesubmissionson[Indigo].ASampleDFFileTheDFfilebelowsatisfiestherequirementsforsubmissiontoanISLrelease.ItdescribesacomponentnamedSample,whichconsistsofasingleconfigurationnamedSampleImpl.Samplehastwopublicinterfaces,namedSampleandSampleOps.Theimplementationconsistsoftwomodules,SampleImplAandSampleImplB,whichshareaprivatedefinitionsmodulenamedSamplePrivate.Itrequiresthreeothercomponents,definedbyDFfilesnamedAIS.df,PilotInterfaces.df,andRigging.df.Finally,thecomponentisdocumentedbyapressfilewhosesourceisaTiogadocument.Notationsoftheform{n}arenotactuallypartoftheDFfile.Theyindicatethattheentrysomarkedconformstorulen,above.--Sample.df--LasteditedbyArthurDent,March14,19831:42pmExports[Indigo]Top>ReleaseAs[Indigo]Top>{2}4pî ®ïb)îOîîî³î î"Öî'Nî)s wî1,ïb)î1æïb)î3‚î6nî9Ÿ î?<î@á îGHî ®ï`‚î’î‰ îÑî)îîî"âî'î(óî-Cî/oî3î4üî6Švî ®ï]òîSîŠîÔîî4îœî#/î&î*¹î.î0iî5+î6Ûî8Åî=žî@™îC&îDÖî ®ï\Kîöî6î‰îÇîûî 5î%Ñî)î-‚î/vî4Xpî ®ïY»îÌî\îÀîËîOî€î!¤ î(§î*Gî-~ î4_î8sî;Hî>_îBì î ®ïXîêîLîµ î —î$‹î)”î+î,%î.�î0Óî3î8�î<Ýî=äîBF î ®ïVmîiî—îöî¨î·îî"±î%Žî'@î(nî*ýî-kî44î6?î8¢î;Rî>%îC˜îGžî ®ïTÅîØ îy î#qî%+î'‹î.Qî0Üî4"î6ú î>#îCPîE¤î ®ïS îî§îá î[î!êî$Óî'Yî0lî2ñî4»î:î;åî>îB~ wî ®ïQwîòîÝîìîšîçîhî$Cî'Rî*–î-pî/vî35 î8®î=0î?}îC*îDµîGŽî ®ïOÏîóî›vî ®ïM@î:î+îÎîPî¥îî"î&xî+Eî0î1�î4vî6ø î=ÈîDîGgî ®ïK™îÜîîXî¤pî ®ïI îÔîKîÌ îî£î"ñ î,Üî._î/×î2Xî8wî;Qî=ÿî@tîBqîC§î ®ïGbî&î î�î î�î#aî' î(Ðî*Ø î36î5¡î7gî=9 îCýîG/î ®ïEºîkî%î†î¯î ´î$'î%î+“î-Bî0÷î2"î5Áî:jî="îAìîD îH#î ®ïDîÃîeîzîéî ¹î"�î%Âî(‰î,î/lî2Âî51î;_î?pîEFîGî ®ïBlî³îûîÕî+î‡î!4î$óî)Èî,î/›î4Ñî7~î9Óî@ðîD¥îFHî ®ï@Ävî ®ï>5îIîî;îùîVî àî&ûî)Üî.‚î1î5Åî7§î;Mî=Ö îE:î ®ï<ŽîÒî4îzîJî!¦î#Lî%˜î( pî ®ï9þîîÛî(îVî#Pî%Êî,î3/î6î8| îCîD¤î ®ï8WîîÍî9îdî!î%¬î( î-©î/Yî2> î8·î=5î?îCîGžî ®ï6°îTîîiîEî›î î"|î(�î*>î0;î2›î86vî ®ï4 îWîeîéîÐî!+î#žî%ä î.sî1–î5-î9î<^î?MîC‘îGêî ®ï2ypî ®ï/éîšî î\îŠî«î+î#Ùî&Lî-ˆî0îî2óî8Tî<‹î=õî@”îB™îF·î ®ï.BîDî»î÷î>îäî! î'5î)ðî+• î3oî8rî<`î=ÄîA›îF}îHeî ®ï,›î³îüîiîôî†î!î&×î'Þî,A î3î5£î7ß î?áîA*îC| î ®ï*óîˆîºî}î7î"mî-Šî2øî6å î?óîD î ®ï)L îMîÃî»îï î&ªî) î,î/?î4´ î;Tî=‚îAù î ®ï'¥î^ î�îûî¢î¡î#÷î)vî+lî.û î5òî7èî=´î?ªîB”îFØî ®ï%ý îWîªîì î$@î%îî)Kî,’î1 î8­î:³tî ìï!Àî ®î…îwpî ìïVî ºî;î›î�îžîô î%;î'o î.vî0î2î4®î9üî;iîAGîBgî ìï®îšîî8î^î>î �î$¡ î-;î1é î:Ôî?åîB�îEUî ìï îpîøîãîœ î$Äî'� î1}î6î89î:çî@Ä î ìï`î É îñî$îéî8î#û î*ïî0î4Á î>öî@“îFî ìï¸î © îËîèîîªî"µî'Yî,?î7Yî:. îBîG/î ìïîî€ îYîUîî üî#eî'“î+ãî-Oî.xî2Xî ìï‚î>îúî]îÈîwîÎîFî$`î'Gî)î+fî-ôî1@î4Ìî9üî<Îî?1îBÈîD�î ìïÚîôî¢î{îyî ®ïKî´î ®ï ™î´îîÌîÓîŒî!˜î%¤î(Wî+·î/î ®ï 6îî"ñî)±î5Õxî)Èïöÿ &TVm$ö17:45:27PDT{3}Sample.mesa!29-May-8217:44:55PDT{3}SampleExtras.bcd!110-May-8211:45:31PDT{3}SampleExtras.mesa!110-May-8211:33:19PDT{3}+SampleImpl.bcd!710-May-8214:53:09PDT{6,7}Directory[Indigo]Sample>ReleaseAs[Indigo]Sample>{4}MakeSample.cm!310-May-8213:25:19PDT{11}SampleImpl.config!210-May-8213:24:52PDTSamplePrivate.bcd!210-May-8212:36:12PDTSamplePrivate.mesa!110-May-8212:34:51PDTSampleImplA.bcd!710-May-8214:47:39PDTSampleImplA.mesa!610-May-8214:47:21PDTSampleImplB.bcd!410-MaSample.df!310-May-8211:47:21PDT{1}Exports[Indigo]Sample>ReleaseAs[Indigo]Sample>{2}Sample.bcd!29-May-8217:45:27PDT{3}Sample.mesa!29-May-8217:44:55PDT{3}SampleExtras.bcd!110-May-8211:45:31PDT{3}SampleExtras.mesa!110-May-8211:33:19PDT{3}+SampleImpl.bcd!710-May-8214:53:09PDT{6,7}Directory[Indigo]Sample>ReleaseAs[Indigo]Sample>{4}MakeSample.cm!310-May-8213:25:19PDT{11}SampleImpl.config!210-May-8213:24:52PDTSamplePrivate.bcd!210-May-8212:36:12PDTSamplePrivate.mesa!110-May-8212:34:51PDTSampleImplA.bcd!710-May-8214:47:39PDTSampleImplA.mesa!610-May-8214:47:21PDTSampleImplB.bcd!410-May-8214:47:43PDTSampleImplB.mesa!210-May-8214:32:06PDTExports[Indigo]Documentation>ReleaseAs[Indigo]Documentation>{4}Sample.tioga!26-May-829:37:23PDTSample.press!26-May-829:40:18PDTImports[Indigo]Top>AIS.dfOf>Using[AIS.bcd]{8,9}Imports[Indigo]Top>PilotInterfaces.dfOf>Using[Environment.bcd,Process.bcd]{8,9}Imports[Indigo]Top>Rigging.dfOf>Using[Rope.bcd]{8,9}Noticethatthefilesthatmakeupthecomponentareallstoredon[Indigo],theworkingdirectoryforISLreleases.TheDFfilespecifiesthelocationsonareleasedirectory,[Indigo],wherethefilesaretobestoredatreleasetime.TheSamplecomponentdependsonthreeothercomponents.TwoofthesearepartofthelatestCedarrelease;theycomefrom[Indigo].Thethird(AIS.df)comesfrom[Indigo],sinceitisalsopartoftheupcomingISLrelease.RulesforSubmittingaComponentforReleaseThemessagefromtheReleaseMasterthatannouncestheintegrationphaseofareleasecontainsamessageform.Thisform,properlycompletedandreturned,servesthreeimportantfunctions:ItenablestheReleaseMastertoincludetheDFfiledescribingthecomponentinthetop-leveldescriptionoftherelease.ItnotifiesotherimplementorsthatthecomponentisnowavailableforreferenceinotherDFfiles.ItprovidestheinformationtobeincludedinthereleasemessagethatwillannouncethereleasetoallCedarusers.5yîïaŒ î ëî'ªî-½î1î ®ï^5îî$÷î+·î9âîïZÞ î!˜î'ªî-½î0pîïY3 î!˜î'ªî-½î0pîïW‡î ëî'ªî-½î0pîïUÛî ëî'ªî-½î0pîïR„î ëî'ªî-½î0pî ®ïO-îmî&Qî-î;;îïKÖî ëî'ªî-½î0pîïJ*î ëî'ªî-½îïFÓî ëî'ªî-½îïE(î ëî'ªî-½îïAÐî ëî'ªî-½îï@%î ëî'ªî-½îï>yî ëî'ªî-½îï<Îî ëî'ªî-½î ®ï9wîî)±î0pîCTîï6 î!˜î(Wî-½îï4t î!˜î(Wî-½î ®ï1îî$Kî&Qî`ï/qîmî,î ®ï,îð%î+·î-½î`ï*nîmî’ î(Wî ®ï'îî&Qî(Wî`ï%lîm îÙpî ìï"èî¡î¯îNî|îŠîî Ñî#qî*Ùî-lî/œî4î6FîA˜îD8î ìï!AîëîUî8îxî}î!4î#Ëî)qî+ýî1åî4î5oî:! î@x î ìïšîHîëîî´î¦îÛîBî!î%èî*pî-Œî2ºî:&î?ÙîB#îEðî ìïò îîRî*îÒîDî Fî"î$œî(Oî,†î1¤î4Òî8›î~tî ìïî…î( î“îî#Áî&cpî ìïÃî üîŒî+îÃîî"Ûî%áî,Þî/v î6žî:¸î<©î> îBÉîHeî ìïîCî†î î_îïî&žî)Uî/Hî3Uî6Þî=? î ®ï(îSîlîúî3îþî!Ûî&éî)wî,0î.È î5�î8î?tîAPîCßîÐï� îâî›îúî ®ï �î%îî¢ îLî"î$yî+¡î- î0î5Ìî8 î>î?µîCTîEßî ®ï šî,îÂî) îºîpî!hî'î(Ëî+2î/¿î5î7óî:¥î@íîCSîGàîÐï óîÀîØxî)ÈïýÿfTVm$xssionformissent.SendingtheformbeforetheDFfilesarereadyandstoredconfuseseveryone.TheimplementormusthaverunVerifyDFonthecomponent'sDFfilebeforesubmittingitforrelease.VerifyDFperformsmostofthecompletenesschecksthattheReleaseTool'ssecondphasedoes;consequently,mosterrorsofthisformcanbedetectedearlyintheintegrationphaseandwithoutdelayingotherimplementors.Thesubmissionformistheonlyacceptablewayofannouncingareleasesubmission.FreThemessageformhasbeenconstructedtofacilitateallthreeofthesepurposes.Sincedeviationsfromthestandardformcomplicateanddelaytheintegrationphase,implementorsshouldobservethefollowingrulesforsubmissionofcomponents:13)Thecomponentmustsatisfytheconstructionrulesbeforethesubmissionformissent.SendingtheformbeforetheDFfilesarereadyandstoredconfuseseveryone.14)TheimplementormusthaverunVerifyDFonthecomponent'sDFfilebeforesubmittingitforrelease.VerifyDFperformsmostofthecompletenesschecksthattheReleaseTool'ssecondphasedoes;consequently,mosterrorsofthisformcanbedetectedearlyintheintegrationphaseandwithoutdelayingotherimplementors.15)Thesubmissionformistheonlyacceptablewayofannouncingareleasesubmission.Free-formmessagesarenotacceptableandwillberejectedbytheReleaseMaster.Ifanimplementorexpectstobeunavailableduringtheintegrationphaseandwishestopreparehissubmission"inadvance",itishisresponsibilitytoobtainfromtheReleaseMasteracopyoftheformanduseit.16)Allfieldsoftheformmustbecompletedappropriately.Inparticular,theworkingpathandreleasepathmustbefilledincorrectlyandexpressedinconventionalsyntax(servernameinsquarebrackets,directoryandsubdirectoriesinanglebrackets);"/"syntaxisnotacceptable.Thedocumentationpointermustconformtotherequirementsstatedontheform.Theportionoftheformthatcontainsinformationdestinedforthereleasemessageshouldbefilledinjudiciously;itisgenerallynotnecessaryordesirabletodescribeeverybugfixandminorenhancement.Thereferencedocumentationshouldincludethiskindofinformation,whilethereleasemessageshouldcontainasummaryofthesignificantchangesinthecomponentsincethelastrelease.Achronologyofchangesisnotappropriate.ThereleasemessageportionoftheformmustalsobecoherentEnglishprosethatobservesacceptedstandardsofcapitalization,spelling,punctuation,andgrammar.AvoidingCommonMistakesWhentheintegrationphaseofareleasecycleisunderway,itiseasytoforgetoneormoreoftheaboverules.Experiencehasshownthatsomerulesaremorelikelytobebrokenthanothersandthatcertainmistakesoccurrepeatedly.Carefulobservationofthefollowingruleswillhelpimplementorsavoidthemostcommonerrorsthatdelayreleaseintegrations.17)Whenbeginningdevelopmentofacomponentfollowingarelease,usethereleasedDFfileasthebase,nottheworkingDFfilesuppliedtothepreviousrelease.ObsoleteworkingDFfilesareperhapsthesinglegreatestsourceoftroubleintheintegrationphase.WhenanimplementorusesaworkingDFfilefromapreviousreleaseasthebasefornewdevelopment,heinvitesinconsistenciesthatcannotbeeasilydetecteduntiltheReleaseToolisrun.ThetypicalproblemisareferencetoaworkingDFfilethatiseitherobsoleteornon-existent.SModelcanonlydetectthelatteroftheseproblems,andthentypicallyonlyif/visspecified.18)Becertainthatallimportscomefromthecorrectlocation(workingdirectoryorreleasedirectory).Inasense,thisruleincludestheprecedingone,sinceincorrectimportsfrequentlyarisewhenanobsoleteDFfilehasbeenusedasthestartingpointfordevelopmentofthecomponent.19)WhencorrectingaproblemuncoveredbytheReleaseToolduringtheintegrationphase,alwaysrunVerifyDFbeforenotifyingtheReleaseMasterthatthecomponentisagainreadyforinclusion.ItisquitecommonforphaseoneoftheReleaseTooltouncoveraprobleminaDFfilewhich,when"fixed"quicklybytheimplementor,leadstoaprobleminphasetwo.Thiscausesunnecessary6pî ìïb)î Ïî1î£î"îŠ î"êî$£ î*=î,8î/Ìî1�î5#î;Ûî?› îF(î ìï`‚î 4î¸î îÖîvî"î$P î+)î/K î7Ýî7î?™îAj î ®ïHòî¨î}î” îî!™î$ î+5î/=î2î6šî8oî= î?ù îG0î ®ïGKîîZîÆîø î jî"î&]î)Äî,$î1.î5Ëî6ôî:Fî;ÿî>_îAÆîD}îFòvî ®ïD¾î îTîÝî�îÍî îVî!%î'u pî ®ïB2îÇ î îJîëî!\î$^î)/î, î0Rî2Žî6lî8dî>TîAVîGáî ®ï@‹ î¼îõîoî!#î"Æî' î,Ñî2—î5C î=øî?›îC8 î ®ï>ãîIî“îî îî!ô î+`î0/î3œî9&î:Úî=? îE—î ®ï=<îÉî>î«î˜îŒîZî!Ïî%Kî(.î-§ î5Fî:Õî=(î?œîD7î ®ï;•î@îGîñî¶ î 6î!£î#%î)#î+®î1Øî3³î9šî;_î@ÚîD¤îG~î ®ï9íî‹îÉ îYî Wî&{ î0î4ªî9¯î(î?ïîBgî ®ï6Ÿî#î…îînîý î#'î$âî*î+€î-÷ î67î9î=›îBõîGÖî ®ï4÷î6îÆîWîMîfî!5î&Sî*0î-(î2ßî8°î>øî@Úî ®ï3Pî îîÍtî ìï/î¾î¸pî ìï+°îî_ îMî,îâî î"�î%þî'gî.î/gî0Ðî3Òî5~î9~î<'î=èîAyîC0îE�î ìï* î2 îVîÒî(îýî"˜î%ûî(Vî+ðî/¶î1kî3cî8î;Jî?tîB3îEî ìï(bî‚îI îáîÝ î'Bî)î+hî1‚î4åî7—î:¹ îCiîG/î ìï&ºî Hîøîïî½îgî!ì vî ®ï$.îîîV î!î"µî#ôî*Ìî0©î1çî6ºî9$î;yî@¤îC"îE€îGCî ®ï"†î îmî¹îóîgî»î#óî%˜î'äî-'pî ®ïúî`î®î/îî^î$‚î&Ùî*»î/½î4î5³î:sî<î>o îEVî ®ïSîî` îÙî'î ¦î&Rî)1î+ðî/«î1*î7î;èî=ëî@ îDîF¡î ®ï« î7î(î‚î$¼î'Šî,î-øî1Âî7=î:…î<äîAïîE5îF¡î ®ïî´îTîî¢îúî#&î%î&\î+âî.›î13î40î5Ëî9æî?xîAj î ®ï]îÚîeîî�îíî!�î#:î&Ãî-$î/Ûî3î8†î;Ÿî=î>åî@Q vî ®ïÐîîî�î]îTî&î"¡î%Úî("î,›î1»î7iî=î>µîC! pî ®ïDî˜îÞîðî­î î î!›î( î+,î.ºî4’î9¸ î@wîCÎîGžî ®ïœîî›îîzî×î î!Áî$ î) î,©î.æ î7î8Ðî;/ vî ®ïî&î: î¤îòî :î&£î(—î*ýî0î3Jî7«î: îAîE5î ®ïiî1î:îHîôî!Aî&+î*Èî-™î/åî6´î8 î;×î?€îA¨ pî ®ï Üî=îÀîaî)î~îwî":î$ î&‚î+¤î/î0Çî6!î7bî<þî>Äî@îB¨îE)î ®ï 5îNîîáîÈî î&zî)ãî+}î,‘î2î3šî7fî:Äî=ÉîAî xî)Èïýÿ wTVm$DFfileacceptabletoVerifyDF,itisusefultorunSModel/n,which,althoughitimprovesthestateofthefilesonthelocaldisk,performsnotransferstofileservers.SModel/vensuresthatthecumulativeeffectofrepeatedrunsofSModel/nismovedtothefileservers.7vî ®ïb&pî ®ï_«î¶îñîgîkîJî$¦î(¸î+¶î/Cî1Òî4Vî:\ îA¾îE î ®ï^ îÖvî ®ï[‰î. îcîxdelaywhiletheimplementoronceagainfixestheproblem;runningVerifyDFbeforethefirstresubmissionwillnearlyalwaysavoidsuchdelays.20)Beforesubmittingacomponentforrelease,double-checkthesubdirectoriestowhichfilesarebeingreleased.TheReleaseToolcannot,ingeneral,checkthatrules2-4areobeyed.Uniformityheregreatlysimplifiesbrowsing.21)AftersuccessfullyrunningVerifyDF(rule19),besuretorunSModel/v.InthecourseofmakingaDFfileacceptabletoVerifyDF,itisusefultorunSModel/n,which,althoughitimprovesthestateofthefilesonthelocaldisk,performsnotransferstofileservers.SModel/vensuresthatthecumulativeeffectofrepeatedrunsofSModel/nismovedtothefileservers.7pî ®ïb)îœî•î9 î¢î#-î'î*šî->î3€î8üî?îDîF·î ®ï`‚ îèî”îÁî &î#æî'vî ®ï^îîH îßî î!Îî#ìî(« î0¿î3 î;aî<üî@ÕîC¤îEíî ®ï\_pî ®ïYäî¶îñîgîkîJî$¦î(¸î+¶î/Cî1Òî4Vî:\ îA¾îE î ®ïX= îÖvî ®ïUÂî îŒ îÂîÖî$ßî(î*Òî,¡î/†î1+î3¯î8Ãpî ®ïSGî”î îsîCîDî…î (î"© î)pî+6î1åî3Sî4Öî9î:Ìî=zîB¾îE)î ®ïQ î†îùîîƒîÐî!¦î$"î',î)Nî+Êî/-î2�î8ˆî:«î@VîB!îD§î ®ïOøîëîâîÞî¾î/ î%Hî)%î*ðî0�î3Éî5”î:Òî<ßî>\îBôîD´îG%î ®ïNQxî)ÈïövTVm$ESROMANþYÿ TIMESROMANýÌÿLOGOü´ÿ TIMESROMANþÿ TIMESROMANþŸ ÿGACHAþæÿ HELVETICAþŸÿ TIMESROMANþæÿ TIMESROMANþŸÿ TIMESROMANþŸÿ TIMESROMANþYÿ TIMESROMANýÌÿLOGOü´ÿ TIMESROMANþÿ TIMESROMANþŸ14-Mar-83 14:43:10Ì8 V! ö-Ô4 ¦@«Cj/FDš�kÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿISLReleaseProcedures.tioga14-Mar-83 15:42:35