/*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun,4)*/ Package Utils; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(1),419(45,25))*/ /*** USER DEFINED TYPES ***/ /* All user defined types need to be prepared for distribution in such a way that two operators for serializing/deserializing the data are defined. If the type is named one operator to convert the type to string, ToStr, and one operator to convert a given string to the type, to, is needed. */ /* NOTE: Within operator definitions no SDL-procedures can be called! Only operators and external C-functions that return values are available. */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(1),422(20,65))*/ NEWTYPE RoomIdType struct rId CHARSTRING; sId CHARSTRING; operators roomIdTypeToStr:RoomIdType->Charstring; toRoomIdType:Charstring->RoomIdType; operator roomIdTypeToStr referenced; operator toRoomIdType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(1),776(20,105))*/ NEWTYPE PhysReplyType LITERALS ValueRep, WarningRep, ErrorRep, AckRep; operators physReplyTypeToStr:PhysReplyType->Charstring; toPhysReplyType:Charstring->PhysReplyType; operator physReplyTypeToStr referenced; operator toPhysReplyType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(1),773(20,145))*/ NEWTYPE LightSceneType struct name CharString; rIll Lux; dIll Lux; ls LightSourceListType; operators lightSceneTypeToStr: LightSceneType->Charstring; toLightSceneType: Charstring->LightSceneType; operator lightSceneTypeToStr referenced; operator toLightSceneType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(2),995(20,45))*/ NEWTYPE LightSourceListType array(Integer, LightSourceType) operators /* it is assumed that the above array has exactly 3 entries! */ lightSourceListTypeToStr: LightSourceListType->Charstring; toLightSourceListType: Charstring->LightSourceListType; operator lightSourceListTypeToStr referenced; operator toLightSourceListType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(2),983(20,85))*/ NEWTYPE BlindPos struct h Percent; a Angle; operators blindPosToStr: BlindPos->Charstring; toBlindPos: Charstring->BlindPos; operator blindPosToStr referenced; operator toBlindPos referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(3),812(20,40))*/ NEWTYPE CalTimeType struct year, month, day, hour, min, sec Integer; operators toTime: CalTimeType -> Time; fromTime: Time->CalTimeType; calTimeTypeToStr: CalTimeType->Charstring; toCalTimeType: Charstring->CalTimeType; operator calTimeTypeToStr referenced; operator toCalTimeType referenced; /*#ADT (B) #BODY SDL_Time #(toTime)(#(CalTimeType) calTime) { struct tm tempTime; SDL_Time sdlTime; tempTime.tm_year = calTime.year-1900; tempTime.tm_mon = calTime.month-1; tempTime.tm_mday = calTime.day; tempTime.tm_hour = calTime.hour; tempTime.tm_min = calTime.min; tempTime.tm_sec = calTime.sec; #if !defined(XTIMEASINT_TICKS) && !defined(XTIMEASINT_SECS) sdlTime.s = mktime(&tempTime); sdlTime.ns = 0; #else sdlTime = mktime(&tempTime); #endif return (sdlTime); } #(CalTimeType) #(fromTime)(SDL_Time actTime) { struct tm* tempTime; #(CalTimeType) calTime; #if !defined(XTIMEASINT_TICKS) && !defined(XTIMEASINT_SECS) tempTime = localtime (&(actTime.s)); #else tempTime = localtime (&(actTime)); #endif calTime.year = tempTime->tm_year + 1900; calTime.month = tempTime->tm_mon+1; calTime.day = tempTime->tm_mday; calTime.hour = tempTime->tm_hour; calTime.min = tempTime->tm_min; calTime.sec = tempTime->tm_sec; return calTime; } */ ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(4),1037(45,25))*/ /*** SYNTYPES ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(4),1040(20,40))*/ SYNTYPE Analog=Real ENDSYNTYPE; SYNTYPE Angle = Analog CONSTANTS -360:360 ENDSYNTYPE; SYNTYPE Binary=Integer CONSTANTS 0,1 ENDSYNTYPE; SYNTYPE Percent=Real CONSTANTS 0:100 ENDSYNTYPE; SYNTYPE Celsius=Real CONSTANTS -60:100 ENDSYNTYPE; SYNTYPE Lux=REAL CONSTANTS -1:120000 ENDSYNTYPE; SYNTYPE Watt=Real CONSTANTS -1000000:1000000 ENDSYNTYPE; /*Power unit*/ SYNTYPE ErrorType = INTEGER CONSTANTS 0:100 ENDSYNTYPE; SYNTYPE Joule = REAL CONSTANTS 0:3000000 ENDSYNTYPE; SYNTYPE DayTime = INTEGER ENDSYNTYPE; SYNTYPE Second=Integer CONSTANTS 1:3600 ENDSYNTYPE; SYNTYPE LightSourceType = INTEGER CONSTANTS 1:3 ENDSYNTYPE; SYNTYPE MvmntType = INTEGER CONSTANTS -1:1 ENDSYNTYPE; SYNTYPE RadIdType = Integer CONSTANTS 0:20 ENDSYNTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1112(95,20))*/ /*** USER DEFINED FUNCTIONS ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),830(20,40))*/ /*** USER DEFINED C-FUNCTIONS ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),839(20,55))*/ procedure cSinus; fpar IN r Real; RETURNS Real; EXTERNAL; /*#CODE #HEADING extern SDL_Real cSinus(SDL_Real); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1130(95,75))*/ procedure cSqrt; fpar IN r Real; RETURNS Real; EXTERNAL; /*#CODE #HEADING extern SDL_Real cSqrt(SDL_Real); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),836(20,90))*/ procedure cArcSinus; fpar IN r Real; RETURNS Real; EXTERNAL; /*#CODE #HEADING extern SDL_Real cArcSinus(SDL_Real); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1148(95,110))*/ procedure cExp; fpar IN r Real; RETURNS Real; EXTERNAL; /*#CODE #HEADING extern SDL_Real cExp(SDL_Real); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),833(20,125))*/ procedure cArcTangens; fpar IN r Real; RETURNS Real; EXTERNAL; /*#CODE #HEADING extern SDL_Real cArcTangens(SDL_Real); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),890(20,160))*/ /* Proz. zur Umwandlung von duration nach Real */ procedure dur2Real; fpar IN dur Duration; RETURNS REAL; EXTERNAL; /*#CODE #HEADING extern SDL_Real dur2Real(SDL_Duration); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1133(105,160))*/ procedure getCalenderTimeString; fpar IN d Time; RETURNS Charstring; EXTERNAL; /*#CODE #HEADING extern char *getCalenderTimeString(#(Time)); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1115(95,40))*/ procedure absReal referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(5),1121(95,55))*/ procedure maxReal referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),857(45,25))*/ /*** I/O-FUNCTIONS ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),884(115,25))*/ /*#include 'file.pr' */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),875(25,40))*/ /* Proz zum Ausdruck eines beliebigen Analogwerts mit der aktuellen Zeit */ procedure printAn; fpar IN c CharString, IN a Analog, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printAn(SDL_Charstring, #(Analog), SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),872(95,40))*/ /* Proz zum Ausdruck eines beliebigen Binaerwerts mit der aktuellen Zeit */ procedure printBi; fpar IN c Charstring, IN b Binary, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printBi(SDL_Charstring, #(Binary), SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),869(25,85))*/ /* Proz zum Ausdruck eines beliebigen Boolwerts mit der aktuellen Zeit */ procedure printBool; fpar IN c CharString, IN b Boolean, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printBool(SDL_Charstring, #(Boolean), SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),866(95,85))*/ /* Proz zum Ausdruck eines beliebigen Duartionwerts mit der aktuellen Zeit */ procedure printDur; fpar IN c CharString, IN d Duration, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printDur(SDL_Charstring, #(Duration), SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),863(25,130))*/ /* Proz zum Ausdruck eines beliebigen Strings mit der aktuellen Zeit */ procedure printIt; fpar IN c CharString, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printIt(SDL_Charstring, SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(6),860(95,130))*/ /* Proz zum Ausdruck eines beliebigen Integerwerts mit der aktuellen Zeit */ procedure printInt; fpar IN c CharString, IN i Integer, IN dur Time; EXTERNAL; /*#CODE #HEADING extern void printInt(SDL_Charstring, #(Integer), SDL_Time); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(7),320(45,25))*/ /*** PREDEFINED TYPES ***/ /* conversion functions implemented in C to be able to use them within operator definitions! */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(7),323(20,55))*/ /* BOOLEAN */ procedure booleanToStr; fpar in b Boolean; returns Charstring; external; procedure toBoolean; fpar in s Charstring; returns Boolean; external; /*#CODE #HEADING extern SDL_Charstring booleanToStr(SDL_Boolean); extern SDL_Boolean toBoolean(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(7),347(105,55))*/ /* REAL */ procedure realToStr; fpar in r Real; returns Charstring; external; procedure toReal; fpar in s Charstring; returns Real; external; /*#CODE #HEADING extern SDL_Charstring realToStr(SDL_Real); extern SDL_Real toReal(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(7),332(20,120))*/ /* INTEGER */ procedure integerToStr; fpar in i Integer; returns Charstring; external; procedure toInteger; fpar in s Charstring; returns Integer; external; /*#CODE #HEADING extern SDL_Charstring integerToStr(SDL_Integer); extern SDL_Integer toInteger(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(8),449(20,50))*/ /* CHARSTRING */ /* only defined to simplify automatic generation of serialize constructs */ procedure charstringToStr; fpar in s Charstring; returns Charstring; external; procedure toCharstring; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring charstringToStr(SDL_Charstring); extern SDL_Charstring toCharstring(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(8),365(20,125))*/ /* DURATION */ procedure durationToStr; fpar in d Duration; returns Charstring; external; procedure toDuration; fpar in s Charstring; returns Duration; external; /*#CODE #HEADING extern SDL_Charstring durationToStr(SDL_Duration); extern SDL_Duration toDuration(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(8),371(105,125))*/ /* TIME */ procedure timeToStr; fpar in t Time; returns Charstring; external; procedure toTime; fpar in s Charstring; returns Time; external; /*#CODE #HEADING extern SDL_Charstring timeToStr(SDL_Time); extern SDL_Time toTime(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(9),938(20,40))*/ /* PID */ /* NOTE: PIDs are only valid within a single partition. Therefore, Sending PID data across partitions makes no sense! Thus, the following functions will return an error. */ procedure pidToStr; fpar in pid PId; returns Charstring; external; procedure toPid; fpar in s Charstring; returns PId; external; /*#CODE #HEADING extern SDL_Charstring pidToStr(SDL_PId); extern SDL_PId toPId(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(9),1055(20,115))*/ /* CHARACTER */ procedure characterToStr; fpar in c Character; returns Charstring; external; procedure toCharacter; fpar in s Charstring; returns Character; external; /*#CODE #HEADING extern SDL_Charstring characterToStr(SDL_Character); extern SDL_Character toCharacter(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),485(45,25))*/ /*** STRING-FUNCTIONS ***/ /* defined in C to be able to use them within operator definitions also */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),1061(20,45))*/ /* the following procedures handle strings that are separated by spaces */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),920(20,60))*/ procedure to1stString; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring to1stString(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),917(95,60))*/ procedure to2ndString; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring to2ndString(SDL_Charstring); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),965(20,105))*/ /* the following procedures can be used to concatenate and tokenize strings using special (braced) delimiters */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),962(20,120))*/ /* create string with a single token, stringCREATE(a) = (a) */ procedure stringCREATE; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring stringCREATE(SDL_Charstring s); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),1007(95,120))*/ /* construct new string by appending second string, stringAPPEND((a)(b), c) = (a)(b)(c) */ procedure stringAPPEND; fpar in s1 Charstring, in s2 Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring stringAPPEND(SDL_Charstring s1, SDL_Charstring s2); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),959(20,165))*/ /* extract first string, stringCAR((a)(b)(c)) = a */ procedure stringCAR; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring stringCAR(SDL_Charstring s); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(10),956(95,165))*/ /* remove first string and return remaining string (inluding delimiters!), stringCDR((a)(b)(c)) = (b)(c) */ procedure stringCDR; fpar in s Charstring; returns Charstring; external; /*#CODE #HEADING extern SDL_Charstring stringCDR(SDL_Charstring s); */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1124(45,25))*/ /*** USER-DEFINED PROCEDURES ***/ /* used during signal propagation */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1145(65,135))*/ /* used in setPhysVal */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1079(30,50))*/ procedure beginsWithId referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1085(30,70))*/ procedure getFirstId referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1106(70,70))*/ procedure getLastId referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1109(30,85))*/ procedure cutFirstId referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1127(70,85))*/ procedure cutLastId referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1100(30,105))*/ procedure cutRightSubStr referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(11),1142(30,135))*/ procedure getPRT referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(12),908(45,25))*/ /*** STANDARD SIGNALS ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(12),911(20,50))*/ SIGNAL go(Charstring); SIGNAL dummy; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(12),1136(45,75))*/ /*** RPC-DEFINITIONS ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(12),1139(20,95))*/ REMOTE PROCEDURE setPhysVal; FPAR IN CharString; REMOTE PROCEDURE setPhysServerVal; FPAR IN CharString; REMOTE PROCEDURE putAnalogVal; FPAR IN CharString, Analog; REMOTE PROCEDURE putBinaryVal; FPAR IN CharString, Binary; REMOTE PROCEDURE putPanelVal; FPAR IN CharString, CharString; REMOTE PROCEDURE pollPhysVal; FPAR IN CharString; REMOTE PROCEDURE putPhysServerVal; FPAR IN CharString, Charstring; REMOTE PROCEDURE setPhysEventMode; FPAR IN CharString; REMOTE PROCEDURE announceInstance; FPAR IN PID, CharString; REMOTE PROCEDURE revokeInstance; FPAR IN PID; REMOTE PROCEDURE getPID; FPAR CharString; RETURNS PID; REMOTE PROCEDURE pollPhysData; FPAR IN CharString, IN Real; REMOTE PROCEDURE putPhysData; FPAR IN CharString, IN Charstring, IN Analog, IN Time; REMOTE PROCEDURE putPhysSignal; FPAR IN CharString, IN CharString, IN Charstring; REMOTE PROCEDURE setPhysSignal; FPAR IN CharString, IN Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(13),722(45,25))*/ /*** DISTRIBUTION ***/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(13),728(20,40))*/ /* is called by ProtoCtrl to send serialized signal from ProtoDriver of the remote partition to ProtoStubs */ REMOTE PROCEDURE setSignalVal; FPAR IN Charstring, Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun(13),731(20,55))*/ /* is called by ProtoStub to send serialized signal to remote partition containing ProtoDriver via ProtoCtrl */ REMOTE PROCEDURE putProtoStubSignal; FPAR IN CharString, Charstring, Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/Utils.sun,4)*/ endpackage Utils; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop,4)*/ Operator roomIdTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop,1)*/ ;fpar r RoomIdType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop(1),131(55,25))*/ DCL rs Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop(1),116(30,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop(1),119(30,55))*/ task {/*#E*/ rs:= call stringCREATE(r!rid);}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop(1),134(30,70))*/ task /*#E*/ rs := call stringAPPEND(rs, r!sid); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop(1),125(35,85))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/roomIdTypeToStr.sop,4)*/ endoperator roomIdTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop,4)*/ Operator toRoomIdType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop,1)*/ ;fpar s Charstring; returns RoomIdType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),143(55,10))*/ /* each call inside operators must either be another operator call or a C-function. SDL-procedures or RPCs cannot be called! */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),146(80,40))*/ DCL r RoomIdType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),116(30,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),119(30,40))*/ task /*#E*/ r!rid := call stringCAR(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),131(30,55))*/ task /*#E*/ r!sid := call stringCAR(call stringCDR(s)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop(1),137(35,70))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toRoomIdType.sop,4)*/ endoperator toRoomIdType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop,4)*/ operator physReplyTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop,1)*/ ;fpar r PhysReplyType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),194(105,25))*/ DCL s Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),116(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),167(55,40))*/ task /*#E*/ s := ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),119(55,55))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),128(72,62))*/ (ValueRep): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),125(80,70))*/ task /*#E*/ s := 'ValueRep'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),182(117,62))*/ (WarningRep): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),140(105,70))*/ task /*#E*/ s := 'WarningRep'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),185(142,62))*/ (ErrorRep): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),143(130,70))*/ task /*#E*/ s := 'ErrorRep'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),188(167,62))*/ (AckRep): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),146(155,70))*/ task /*#E*/ s := 'AckRep'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),119(55,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop(1),131(60,85))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/physReplyTypeToStr.sop,4)*/ endoperator physReplyTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop,4)*/ operator toPhysReplyType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop,1)*/ ;fpar s Charstring; returns PhysReplyType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),188(105,25))*/ DCL r PhysReplyType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),140(55,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),134(55,70))*/ decision /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),152(72,77))*/ ('ValueRep'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),128(80,85))*/ task /*#E*/ r := ValueRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),155(117,77))*/ ('WarningRep'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),125(105,85))*/ task /*#E*/ r := WarningRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),158(142,77))*/ ('ErrorRep'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),122(130,85))*/ task /*#E*/ r := ErrorRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),161(167,77))*/ ('AckRep'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),119(155,85))*/ task /*#E*/ r := AckRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),134(55,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop(1),116(60,100))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toPhysReplyType.sop,4)*/ endoperator toPhysReplyType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop,4)*/ operator lightSceneTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop,1)*/ ;fpar ls LightSceneType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),125(105,25))*/ DCL rs Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),122(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),152(55,40))*/ task {/*#E*/ rs := call stringCREATE(ls!name);}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),119(55,55))*/ task {/*#E*/ rs:= call stringAPPEND(rs, call realToStr(ls!rIll));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),137(55,70))*/ task {/*#E*/ rs:= call stringAPPEND(rs, call realToStr(ls!rIll));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),146(55,85))*/ task {/*#E*/ rs:= call stringAPPEND(rs, lightSourceListTypeToStr(ls!ls));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop(1),116(60,100))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSceneTypeToStr.sop,4)*/ endoperator lightSceneTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop,4)*/ operator toLightSceneType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop,1)*/ ;fpar s Charstring; returns LightSceneType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),116(80,40))*/ DCL ls LightSceneType; DCL ts Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),128(30,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),125(30,40))*/ task /*#E*/ ls!name := call stringCAR(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),140(30,55))*/ task /*#E*/ ts := call stringCDR(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),146(30,70))*/ task /*#E*/ ls!rIll := call toReal(call stringCAR(ts)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),152(30,85))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),122(30,100))*/ task /*#E*/ ls!dIll := call toReal(call stringCAR(s)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),158(30,115))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),164(30,130))*/ task /*#E*/ ls!ls := toLightSourceListType(call stringCAR(ts)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop(1),119(35,145))*/ return /*#E*/ ls; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSceneType.sop,4)*/ endoperator toLightSceneType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop,4)*/ operator lightSourceListTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop,1)*/ ;fpar ls LightSourceListType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),116(130,10))*/ DCL rs Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),119(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),176(55,40))*/ task {/*#E*/ rs := call stringCREATE(call integerToStr(ls(1)));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),206(55,55))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ls(2)));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),212(55,70))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ls(3)));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop(1),128(60,85))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/lightSourceListTypeToStr.sop,4)*/ endoperator lightSourceListTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop,4)*/ operator toLightSourceListType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop,1)*/ ;fpar s Charstring; returns LightSourceListType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),116(105,10))*/ DCL ls LightSourceListType; DCL ts Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),119(55,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),134(55,55))*/ task {/*#E*/ ls(1) := call toInteger(call stringCAR(s));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),140(55,70))*/ task /*#E*/ ts := call stringCDR(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),146(55,85))*/ task {/*#E*/ ls(2) := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),164(55,100))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),161(55,115))*/ task {/*#E*/ ls(3) := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop(1),128(60,130))*/ return /*#E*/ ls; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toLightSourceListType.sop,4)*/ endoperator toLightSourceListType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop,4)*/ operator blindPosToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop,1)*/ ;fpar bp BlindPos; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop(1),125(80,40))*/ DCL rs Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop(1),122(55,55))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop(1),134(55,70))*/ task {/*#E*/ rs := call stringCREATE(call realToStr(bp!h));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop(1),119(55,85))*/ task {/*#E*/ rs:= call stringAPPEND(rs, call realToStr(bp!a));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop(1),116(60,100))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/blindPosToStr.sop,4)*/ endoperator blindPosToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop,4)*/ operator toBlindPos /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop,1)*/ ;fpar s Charstring; returns BlindPos; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop(1),116(80,40))*/ DCL bp BlindPos; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop(1),128(30,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop(1),125(30,40))*/ task /*#E*/ bp!h := (call toReal(call stringCAR(s))); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop(1),122(30,55))*/ task /*#E*/ bp!a := call toReal(call stringCAR(call stringCDR(s))); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop(1),119(35,70))*/ return /*#E*/ bp; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toBlindPos.sop,4)*/ endoperator toBlindPos; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop,4)*/ operator calTimeTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop,1)*/ ;fpar ct CalTimeType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),116(80,10))*/ DCl rs Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),134(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),131(55,40))*/ task {/*#E*/ rs := call stringCREATE(call integerToStr(ct!year));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),128(55,55))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ct!month));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),125(55,70))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ct!day));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),149(55,85))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ct!hour));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),152(55,100))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ct!min));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),155(55,115))*/ task {/*#E*/ rs := call stringAPPEND(rs, call integerToStr(ct!sec));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop(1),122(60,130))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/calTimeTypeToStr.sop,4)*/ endoperator calTimeTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop,4)*/ operator toCalTimeType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop,1)*/ ;fpar s Charstring; returns CalTimeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),155(105,10))*/ DCL ts Charstring; DCL ct CalTimeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),134(30,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),131(30,55))*/ task {/*#E*/ ct!year := call toInteger(call stringCAR(s));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),128(30,70))*/ task /*#E*/ ts := call stringCDR(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),125(30,85))*/ task {/*#E*/ ct!month := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),122(30,100))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),119(30,115))*/ task {/*#E*/ ct!day := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),161(105,40))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),158(105,55))*/ task {/*#E*/ ct!hour := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),170(105,70))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),167(105,85))*/ task {/*#E*/ ct!min := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),179(105,100))*/ task /*#E*/ ts := call stringCDR(ts); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),176(105,115))*/ task {/*#E*/ ct!sec := call toInteger(call stringCAR(ts));}; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop(1),116(110,145))*/ return /*#E*/ ct; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/toCalTimeType.sop,4)*/ endoperator toCalTimeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd,4)*/ Procedure absReal /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd,1)*/ ;FPAR IN r Real; RETURNS Real; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),173(55,10))*/ DCL rTemp Real; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),530(55,40))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),545(67,52))*/ (<0): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),542(55,55))*/ task /*#E*/ rTemp:= -1*r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),548(60,70))*/ return /*#E*/ rTemp; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),539(92,47))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),536(85,55))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd(1),530(55,40))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/absReal.spd,4)*/ endprocedure absReal; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd,4)*/ Procedure maxReal /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd,1)*/ ;FPAR IN r Real, IN s Real; RETURNS Real; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),530(55,40))*/ decision /*#E*/ r>s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),545(67,52))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),548(60,55))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),539(92,47))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),536(85,55))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd(1),530(55,40))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/maxReal.spd,4)*/ endprocedure maxReal; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd,4)*/ Procedure beginsWithId /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd,1)*/ ;FPAR IN s CharString, IN id CharString; RETURNS Boolean; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),173(55,10))*/ DCL rs, tempS CharString; DCL sLen, idLen INTEGER; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),419(80,25))*/ /* returns true iff the string s starts with the given id and the next character is not a number */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),152(55,40))*/ task /*#E*/ sLen:= Length (s), rs:=''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),290(55,55))*/ task /*#E*/ idLen:= Length (id); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),155(55,70))*/ decision /*#E*/ sLen='0') AND (s(idLen+1) <='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),449(92,52))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),224(85,70))*/ return /*#E*/ true; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),446(117,47))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),434(110,70))*/ return /*#E*/ false; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),422(80,40))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),341(37,122))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),344(35,130))*/ return /*#E*/ false; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),326(55,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),404(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd(1),155(55,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/beginsWithId.spd,4)*/ endprocedure beginsWithId; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd,4)*/ Procedure getFirstId /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd,1)*/ ;FPAR IN s CharString; RETURNS CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),173(55,10))*/ DCL rs CharString; DCL sLen, no INTEGER; DCL firstNumber Boolean := False; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),419(80,25))*/ /* returns the first id of the string s */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),152(55,40))*/ task /*#E*/ sLen:= Length (s), rs:='',no:=0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),452(55,55))*/ decision /*#E*/ sLen=no; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),458(12,62))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),170(10,70))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),464(67,67))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),452(55,55))*/ enddecision; grst10: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),461(55,70))*/ task /*#E*/ no:=no+1 /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),488(80,70))*/ /* no will point to the first character, which is not part of the first id */ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),467(55,85))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),479(47,70))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),461(55,70))*/ join /*#E*/ grst10; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),476(67,97))*/ (true): grst11: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),506(55,100))*/ decision /*#E*/ sLen=no; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),512(12,107))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),344(10,115))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),509(67,112))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),482(55,115))*/ task /*#E*/ no := no+1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),494(55,130))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),500(47,130))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),515(75,135))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),314(105,115))*/ task /*#E*/ rs:= SubString(s, 1, no-1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),524(110,130))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),494(55,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),506(55,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),506(55,100))*/ join /*#E*/ grst11; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd(1),467(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getFirstId.spd,4)*/ endprocedure getFirstId; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd,4)*/ Procedure getLastId /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd,1)*/ ;FPAR IN s CharString; RETURNS CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),173(55,10))*/ DCL rs CharString; DCL sLen, no INTEGER; DCL firstNumber Boolean := False; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),419(80,25))*/ /* returns the first id of the string s */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),152(55,40))*/ task /*#E*/ sLen:= Length (s), rs:=''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),452(55,55))*/ decision /*#E*/ sLen=0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),458(12,62))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),170(10,70))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),464(67,67))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),530(55,70))*/ task /*#E*/ no:=SLen; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),452(55,55))*/ enddecision; grst12: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),467(55,85))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),548(37,92))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),545(30,100))*/ task /*#E*/ no:= no-1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),467(55,85))*/ join /*#E*/ grst12; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),476(67,97))*/ (false): grst13: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),506(55,115))*/ decision /*#E*/ no=1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),512(12,122))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),344(10,130))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),509(67,127))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),482(55,130))*/ task /*#E*/ no := no-1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),494(55,145))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),500(55,145))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),515(92,115))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),314(105,115))*/ task /*#E*/ rs:= SubString(s, no+1, SLen-no); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),524(110,130))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),494(55,145))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),506(55,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),506(55,115))*/ join /*#E*/ grst13; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),467(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd(1),488(80,70))*/ /* no will point to the first character, which is not part of the first id */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getLastId.spd,4)*/ endprocedure getLastId; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd,4)*/ Procedure cutFirstId /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd,1)*/ ;FPAR IN s CharString; RETURNS CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),173(55,10))*/ DCL rs CharString; DCL sLen, no INTEGER; DCL firstNumber Boolean := False; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),419(80,25))*/ /* cuts the first id of the string s and returns the resulting string*/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),152(55,40))*/ task /*#E*/ sLen:= Length (s), rs:='',no:=0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),452(55,55))*/ decision /*#E*/ sLen=no; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),458(12,62))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),170(10,70))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),464(67,67))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),452(55,55))*/ enddecision; grst14: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),461(55,70))*/ task /*#E*/ no:=no+1 /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),488(80,70))*/ /* no will point to the first character, which is not part of the first id */ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),467(55,85))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),479(47,70))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),461(55,70))*/ join /*#E*/ grst14; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),476(67,97))*/ (true): grst15: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),506(55,100))*/ decision /*#E*/ sLen=no; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),512(12,107))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),344(10,115))*/ return /*#E*/ ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),509(67,112))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),482(55,115))*/ task /*#E*/ no := no+1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),494(55,130))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),500(47,130))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),515(75,135))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),314(105,115))*/ task /*#E*/ rs:= SubString(s, no, SLen-no+1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),524(110,130))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),494(55,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),506(55,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),506(55,100))*/ join /*#E*/ grst15; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd(1),467(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutFirstId.spd,4)*/ endprocedure cutFirstId; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd,4)*/ Procedure cutLastId /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd,1)*/ ;FPAR IN s CharString; RETURNS CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),173(55,10))*/ DCL rs CharString; DCL sLen, no INTEGER; DCL firstNumber Boolean := False; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),419(80,25))*/ /* returns all ids of the string s but the last*/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),152(55,40))*/ task /*#E*/ sLen:= Length (s), rs:=''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),452(55,55))*/ decision /*#E*/ sLen=0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),458(12,62))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),170(10,70))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),464(67,67))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),530(55,70))*/ task /*#E*/ no:=SLen; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),452(55,55))*/ enddecision; grst16: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),467(55,85))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),548(37,92))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),545(30,100))*/ task /*#E*/ no:= no-1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),467(55,85))*/ join /*#E*/ grst16; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),476(67,97))*/ (false): grst17: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),506(55,115))*/ decision /*#E*/ no=1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),512(12,122))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),344(10,130))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),509(67,127))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),482(55,130))*/ task /*#E*/ no := no-1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),494(55,145))*/ decision /*#E*/ (s(no) >='0') AND (s(no)<='9'); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),500(55,145))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),515(92,115))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),314(105,115))*/ task /*#E*/ rs:= SubString(s, 1, no); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),524(110,130))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),494(55,145))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),506(55,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),506(55,115))*/ join /*#E*/ grst17; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),467(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd(1),488(80,70))*/ /* no will point to the first character, which is not part of the first id */ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutLastId.spd,4)*/ endprocedure cutLastId; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd,4)*/ Procedure cutRightSubStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd,1)*/ ;FPAR IN longS CharString, IN shortS CharString; RETURNS CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),173(55,10))*/ DCL rs, tempS CharString; DCL sLen, lLen INTEGER; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),419(80,25))*/ /* Procedure to cut the given substring (shortS) from the given string name (longS). If substring is not part of name, it returns the name, otherwise the left part of the name*/ /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),149(55,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),152(55,55))*/ task /*#E*/ sLen:=Length (shortS), rs:=''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),290(55,70))*/ task /*#E*/ lLen:=Length (longS); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),155(55,85))*/ decision /*#E*/ sLen>lLen; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),200(12,92))*/ (True): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),170(10,100))*/ return /*#E*/ longS; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),410(67,97))*/ (False): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),404(55,100))*/ decision /*#E*/ longS= shortS; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),416(37,107))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),413(35,115))*/ return /*#E*/ ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),461(67,112))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),470(55,115))*/ task /*#E*/ rs := SubString (longS, lLen-slen+1, slen); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),476(55,130))*/ decision /*#E*/ rs = shortS; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),479(92,100))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),314(105,100))*/ task /*#E*/ rs:= SubString(longS, 1, lLen-sLen); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),344(110,115))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),485(67,142))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),482(60,145))*/ return /*#E*/ longS; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),476(55,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),404(55,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd(1),155(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/cutRightSubStr.spd,4)*/ endprocedure cutRightSubStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd,4)*/ Procedure getPRT /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd,1)*/ ;FPAR IN s CharString; RETURNS PhysReplyType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),146(80,10))*/ DCL rs PhysReplyType; DCL sLen INTEGER; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),116(55,10))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),512(55,25))*/ task /*#E*/ sLen := Length(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),557(55,40))*/ decision /*#E*/ sLen = 0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),560(67,52))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),248(55,55))*/ decision /*#E*/ s(1)= 'A'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),263(67,67))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),518(55,70))*/ decision /*#E*/ sLen>=3; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),521(67,82))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),257(55,100))*/ decision /*#E*/ s(2)= 'C'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),266(67,112))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),260(55,115))*/ decision /*#E*/ s(3)= 'K'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),278(67,127))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),275(55,130))*/ task /*#E*/ rs:=AckRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),287(60,160))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),272(47,122))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),260(55,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),269(47,107))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),257(55,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),524(37,77))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),518(55,70))*/ enddecision; grst18: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),233(30,145))*/ task /*#E*/ rs:=ValueRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),125(35,160))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),527(92,62))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),293(80,70))*/ decision /*#E*/ s(1)= 'W'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),302(92,82))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),530(80,85))*/ decision /*#E*/ sLen>=7; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),533(92,97))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),296(80,100))*/ decision /*#E*/ s(2)= 'A'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),305(92,112))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),299(80,115))*/ decision /*#E*/ s(3)= 'R'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),326(92,127))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),308(80,130))*/ decision /*#E*/ s(4)= 'N'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),317(92,142))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),311(80,145))*/ decision /*#E*/ s(5)= 'I'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),320(92,157))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),314(80,160))*/ decision /*#E*/ s(6)= 'N'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),332(92,172))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),329(80,175))*/ decision /*#E*/ s(7)= 'G'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),368(92,187))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),362(80,190))*/ task /*#E*/ rs:=WarningRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),359(85,205))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),386(117,182))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),329(80,175))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),389(117,167))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),314(80,160))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),392(117,152))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),311(80,145))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),395(117,137))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),308(80,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),398(117,122))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),299(80,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),401(117,107))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),296(80,100))*/ enddecision; grst19: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),377(105,190))*/ task /*#E*/ rs:=ValueRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),380(110,205))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),536(37,92))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),233(30,145))*/ join /*#E*/ grst18; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),530(80,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),404(142,77))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),407(130,85))*/ decision /*#E*/ s(1)= 'E'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),548(142,97))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),545(130,100))*/ decision /*#E*/ sLen>=5; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),551(142,112))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),410(130,115))*/ decision /*#E*/ s(2)= 'R'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),443(142,127))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),413(130,130))*/ decision /*#E*/ s(3)= 'R'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),452(142,142))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),416(130,145))*/ decision /*#E*/ s(4)= 'O'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),446(142,157))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),419(130,160))*/ decision /*#E*/ s(5)= 'R'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),497(142,172))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),431(130,175))*/ task /*#E*/ rs:=ErrorRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),428(135,190))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),476(112,167))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),419(130,160))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),473(112,152))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),416(130,145))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),470(112,137))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),413(130,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),467(112,122))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),410(130,115))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),554(112,107))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),545(130,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),464(112,92))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),407(130,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),377(105,190))*/ join /*#E*/ grst19; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),293(80,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),248(55,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),572(117,47))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),563(110,55))*/ return /*#E*/ ValueRep; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd(1),557(55,40))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/Library/Reuse/Utils/getPRT.spd,4)*/ endprocedure getPRT; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun,7)*/ USE Utils; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun,4)*/ Package Project; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(1),791(20,40))*/ NEWTYPE SignalStateType LITERALS halt, go; operators signalStateTypeToStr:SignalStateType->Charstring; toSignalStateType:Charstring->SignalStateType; operator signalStateTypeToStr referenced; operator toSignalStateType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(1),812(20,75))*/ NEWTYPE CreationModeType LITERALS period, event; operators creationModeTypeToStr:CreationModeType->Charstring; toCreationModeType:Charstring->CreationModeType; operator creationModeTypeToStr referenced; operator toCreationModeType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(1),848(20,110))*/ NEWTYPE TrackType LITERALS regular, fast; operators trackTypeToStr:TrackType->Charstring; toTrackType:Charstring->TrackType; operator trackTypeToStr referenced; operator toTrackType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(1),860(20,150))*/ NEWTYPE GateStateType LITERALS opened, closed; operators gateStateTypeToStr:GateStateType->Charstring; toGateStateType:Charstring->GateStateType; operator gateStateTypeToStr referenced; operator toGateStateType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(2),902(20,40))*/ NEWTYPE TrackDurationType STRUCT trType TrackType; ts1Dur Duration; ts1SigDur Duration; sigTs2Dur Duration; breakDur Duration; minDistDur Duration; operators trackDurationTypeToStr:TrackDurationType->Charstring; toTrackDurationType:Charstring->TrackDurationType; operator trackDurationTypeToStr referenced; operator toTrackDurationType referenced; ENDNEWTYPE; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),938(85,30))*/ /* Signals used for reporting and monitoring */ SIGNAL repTrain (CharString, Duration, Duration); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),845(20,40))*/ /* Signals of EnvTrainSens: */ Signal newTrain (CharString); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),842(20,55))*/ /* Signals of EnvTrain: */ Signal setMinDelayDur (CharString, Duration); Signal trainPassed (CharString); SIGNAL trainArrived (CharString); SIGNAL newTrainStart (CharString); SIGNAL newTrainStop (CharString, Real); Signal newSeqTrain (CharString, CharString); Signal initTrain (CharString, TrackDurationType, SignalStateType); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),839(20,85))*/ /* Signals of EnvSignal: */ Signal newSignalState (CharString, SignalStateType); Signal getSignalState (CharString); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),836(20,100))*/ /* Signals of EnvTrack: */ Signal setPerToCreTrain (CharString, Duration); Signal creNewTrain (CharString); SIGNAL initTrack (CharString, TrackDurationType, Duration); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),869(20,125))*/ /* Signals of EnvGate: */ Signal newGateState (GateStateType); Signal getGateState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),872(20,140))*/ /* Signals of EnvRoad: */ Signal genCars (Integer); Signal setPeriod (Duration); Signal gateOpened; Signal gateClosed; Signal setDecrPer (Duration); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),944(90,140))*/ /* Signals of CrossingCtrl */ Signal setStrategy (CharString); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),884(85,165))*/ /* SIgnals of TrackCtrl */ Signal askForGo (CharString); Signal noTrains (CharString); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),875(20,170))*/ /* SIGNALS of GateCtrl*/ Signal setGate (GateStateType); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),878(20,185))*/ /* Signals of SignalCtrl: */ Signal setSignalState (CharString, SignalStateType); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(3),881(20,200))*/ /* Signals of RoadCtrl: */ Signal newCars (Boolean); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun(4),935(25,45))*/ /* Signals of EnvCrossing: */ SIGNAL initTracks(Integer, TrackDurationType, Duration); SIGNAL initTracksDone; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/Project.sun,4)*/ endpackage Project; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop,4)*/ operator SignalStateTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop,1)*/ ;fpar r SignalStateType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),212(80,40))*/ DCL rs CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),251(30,55))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),248(30,85))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),257(47,92))*/ (halt): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),245(55,100))*/ task /*#E*/ rs := 'halt'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),263(92,92))*/ (go): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),239(80,100))*/ task /*#E*/ rs := 'go'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),248(30,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop(1),242(35,115))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/signalStateTypeToStr.sop,4)*/ endoperator SignalStateTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop,4)*/ operator toSignalStateType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop,1)*/ ;fpar s Charstring; returns SignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),137(55,25))*/ DCL r SignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),134(5,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),131(5,70))*/ decision /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),143(22,77))*/ ('halt'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),128(30,85))*/ task /*#E*/ r := halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),149(67,77))*/ ('go'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),122(55,85))*/ task /*#E*/ r := go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),131(5,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop(1),125(10,100))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toSignalStateType.sop,4)*/ endoperator toSignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop,4)*/ operator creationModeTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop,1)*/ ;fpar r CreationModeType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),131(55,25))*/ DCL s Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),134(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),128(5,40))*/ task /*#E*/ s := ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),125(5,55))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),143(22,62))*/ (period): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),122(30,70))*/ task /*#E*/ s := 'period'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),146(67,62))*/ (event): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),119(55,70))*/ task /*#E*/ s := 'event'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),125(5,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop(1),116(10,85))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/creationModeTypeToStr.sop,4)*/ endoperator creationModeTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop,4)*/ operator toCreationModeType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop,1)*/ ;fpar s Charstring; returns CreationModeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),131(55,25))*/ DCL r CreationModeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),128(5,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),125(5,70))*/ decision /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),137(22,77))*/ ('period'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),122(30,85))*/ task /*#E*/ r := period; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),140(67,77))*/ ('event'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),119(55,85))*/ task /*#E*/ r := event; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),125(5,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop(1),116(10,100))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toCreationModeType.sop,4)*/ endoperator toCreationModeType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop,4)*/ operator trackTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop,1)*/ ;fpar r TrackType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),131(55,25))*/ DCL s Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),134(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),128(5,40))*/ task /*#E*/ s := ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),125(5,55))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),143(22,62))*/ (regular): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),122(30,70))*/ task /*#E*/ s := 'regular'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),146(67,62))*/ (fast): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),119(55,70))*/ task /*#E*/ s := 'fast'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),125(5,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop(1),116(10,85))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/trackTypeToStr.sop,4)*/ endoperator trackTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop,4)*/ operator toTrackType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop,1)*/ ;fpar s Charstring; returns TrackType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),131(55,25))*/ DCL r TrackType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),128(5,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),125(5,70))*/ decision /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),137(22,77))*/ ('regular'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),122(30,85))*/ task /*#E*/ r := regular; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),140(67,77))*/ ('fast'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),119(55,85))*/ task /*#E*/ r := fast; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),125(5,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop(1),116(10,100))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackType.sop,4)*/ endoperator toTrackType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop,4)*/ operator gateStateTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop,1)*/ ;fpar r GateStateType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),131(55,25))*/ DCL s Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),134(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),128(5,40))*/ task /*#E*/ s := ''; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),125(5,55))*/ decision /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),143(22,62))*/ (opened): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),122(30,70))*/ task /*#E*/ s := 'opened'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),146(67,62))*/ (closed): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),119(55,70))*/ task /*#E*/ s := 'closed'; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),125(5,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop(1),116(10,85))*/ return /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/gateStateTypeToStr.sop,4)*/ endoperator gateStateTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop,4)*/ operator toGateStateType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop,1)*/ ;fpar s Charstring; returns GateStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),131(55,25))*/ DCL r GateStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),128(5,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),125(5,70))*/ decision /*#E*/ s; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),137(22,77))*/ ('opened'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),122(30,85))*/ task /*#E*/ r := opened; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),140(67,77))*/ ('closed'): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),119(55,85))*/ task /*#E*/ r := closed; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),125(5,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop(1),116(10,100))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toGateStateType.sop,4)*/ endoperator toGateStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop,4)*/ operator trackDurationTypeToStr /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop,1)*/ ;fpar r TrackDurationType; returns Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),212(80,40))*/ DCL rs CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),209(30,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),239(30,55))*/ task /*#E*/ rs:=trackTypeToStr (r!trType); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),206(30,70))*/ task /*#E*/ rs:=rs//' '// (call durationToStr(r!ts1Dur)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),203(30,85))*/ task /*#E*/ rs := rs//' '//(call durationToStr(r!ts1SigDur)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),200(30,100))*/ task /*#E*/ rs := rs//' '//(call durationToStr(r!sigTs2Dur)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),227(30,115))*/ task /*#E*/ rs := rs//' '//(call durationToStr(r!breakDur)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),233(30,130))*/ task /*#E*/ rs := rs//' '//(call durationToStr(r!minDistDur)); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop(1),197(35,145))*/ return /*#E*/ rs; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/TrackDurationTypeToStr.sop,4)*/ endoperator trackDurationTypeToStr; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop,4)*/ operator toTrackDurationType /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop,1)*/ ;fpar s Charstring; returns TrackDurationType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),131(55,10))*/ DCL r TrackDurationType; DCL ts1 Charstring; DCL ts2 Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),161(5,40))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),188(5,55))*/ task /*#E*/ ts1 := call to1stString(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),158(5,85))*/ task /*#E*/ r!trType := toTrackType(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),194(5,115))*/ task /*#E*/ ts2 := call to2ndString(s); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),290(30,55))*/ task /*#E*/ ts1 := call to1stString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),299(30,85))*/ task /*#E*/ r!ts1Dur := call toDuration(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),296(30,115))*/ task /*#E*/ ts2 := call to2ndString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),200(55,55))*/ task /*#E*/ ts1 := call to1stString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),203(55,85))*/ task /*#E*/ r!ts1SigDur := call toDuration(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),206(55,115))*/ task /*#E*/ ts2 := call to2ndString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),212(80,55))*/ task /*#E*/ ts1 := call to1stString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),227(80,85))*/ task /*#E*/ r!sigTs2Dur := call toDuration(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),221(80,115))*/ task /*#E*/ ts2 := call to2ndString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),215(105,55))*/ task /*#E*/ ts1 := call to1stString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),230(105,85))*/ task /*#E*/ r!breakDur := call toDuration(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),233(105,115))*/ task /*#E*/ ts2 := call to2ndString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),239(130,55))*/ task /*#E*/ ts1 := call to1stString(ts2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),236(130,85))*/ task /*#E*/ r!minDistDur := call toDuration(ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop(1),242(135,115))*/ return /*#E*/ r; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/Project_SDL/toTrackDurationType.sop,4)*/ endoperator toTrackDurationType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sun,7)*/ USE Utils; USE Project; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sun,4)*/ Package SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sun(1),122(60,55))*/ SIGNALLIST SignalCtrlInp = go, getSignalState, setSignalState; SIGNALLIST SignalCtrlOutp = newSignalState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sun(1),125(25,50))*/ block type SignalCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sun,4)*/ endpackage SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt,4)*/ Block Type SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),158(20,32))*/ gate /*#E*/ oi in with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),159(12,40))*/ (SignalCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),164(167,32))*/ gate /*#E*/ oo out with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),165(167,40))*/ (SignalCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt,4)*/ substructure SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),128(27,32))*/ channel /*#E*/ oi from env via oi to SignalCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),129(40,40))*/ (SignalCtrlInp); endchannel oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),119(157,32))*/ channel /*#E*/ oo from SignalCtrlCtrl to env via oo with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),120(132,40))*/ (SignalCtrlOutp); endchannel oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt(1),116(65,35))*/ block SignalCtrlCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt,4)*/ endsubstructure SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrl.sbt,4)*/ endblock type SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk,4)*/ Block SignalCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),128(12,65))*/ signalroute /*#E*/ oi from env to SignalCtrlMasterCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),129(17,72))*/ (SignalCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),539(97,100))*/ signalroute /*#E*/ mo from SignalCtrlMasterCtrl to SignalCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),540(97,117))*/ (SignalCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),119(167,133))*/ signalroute /*#E*/ oo from SignalCtrlCtrl to env with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),120(127,137))*/ (SignalCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),116(65,65))*/ process SignalCtrlMasterCtrl(1,1) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),536(65,125))*/ process SignalCtrlCtrl (0, ) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),134(2,67))*/ connect oi and oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk(1),551(177,132))*/ connect oo and oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.sbk,4)*/ endblock SignalCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr,4)*/ Process SignalCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),185(70,10))*/ DCL instName Charstring; DCL ts, ts1 CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),551(55,10))*/ DCL t1 CharString; DCL instPID PID; DCL sigState SignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),116(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),287(5,40))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),287(5,40))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),281(5,55))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),473(5,70))*/ create /*#E*/ SignalCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),470(5,85))*/ decision /*#E*/ offspring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),485(67,92))*/ (null): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),461(55,100))*/ call /*#E*/ printIt(instName//' ERROR: '// 'cannot dynamically create process', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),458(55,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),479(17,97))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),467(5,100))*/ output /*#E*/ go(instName) to offspring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),749(5,115))*/ call /*#E*/ announceInstance (offspring, instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),464(5,130))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),470(5,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(1),287(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),527(5,25))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),524(5,40))*/ input /*#E*/ setSignalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),521(5,55))*/ task /*#E*/ instPID := call getPID (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),518(5,70))*/ decision /*#E*/ instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),545(67,77))*/ (NULL): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),509(55,85))*/ call /*#E*/ printIt(t1//' ERROR: '// 'no matching process instance found', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),506(55,100))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),539(17,82))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),515(5,85))*/ output /*#E*/ setSignalState (t1, sigState) to instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),512(5,100))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),518(5,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),527(5,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),776(105,25))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),773(105,40))*/ input /*#E*/ getSignalState (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),770(105,55))*/ task /*#E*/ instPID := call getPID (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),767(105,70))*/ decision /*#E*/ instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),794(167,77))*/ (NULL): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),758(155,85))*/ call /*#E*/ printIt(t1//' ERROR: '// 'no matching process instance found', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),755(155,100))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),788(117,82))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),764(105,85))*/ output /*#E*/ getSignalState (t1) to instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),761(105,100))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),767(105,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr(2),776(105,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlMasterCtrl.spr,4)*/ endprocess SignalCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr,4)*/ Process SignalCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),185(70,10))*/ DCL instName Charstring; DCL ts, ts1 CharString; DCL newSigState SignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),116(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),287(5,40))*/ nextstate /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),287(5,40))*/ state /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),281(5,55))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),452(5,85))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),287(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),239(55,40))*/ state /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),464(55,55))*/ input /*#E*/ setSignalState (ts1, newSigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),470(55,70))*/ decision /*#E*/ newSigState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),485(67,82))*/ (go): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),479(55,85))*/ call /*#E*/ putAnalogVal (instName, 1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),476(55,115))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),518(92,77))*/ (halt): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),515(80,85))*/ call /*#E*/ printIt ( 'ERROR1 in '//instname, NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),521(80,100))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),470(55,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),239(55,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),494(105,40))*/ state /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),497(105,55))*/ input /*#E*/ setSignalState (ts1, newSigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),500(105,70))*/ decision /*#E*/ newSigState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),512(117,82))*/ (halt): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),491(105,85))*/ call /*#E*/ putAnalogVal (instName, 0); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),488(105,115))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),536(142,77))*/ (go): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),527(130,85))*/ call /*#E*/ printIt ( 'ERROR2 in '//instname, NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),530(130,100))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),500(105,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),494(105,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),557(5,100))*/ state /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),560(5,115))*/ input /*#E*/ getSignalState (ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),566(5,130))*/ output /*#E*/ newSignalState (ts1, halt); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),572(5,145))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),557(5,100))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),578(30,100))*/ state /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),581(30,115))*/ input /*#E*/ getSignalState (ts1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),584(30,130))*/ output /*#E*/ newSignalState (ts1, go); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),587(30,145))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr(1),578(30,100))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/SignalCtrl_SDL/SignalCtrlCtrl.spr,4)*/ endprocess SignalCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sun,7)*/ USE Utils; USE Project; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sun,4)*/ Package TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sun(1),122(60,55))*/ SIGNALLIST TrainSensCtrlInp = go; SIGNALLIST TrainSensCtrlOutp = newTrain; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sun(1),125(25,50))*/ block type TrainSensCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sun,4)*/ endpackage TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt,4)*/ Block Type TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),158(20,32))*/ gate /*#E*/ oi in with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),159(12,40))*/ (TrainSensCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),164(167,32))*/ gate /*#E*/ oo out with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),165(160,40))*/ (TrainSensCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt,4)*/ substructure TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),128(27,32))*/ channel /*#E*/ oi from env via oi to TrainSensCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),129(40,40))*/ (TrainSensCtrlInp); endchannel oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),119(157,32))*/ channel /*#E*/ oo from TrainSensCtrlCtrl to env via oo with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),120(132,40))*/ (TrainSensCtrlOutp); endchannel oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt(1),116(65,35))*/ block TrainSensCtrlCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt,4)*/ endsubstructure TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrl.sbt,4)*/ endblock type TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk,4)*/ Block TrainSensCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),128(12,65))*/ signalroute /*#E*/ oi from env to TrainSensCtrlMasterCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),129(17,72))*/ (TrainSensCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),539(97,100))*/ signalroute /*#E*/ mo from TrainSensCtrlMasterCtrl to TrainSensCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),540(97,117))*/ (TrainSensCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),119(167,133))*/ signalroute /*#E*/ oo from TrainSensCtrlCtrl to env with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),120(127,137))*/ (TrainSensCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),116(65,65))*/ process TrainSensCtrlMasterCtrl(1,1) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),536(65,125))*/ process TrainSensCtrlCtrl (0, ) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),134(2,67))*/ connect oi and oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk(1),551(177,132))*/ connect oo and oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.sbk,4)*/ endblock TrainSensCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr,4)*/ Process TrainSensCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),185(70,10))*/ DCL instName Charstring; DCL ts, ts1 CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),116(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),287(5,40))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),287(5,40))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),281(5,55))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),473(5,70))*/ create /*#E*/ TrainSensCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),470(5,85))*/ decision /*#E*/ offspring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),485(67,92))*/ (null): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),461(55,100))*/ call /*#E*/ printIt(instName//' ERROR: '// 'cannot dynamically create process', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),458(55,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),479(17,97))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),467(5,100))*/ output /*#E*/ go(instName) to offspring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),749(5,115))*/ call /*#E*/ announceInstance (offspring, instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),464(5,130))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),470(5,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr(1),287(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlMasterCtrl.spr,4)*/ endprocess TrainSensCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr,4)*/ Process TrainSensCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),185(70,10))*/ DCL instName Charstring; DCL ts, ts1 CharString; DCL wheelDelay Duration := 2; TIMER wheelT; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),554(130,10))*/ EXPORTED procedure setPhysVal referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),116(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),287(5,40))*/ nextstate /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),287(5,40))*/ state /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),281(5,55))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),452(5,85))*/ nextstate /*#E*/ idle; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),287(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),239(55,40))*/ state /*#E*/ idle; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),539(55,55))*/ input /*#E*/ setPhysVal; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),596(55,70))*/ output /*#E*/ newTrain (instname) via oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),566(55,85))*/ /*#E*/ reset(wheelT); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),572(55,100))*/ /*#E*/ set(NOW+wheelDelay, wheelT); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),578(55,115))*/ nextstate /*#E*/ TrainPassing; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),239(55,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),584(105,40))*/ state /*#E*/ TrainPassing; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),587(105,55))*/ input /*#E*/ wheelT; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),557(105,70))*/ nextstate /*#E*/ idle; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),584(105,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),617(130,40))*/ state /*#E*/ TrainPassing; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),614(130,55))*/ input /*#E*/ setPhysVal; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),611(130,70))*/ /*#E*/ reset(wheelT); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),608(130,85))*/ /*#E*/ set(NOW+wheelDelay, wheelT); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),605(130,100))*/ nextstate /*#E*/ TrainPassing; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr(1),617(130,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/TrainSensCtrlCtrl.spr,4)*/ endprocess TrainSensCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/setPhysVal.spd,4)*/ Procedure setPhysVal /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/setPhysVal.spd,1)*/ ;FPAR IN newValue CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/setPhysVal.spd(1),116(30,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/setPhysVal.spd(1),194(35,40))*/ return /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrainSensCtrl_SDL/setPhysVal.spd,4)*/ endprocedure setPhysVal; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sun,7)*/ USE Utils; USE Project; USE SignalCtrl; USE TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sun,4)*/ Package TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sun(1),122(60,55))*/ SIGNALLIST TrackCtrlInp = go, setSignalState; SIGNALLIST TrackCtrlOutp = askForGo, noTrains, newSignalState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sun(1),125(25,50))*/ block type TrackCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sun,4)*/ endpackage TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt,4)*/ Block Type TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),158(15,45))*/ gate /*#E*/ oi in with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),159(0,55))*/ (TrackCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),164(170,45))*/ gate /*#E*/ oo out with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),165(165,55))*/ (TrackCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt,4)*/ substructure TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),2258(90,15))*/ /* Signals to subobjects via a */ SIGNALLIST ai1 = (TrainSensCtrlInp) ; SIGNALLIST ai2 = (SignalCtrlInp) ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),2255(90,30))*/ /* Signals from subobjects via b */ SIGNALLIST bi1 = (TrainSensCtrlOutp); SIGNALLIST bi2 = (SignalCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),128(27,47))*/ channel /*#E*/ oi from env via oi to TrackCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),129(35,55))*/ (TrackCtrlInp); endchannel oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),119(157,47))*/ channel /*#E*/ oo from TrackCtrlCtrl to env via oo with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),120(132,55))*/ (TrackCtrlOutp); endchannel oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),284(30,87))*/ channel /*#E*/ a.i2 from TrackCtrlCtrl to sig1 via oi with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),285(45,87))*/ (ai2); endchannel a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),278(30,72))*/ channel /*#E*/ a.i1 from TrackCtrlCtrl to ts1 via oi with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),279(45,72))*/ (ai1); endchannel a.i1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),305(122,74))*/ channel /*#E*/ b.i1 from ts1 via oo to TrackCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),306(145,72))*/ (bi1); endchannel b.i1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),311(121,87))*/ channel /*#E*/ b.i2 from sig1 via oo to TrackCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),312(145,87))*/ (bi2); endchannel b.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),116(65,50))*/ block TrackCtrlCtrl referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),263(65,75))*/ block ts1:TrainSensCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt(1),266(65,90))*/ block sig1:SignalCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt,4)*/ endsubstructure TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrl.sbt,4)*/ endblock type TrackCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk,4)*/ Block TrackCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),353(50,25))*/ SIGNALLIST aOut=(ai1),(ai2); SIGNALLIST bIn=(bi1),(bi2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),128(17,65))*/ signalroute /*#E*/ oi from env to TrackCtrlMasterCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),129(17,72))*/ (TrackCtrlInp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),182(150,72))*/ signalroute /*#E*/ b from env to TrackCtrlMasterCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),183(127,80))*/ (bIn); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),587(100,97))*/ signalroute /*#E*/ mo from TrackCtrlMasterCtrl to TrackCtrlCtrl with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),588(100,112))*/ (TrackCtrlInp), (bIn); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),119(165,120))*/ signalroute /*#E*/ oo from TrackCtrlCtrl to env with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),120(127,120))*/ (TrackCtrlOutp); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),173(19,135))*/ signalroute /*#E*/ a from TrackCtrlCtrl to env with /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),174(40,137))*/ (aOut); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),116(65,65))*/ process TrackCtrlMasterCtrl(1,1) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),554(80,120))*/ process TrackCtrlCtrl(0, ) referenced; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),134(7,67))*/ connect oi and oi; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),575(177,122))*/ connect oo and oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),584(5,132))*/ connect a.i1, a.i2 and a; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk(1),635(177,75))*/ connect b.i1, b.i2 and b; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.sbk,4)*/ endblock TrackCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr,4)*/ Process TrackCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),185(70,10))*/ DCL instName Charstring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1163(55,10))*/ DCL sigState SignalStateType; DCL t1, t2 CharString; DCL instPID PID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),116(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),287(5,40))*/ nextstate /*#E*/ Main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),239(130,10))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),239(130,10))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),287(5,40))*/ state /*#E*/ Main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),281(30,25))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),473(30,40))*/ create /*#E*/ TrackCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),470(30,55))*/ decision /*#E*/ offspring = null; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),479(45,62))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),467(55,25))*/ output /*#E*/ go(instName) to offspring; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),749(55,40))*/ call /*#E*/ announceInstance (offspring, instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),464(55,55))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),470(30,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(1),287(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1136(5,25))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1133(5,40))*/ input /*#E*/ setSignalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1127(5,70))*/ task /*#E*/ instPID := call getPID (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1124(5,85))*/ decision /*#E*/ instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1154(67,92))*/ (NULL): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1118(55,100))*/ call /*#E*/ printIt(t1//' ERROR: '// 'no matching process instance found', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1112(55,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1151(17,97))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1121(5,100))*/ output /*#E*/ setSIgnalState (t1, sigState) to instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1115(5,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1124(5,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1136(5,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1190(105,25))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1187(105,40))*/ input /*#E*/ newSIgnalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1184(105,55))*/ task /*#E*/ t2 := call cutFirstId (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1181(105,70))*/ task /*#E*/ instPID := call getPID (t2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1178(105,85))*/ decision /*#E*/ instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1208(167,92))*/ (NULL): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1172(155,100))*/ call /*#E*/ printIt(t1//' ERROR: '// 'no matching process instance found', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1166(155,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1205(117,97))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1175(105,100))*/ output /*#E*/ newSIgnalState (t1, sigState) to instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1169(105,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1178(105,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(2),1190(105,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1304(5,25))*/ state /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1301(5,40))*/ input /*#E*/ newTrain (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1298(5,55))*/ task /*#E*/ t2 := call cutFirstId (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1295(5,70))*/ task /*#E*/ instPID := call getPID (t2); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1292(5,85))*/ decision /*#E*/ instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1322(67,92))*/ (NULL): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1286(55,100))*/ call /*#E*/ printIt(t1//' ERROR: '// 'no matching process instance found', NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1280(55,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1319(17,97))*/ else: /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1289(5,100))*/ output /*#E*/ newTrain (t1) to instPID; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1283(5,115))*/ nextstate /*#E*/ main; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1292(5,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr(3),1304(5,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlMasterCtrl.spr,4)*/ endprocess TrackCtrlMasterCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr,4)*/ process TrackCtrlCtrl; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),116(30,10))*/ DCL instName Charstring; DCL t1 CharString; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1775(30,10))*/ DCL sigState SignalStateType; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2315(105,25))*/ DCL curTrainNo Integer := 0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),128(5,25))*/ start /*#E*/ ; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),125(5,40))*/ nextstate /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),125(5,40))*/ state /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),140(5,55))*/ input /*#E*/ go (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),719(5,70))*/ output /*#E*/ go ('sig1'//instName) via a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),725(55,40))*/ output /*#E*/ go ('ts1'//instName) via a.i1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),731(55,55))*/ output /*#E*/ go ('ts2'//instName) via a.i1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),1841(55,70))*/ output /*#E*/ getSignalState ('sig1'//instName) via a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),146(55,85))*/ nextstate /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),125(5,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2297(105,40))*/ state /*#E*/ Init; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2294(105,55))*/ input /*#E*/ newSignalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2291(105,70))*/ decision /*#E*/ sigState; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2303(117,80))*/ (halt): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2288(105,85))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2300(142,77))*/ (go): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2285(130,85))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2291(105,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(1),2297(105,40))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1967(55,55))*/ state /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1964(55,70))*/ input /*#E*/ newTrain (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1961(55,85))*/ decision /*#E*/ t1 = 'ts1'//instname; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1976(67,97))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1958(55,100))*/ task /*#E*/ curTrainNo := curTrainNo + 1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2090(55,115))*/ output /*#E*/ askForGo (instName) via oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1955(55,130))*/ nextstate /*#E*/ -; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1982(92,92))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1952(80,100))*/ decision /*#E*/ curTrainNo = 0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1985(92,112))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1949(80,115))*/ task /*#E*/ curTrainNo := curTrainNo - 1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2237(80,130))*/ decision /*#E*/ curTrainNo = 0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2240(92,142))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2243(80,145))*/ output /*#E*/ noTrains (instname); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2249(107,160))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2237(80,130))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1937(80,160))*/ nextstate /*#E*/ -; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),2003(142,107))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1931(130,115))*/ call /*#E*/ printIt ( 'ERROR1 in '//instname, NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1928(130,130))*/ nextstate /*#E*/ -; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1952(80,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1961(55,85))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(2),1967(55,55))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2150(5,25))*/ state /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2147(5,40))*/ input /*#E*/ newTrain (t1); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2144(5,55))*/ decision /*#E*/ t1 = 'ts1'//instname; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2159(17,67))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2141(5,70))*/ task /*#E*/ curTrainNo := curTrainNo + 1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2138(5,85))*/ nextstate /*#E*/ -; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2165(42,62))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2135(30,70))*/ decision /*#E*/ curTrainNo =0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2168(42,82))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2132(30,85))*/ task /*#E*/ curTrainNo := curTrainNo - 1; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2180(30,100))*/ decision /*#E*/ curTrainNo =0; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2183(42,112))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2195(30,115))*/ output /*#E*/ setSignalState ('sig1'//instName, halt) via a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2192(30,130))*/ output /*#E*/ newSignalState (instName, halt) via oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2252(30,145))*/ output /*#E*/ noTrains (instName); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2129(30,160))*/ nextstate /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2222(67,107))*/ (false): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2180(30,100))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2174(67,77))*/ (true): /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2126(55,85))*/ call /*#E*/ printIt ( 'ERROR2 in '//instname, NOW); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2135(30,70))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2123(55,115))*/ nextstate /*#E*/ -; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2144(5,55))*/ enddecision; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(3),2150(5,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2069(30,25))*/ state /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2066(30,40))*/ input /*#E*/ setSignalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2210(30,55))*/ output /*#E*/ setSignalState ('sig1'//instName, halt) via a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2207(30,70))*/ output /*#E*/ newSignalState (instname, halt) via oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2204(30,85))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2069(30,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2060(55,25))*/ state /*#E*/ halt; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2057(55,40))*/ input /*#E*/ setSignalState (t1, sigState); /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2054(55,55))*/ output /*#E*/ setSignalState ('sig1'//instName, go) via a.i2; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2051(55,70))*/ output /*#E*/ newSignalState (instname, go) via oo; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2048(55,85))*/ nextstate /*#E*/ go; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr(4),2060(55,25))*/ endstate; /*#SDTREF(SDL,/users2/metzger/Papers/SAM/DesignContest/Results/Results_Modified_For_Slides/ResearchProjects/RailwayCrossing/ObjectType_SDL/TrackCtrl_SDL/TrackCtrlCtrl.spr,4)*/ endprocess TrackCtrlCtrl;