Home
ERC32 Evaluation Report
Contents
1. 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 15 of 26 8 THE HRT TOOLS Once a successful bind had been carried out with WCET processing enabled this generated the first item of information needed by the HRT tools namely the execution skeleton contained in the ESF file The second file required by the tools is the user configuration file UCF the format of this file was identified from the examples provided with the tools It firstly gives the user preferences for scheduling model and blocking protocol then provides general target information clock speed wait states priority levels available finally it lists the threads in the application with their criticality period deadline and offset The UCF file was constructed by taking the header from the sample file and the thread list from the ESF file DMS scheduling was chosen and the target information was set to 1 MHz no wait states The thread information was generated from the original SOHO scheduler table e criticality all were classed as hard period the period from the original table converted to clock ticks deadline the end of the slot in which originally scheduled in clock ticks offset the beginning of the slot in which originally scheduled in clock ticks The final information required by the tools is a run time file this was copied from the demonstration example Next the analyser was run this showed
2. 0177 Issue 1 February 1998 Page 1 of 26 MATRA MARCONI SPACE PROS Evaluation Report ERC32 Evaluation Report Prepared By Date 10 Feb 98 J 5 STEVENS Approved By Date 10 Feb 98 R J DURRANT MATRA MARCONI SPACE UK Limited 1998 Matra Marconi Space UK Limited owns the copyright of this document which is supplied in confidence and which shall not be used for any purpose other than that for which it is supplied and shall not in whole or in part be reproduced copied or communicated to any person without written permission from the owner MATRA MARCONI SPACE UK Limited P O Box 16 Filton Bristol BS12 7YB 0177 Issue 1 February 1998 Page 2 of 26 ERC32 Evaluation Report MATRA MARCONI SPACE Document Change Log ums me 1 Feb 98 Initial issue 177 ERC32 MATRA MARCONI SPACE Evalu t n Report Feds 168 Page 3 of 26 CONTENTS LIST 1 INTRODUCTION AND OBJECTIVES csssccossssssssscsnsssssssccsnsssssseccsnscsssssccsnscsessecesneccessscesnecsessees 4 2 INSTALLATION OF THE TOOLS 5 2 1 THE ADA COMPILATION TOOLS dea bt obe tc dU 5 2 2 THE SIMULATOR AND TIMING TOOLS ettet tenet 5 2 THE FLEXLM LICENSE TOOL inueni espe es rtis n reno pde usted 5 3 THE SOHO AOCS SOFTWARE on csssscssssscsnsscssssssnsecsansssssscesnssssnsecsssecsanecssnsccsnsccensecessecesnecsesseessecs 7 3 1 NORMA
3. 2 Issue 1 Evaluation Report February 1998 Page 19 of 26 MATRA MARCONI SPACE Appendix Normal Mode Task Table Mode Tables NM EQU A Tableenries Hie WITHd packages 31 Check_Mode ASW_CTL Bitops SWS_Functions Attitude_Control TC_AUX3 Actuator Processing AUX3 Unchecked_Conversion DATAT 1 E33 Synchronise ASW To TM Sync ASW Task Index System SWS Functions Attitude Control Unchecked Conversion 3 System Bitops SWS_Functions Math_Utilities Sensor_Processing Actuator_Processing Unchecked_Conversion Control_Laws_AUX3 E341 Execute_PCPG 2 50 Bitops System SWS Functions Attitude Control AUX3 Unchecked Conversion Control Laws AUX3 E33 Report ARD 1 50 E23 Read FPSS T Bitops HW Addresses SWS Utilities IOS Functions HW Addresses AUX3 Unchecked Conversion AOCS Units AUX2 E342 Acquire SSU Data n Bitops SWS_Functions Math_Utilities Unchecked_Conversion Math_Utilities_AUX3 System 2 10 E341 Do_Mode7_SSU_SEU_Check 9 2 50 E342 Perform_SSU3 2 50 E342 Process_FPSS_Data 3 5 E342 Perform_SSU7 1 1 E341 Do_Mode7_Pitch_Ctl 4 5 E341 Do Mode7 Ctl 4 5 E341 Do Mode7 Roll Ctl 4 50 n 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 20 of 26 E343 Compute Control Law Torques 16 A Bitops System SWS Functions Math Util
4. Machine Code Unchecked Conversion ada ate S OBDH Interface AUX2 ob hk aux2 ada type 2 data OBDH Interface AUX3 OBDH Interface AUX3 ob hk aux3 ada type defs type 3 data Scheduler IOS Functions SWS Utilities ace 3 adz 5 ions adz RTU ES t ada S 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 23 of 26 Sensor Processing AUX3 sp au3ada 6595 Functions Math Utilities SWS Functions AUXI swsfusauxlada SWS Functions AUX3 sws_fns_aux3 ada Scxheduer SWS Utliies Time Management timeada Management AUXI amp 3 TM Buffes bufada TM Buffers AUXL2 amp 3 Table 3 Package Type AOCS Uns ASM Unlities AUXI Cono Laws AUXI Enor Handling AUXI Emor Handling AUXS Management interrupt Services imadi interrupt Services AUXI amp 3 MACS Interface AUXI macs auxl ada Machine Code MACS IO Addresses 2 22 dl EE _ TM Buffers AUX3 Further from above Po Interrupt_Services_AUX1 Interrupt_Services_AUX3 MACS IO Addresses OBDH Interface AUXI TM Buffers AUXI tm buf auxl ada Time Management AUXI TM Buffers AUX2 tm buf aux2 ada In Machine Code U OBDH Interface TC AUX
5. announced MMS UK Bristol applied to take part in this programme and submitted a proposal in the form of a Technical Annex which described the work to be done and identified the support required from ESTEC to facilitate the evaluation In summary the objectives of the evaluation were select an appropriate software system as an example the SOHO AOCS software was proposed with the Normal mode subset being selected to keep the project to a manageable size replace the SOHO cyclic scheduler by Ada tasking re implement assembler objects simulate external interfaces compile all Ada files Derive WCET information and evaluate HRT tools Link application using ESTEC facilities Evaluate Target Simulator In addition it was intended to attend the ERC32 training day at ESTEC in the event this was not possible due to the ilIness of the evaluator so all training was carried out from the user manuals supplied with the software The remainder of this report describes the work carried out under the evaluation programme 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 5 of 26 2 INSTALLATION OF THE TOOLS In order to evaluate the ERC32 tools provided by Aonix and Spacebel it was necessary for them to be installed on a suitable workstation The unit chosen was a SPARCStation 5 currently in use as a software development workstation on the XMM and Integral projects Thus the evaluation was
6. C Having determined the set of files needed to implement Normal Mode these were transferred from the VAX where SOHO software development was carried out to the Sun workstation being used for the evaluation The final implementation comprised 70 source files as against 120 in the original SOHO application 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 8 of 26 4 THE COMPILATION PHASE After successful transfer of all the required files to the workstation compilation was begun This was started at the lowest level where only predefined packages were WITHd then working back up the WITH chain until the top level was reached For some objects particularly those in the lowest layer of the software some procedures and functions were originally implemented in assembler In these cases the assembler bodies were replaced by Ada bodies In most cases these were non functional due to lack of time and unavailability of an ERC32 assembler although a functional implementation was possible in a few routines There were a number of general problems which arose primarily due to differences between the compiler originally used on SOHO TLD and the Aonix compiler e System Unsigned in the TLD package System there is an unsigned type declared which is basically a 16 bit positive integer This did not exist in the Aonix System package e Package Machine Code this TLD package permits direct inserti
7. Page 21 of 26 E23 Read Roll Data AOCS 2 20 E33 Report Roll TM Offset HK 394 500 E244 Null Proc 52 to 55 E23 Request SSU BRD AOCS MATRA MARCONI SPACE SSU BRD Task Index I31 Perform Transition ASW CTL 100 100 E244 Null Proc Last Task 1 1 0177 2 Issue 1 Evaluation Report February 1998 Page 22 of 26 MATRA MARCONI SPACE Appendix B Analysis of required files Table 1 Package Further WITH d packages Actuator Processing ap ada SWS Functions Actuator Processing AUXI Actuator Processing AUX3 Actuator Processing AUX3 SWS Functions Math Utilities Math Utilities AUX3 AOCS Units AUX2 aocs_aux2 ada AOCS Umits AUX2a AOCS Units AUX3 Attitude Control att ctl ada Control Laws SWS Functions Math Utilities Bitops ee O Control Laws AUX3 c laws aux3 ada SWS Functions Math Utilities Sensor Processing Actuator Processing Math Utilities AUX3 Sensor Processing AUX3 HW Addresses hw addr ada Of HW Addresses AUX3 HW Addresses AUX3 hw addr aux3ada 10S Functions IOS Functions ios fns ada Kernel Machine Code RTU Interface MACS Interface Math Utilities AUXI Math Utilities AUX3 Math Utiliies AUX3 math aux3ada OBDH Interface HK ob hk ada Scheduler SWS Utilities OBDH Interface HK AUXI OBDH Interface AUX2 OBDH Interface AUX3 Scheduler schedada Scheduler AUXI Scheduler AUX3 Sens
8. This was diagnosed by Mr Vardanega ESTEC as being due to insufficient heap space On return to Bristol a modified configuration file was installed and a new bind carried out The resulting object file was e mailed to Mr Vardanega who relinked it The resulting executable appeared to run successfully Thus it can be concluded that given a full installation including the Microtec linker this stage would not present any problems 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 17 of 26 10 THE SIMULATOR Since a linked executable was not obtained until the Evaluators Workshop very little evaluation of the simulator has been possible Although the Spacebel evaluation license was granted to the end of February the Aonix license expired at the end of January It therefore proved impossible to evaluate the connection of the simulator to AdaProbe which in any event is quite complex to set up The executable was loaded into the simulator in standalone mode and appeared to run although with some problems 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 18 of 26 11 CONCLUSIONS AND RECOMMENDATIONS 11 1 CONCLUSIONS The evaluation proved a good introduction to the commercially available ERC32 software development toolset although the time constraints imposed by the evaluator s illness made the final stages somewhat rushed and therefore less useful Ma
9. a remote Sun workstation 3 The tar files were unpacked creating the various subdirectories needed to hold the executables and support tools 4 The environment variables needed were set up using the cshrc file and the path variable was modified to include thehrt tools bin directory 5 The license file entries provided by Spacebel were added to the 1icense dat file as described in section 2 3 below and the license manager forced to reread this file Appropriate entries were observed in the 1icense log file The installation was then tested by running the Motif GUI versions of the tools and observing that they started and terminated successfully with appropriate check out and check in entries appearing in the License 1log file 2 5 THE FLEXLM LICENSE TOOLS The machine on which the tools were evaluated was already running the FLEXIm license management software It was already serving licenses for 2 products the IPL AdaTEST suite and the Sun C C compiler In order to do this the license server is started automatically at reboot This is achieved by 2 scripts K17lmgrd and S171mgrd in the directory etc rc3 d These files contain the following environment variable settings 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 6 of 26 E R opt SUNWspro SunTech License LIC BIN export home AdaTEST 3 0 l1mgr The script tests for the existence of vario
10. ada NN Software services layer 2 Possibly not sws fns auxlb ada O tc aux3 ada tc ada Various mode functions tc asm mac tc auxl ada tc aux1b ada Time management time auxl ada time aux1b ada time aux2 ada time aux2a ada time aux3 ada tm buf auxl ada tm buf Telemetry buffers Not on 1st pass tm buf aux2 ada tm buf aux2a ada LIN NN NN Each object in the SOHO software is implemented using a number of standard files For a specific object shown as obj the possible files are as follows note that not all objects have every possible file obj ada the top level specification for the object giving all types subtypes data and subprograms visible to other objects These are all renames from lower level packages obj aux1 ada the main lower level specification defining type 1 data and subprograms internal and external together with exports and imports The type 1 data is that which is initialised to zero or equivalent obj aux1b ada the main lower level package body Provides all subprogram bodies obj aux2 ada declares all type 2 data non zero initial values obj aux2a ada initialisation values for type 2 data obj aux3 ada declares type 3 data data initialised by software including elaboration obj asm mac the bodies of any subprograms implemented in assembler TROI77 ERC32 Issue 1 Evaluation Report February 1998 Page 26 of 26 MATRA MA
11. mostly invoked using the Motif X Window interface with the tools running on a SPARCStation and the display on a Pentium PC using the Exceed X Windows emulator Under these conditions the tools were very easy to use Advantage was taken of the ability to set defaults for the tools and then save the environment which was reloaded on subsequent occasions Compiler error messages were generally found to be helpful providing an LRM reference which usually resolved the problem The AdaMake utility was found to be very helpful always determining which units needed recompiling and in what order Some minor points were noted where improvement could be made e units obsoleted by a source code change were deleted from the library listing It would be better if they were left in the listing but marked as obsolete The fact that AdaMake was able to determine the need for recompilation indicated that they were still known to the library manager e it appeared impossible to print from the Motif Library Manager window A print could be obtained by using the command line version alocked library due to a system crash caused the Motif Library Open command to hang The library could only be unlocked from the command line interface e a successful compilation produced no effect in the AdaWorld window this made it hard to know when a compile had completed especially since the iconified compile window did not change colour until after it had been browsed
12. pragma Loop Count is mentioned in the user manual to allow the designer to provide this information unfortunately this is not implemented in the prototype tool so the problem was overcome by coding hard values for the upper limits Raise statements exception handling is clearly capable of unbounded execution time and so is not permitted The code fragment given however shows that there is no explicit raise statement in the code rejected 102 function Arctan X in Float return Float is 1 03 104 begin 105 106 if abs X X Small then 107 108 return X 1 2 1 COD WCETE warning Block containing explicit raise statement has been excluded from worst case path analysis 2 COD WCETE warning Block containing explicit raise statement has been excluded from worst case path analysis It is assumed that the raise statement is in the code implementing the abs statement which is part of the supplied run time library 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 12 of 26 A further problem was the location and style of the task declarations introduced to replace the operation of the original cyclic scheduler These had originally been declared in a procedure but were moved to a standalone package after rejection by the compiler on HRT grounds This package was in turn WITHd by the package containing the main program The tasks were written in a standard
13. the thread set to be schedulable with a total utilisation of around 52 Finally the scheduler simulator was run and a GANTT chart of the process set obtained As is to be expected this was very similar to the original frequency phase scheduler pattern it is shown in Appendix D The HRT tools were found to be easy to use and worked well It was not possible given the limited time available to attempt to prove whether the tools were providing a correct analysis of the real time properties of the software Qualitatively however they give results which are reasonable 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 16 of 26 9 LINKING The evaluation was originally set up on the understanding that the Microtec linker was not available for free evaluation and that the linking would have to be carried out using the ESTEC copy of the tool Accordingly ESTEC set up accounts and access codes to allow this to be done Due to later changes in the MMS Internet access methods it was likely that the remote login would no longer work in any event the time available for the evaluation became too short for this to be attempted Since a successful bind had been carried out however the resulting COFF format object file was taken to ESTEC when attending the Evaluators Workshop and a link carried out on site Although the link appeared to work running the resultant executable on the simulator revealed a problem
14. this file and restart the license manager 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 7 of 26 3 THE SOHO AOCS SOFTWARE This is a complex on board software application which can operate in a number of modes corresponding to operational spacecraft modes such as Initial Sun Acquisition Roll Manoeuvre Wheels and so on The software facilities which are required are provided by a number of objects which group together associated data and functions such as Sensor Processing Actuator Processing and Control Laws The processing which is to be carried out in each mode is programmed by an explicit scheduler of the frequency and phase type In order to change modes the scheduler table is changed to that for the new mode tasks at the beginning and end of each table look for mode change commands check that the requested transition is permitted and carry out any transition actions variable initialisation etc Since one of the objectives of the evaluation was to replace the scheduler by the use of Ada tasks it simplifies the activity significantly if the mode changing mechanism is omitted and just one mode is reproduced with the scheduler and its table replaced by explicit tasks After some study the Normal mode was selected this requires activity from most objects and is therefore representative of all the modes The study of what software was required began with the normal mode task table
15. 3 Time Management AUX3 time aux3ada 2000 terrupt Services AUX3 0177 2 Issue 1 Evaluation Report February 1998 Page 24 of 26 MATRA MARCONI SPACE Appendix C Required files file s _ file s aocsada AOCS Units package hardware Stub assembler aocs auxl ada a0cs SURI AEE interface configuration word aocs_aux2 ada S majority voter apada Actuator commanding Yes ap_aux1b ada Block copy indirect call null proc Stub asm utl auxlb ada increment and modulo att ctl ada Top level attitude control renames level attitude control renames c_laws_aux1b ada e err ada Error reporting Stub hw_addr ada Hardware addresses int ada Unused interrupt services mE Bree kernel ada kernel asm mac Run time kernel kernel io addr Ee kernel aux1 ada MACS bus interface Arctan fix sign math aux1 ada math aux1b ada math aux3 ada ob hk ada Housekeeping telemetry Not on 1st pass ob hk auxl ada ob hk auxlb ada ob hk aux2 ada ob hk aux2a ada ob hk aux3 ada Telecommands Not on Ist pass ob tc auxl ada ob tc auxlb ada rtu ada rtu asm mac RTU hardware interface rtu io addr rtu_auxl ada _ a Scheduler Replace by program sched auxl ada sched auxlb ada which starts the sched aux2 ada various tasks sched aux2a ada 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 25 of 26 5 auxlb
16. 3 1 NORMAL MODE TASK TABLE The table in Appendix A was extracted from the SOHO file ASW ASM MAGC which contains the task tables for all the modes Each task is defined by 3 entries procedure to be called a label pointing to the start of a parameterless procedure e phase offset of the task from the start of scheduling in scheduler ticks e frequency task repetition interval in scheduler ticks The table has been simplified by combining strings of unused entries which all point to a null procedure Columns have been added which show e the file package where the procedure is defined packages which are WITH d by that package In the case of the file names the full file name is found by adding AUXI ADA package specification AUXIB ADA package body The WITH d packages only listed the first time a particular file is referenced 32 ADDITIONAL SOFTWARE REQUIRED The first table in Appendix B lists for each of the WITH d packages in the scheduler table the file in which they are found and any packages which are in turn WITH d in that file Those WITH d packages not already listed are shown bold The remaining 2 tables show how the WITHs were followed to determine the complete set of files required to implement normal mode The consolidated list of files appears in Appendix C where the files are grouped by object The standard set of files used in SOHO to implement an object is also defined in Appendix
17. L MODE TASK TABLE eet tte tette tette 7 3 2 ADDITIONAL SOFTWARE REQUIRED 7 4 THE COMPILATION PHASE ssccssasicss ad piene te pe 8 4 1 SPECIFIC PROBLEM AREAS ttt ttt 8 5OBINDENG enitn EE 10 6 WCETEXTRACTION ossis decet ou ERE 11 sit iiis eet dete SE be bae e OR caida tte 11 PMI E ioc le Sealer Ee ER 12 7 COMPILATION TOOL OBSERVATIONS sscccssssscsssssscsssssccssssecsssssecsssnecssssnecsssneesssansessssneceesses 14 RENE 15 SUING hok cM PORCH DN dU A UE DEREN 16 10 THE SIMULATOR s CESEN SEE UI erbe dpa 17 11 CONCLUSIONS AND RECOMMENDATIONS cssssssssssssssssssscsssssccsssscesssssecssssecssssneesssssecssans 18 11 1 CONGEUSIDNS E cocta nc Sistas 18 11 2 RECOMMENDATIONS eH ettet ost p ebd ite um ete d OR 18 MATRA MARCONI SPACE 0177 2 Issue 1 Evaluation Report February 1998 Page 4 of 26 1 INTRODUCTION AND OBJECTIVES At the ERC32 Products day in October 1996 at ESTEC an ERC32 Evaluation Programme was
18. RCONI SPACE Appendix D Task GANTT chart Dus 10ms 20ms 30ms 40ms 5 ms 7Oms 60ms 90ms WHEEL_TASK ido RSL_TASK 5508 5 550 TASK a 5507 11 M7 ROLL TASK if CONTROL_LAWS_HK 1 CONTRO TA MODE7 TASK 1 FPSS_TASK Dus 1 ms 20ms 30ms 40ms 5 ms 7Oms 8 ms 90ms
19. et of individual assignments e Process FPSS Data in Sensor Processing pos attribute Replaced by Fixed value With these problems corrected and the units recompiled the bind stage ran successfully producing an execution skeleton file Initially 3 tasks had been introduced more were added recompiling and binding as required until a total of 10 tasks were implemented representing most of the original Normal Mode activities excluding telemetry A comparison was made between the execution times generated by the tool and those in the original SOHO budgets document shown in the following table Task ERC32 SOHO FPSS Task 5157 955 Mode7 1134 400 Control laws 1989 4411 Control laws HK 2124 568 Mode7 roll 473 153 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 13 of 26 5507 2280 2103 SSU Data 2408 3063 SSU8 119 42 RSL 202 107 Wheel 2530 2160 Total 18416 13962 This shows the ERC32 values to be roughly the same as the original SOHO figures however it should be noted that the ERC32 clock frequency was assumed to be 1 MHz whereas the SOHO figures were for a MAS281 running at 15 MHz with 3 memory wait states This demonstrates the increase in CPU power available with the ERC32 processor 177 ERC32 Issue 1 MATRA MARCONI SPACE Evaluation Report February 1998 Page 14 of 26 7 COMPILATION TOOL OBSERVATIONS The compiler binder and library manager tools were
20. ets the following code section demonstrates this Formatted Torque System Unsigned abs Fix Wheel Torque n Scale Factor declare local block to perform bit manipulation on Formatted Torque subtype Bit Index is Integer range 0 15 MSB constant Bit Index 0 type Boolean Array Type is Array Bit Index of Boolean Pragma Pack Boolean Array Type pack into one word function CUB is new Unchecked Conversion Source gt System Unsigned Target gt Boolean Array Type 177 ERC32 MATRA MARCONI SPACE Issue 1 Evaluation Report February 1998 Page 9 of 26 begin set bit 7 of Formatted Torque to sign of Wheel Torque n CUB Formatted Torque 7 Wheel Torque n lt 0 0 end local block In this case the variable Formatted Torque is unsigned 16 bit quantity where the lower byte represents magnitude and the lowest bit of the upper byte represents sign A local type declaration provides an alternative representation as a Boolean array allowing a direct assignment to the sign bit This is accepted by the TLD compiler but not the Aonix one presumably because the left hand side contains a function However it is not really a function but merely a way of transforming a variable type Whether this is legal Ada is debatable type conversions between an enumerated type and integer this is shown in the following code fragment type FPSS Data Error Type is OK Bad Ap Bad Ay Bad Ang
21. ities Unchecked Conversion DATAT DATAT DATAT E343 Send Wheel Commands DATAT DATAT DATAT DATAT DATAT DATAT 19 DATAT DATAT E212 Handle OS TC Bitops Scheduler IOS Functions SWS Utilities TM Buffers AUX3 OBDH Interface HK Unchecked Conversion DATAT 6 DATAT 5 DATAT E23 Command SSU AOCS Command SSU Task Index DATAT DATAT E33 Report IRU Common Vars DATAT 154 DATAT 500 E33 Report SAS Common Vars DATAT 164 DATAT 500 E33 Report Wheel Common Fn Vars DATAT 184 DATAT 500 E33 Report PROS Common Fn Vars DATAT 204 DATAT 500 DATAT E33 Report FPSS Common Fn Vars DATAT 224 DATAT 500 E33 Report 551 Common Fn Vars DATAT 244 DATAT 500 E33 Report RSL Common Fn Vars DATAT 274 DATAT 500 E33 Report SSU Status Words 42 DATAT 294 DATAT 500 DATAT E33 Report_Control_Star_Data 43 ditto DATAT 314 DATAT 500 DATAT E33 Report_Roll_Off_Pointing_Limit 44 ditto DATAT 334 DATAT 500 DATAT E33 Report_Slew_Vars ditto DATAT 354 DATAT 500 E33 Report_Control_Law_Outputs 46 ditto DATAT 374 DATAT 500 DATAT E343 Perform TC Thruster Command 47 DATAT 4 DATAT 10 DATAT E342 Download SSU DATAT 1 DATAT 1 DATAT E343 Acquire Wheel Speeds 1 20 gt gt 0177 ERC32 Issue 1 Evaluation Report February 1998
22. le P Bad Angle Y No Sun P No Sun Y for FPSS Data Error Type use 0 1 2 4 8 16 32 function CFI is new Unchecked Conversion Source gt FPSS Data Error Type Target gt Integer function CIF is new Unchecked Conversion Source Integer Target FPSS Data Error Type The use of these functions is rejected by the Aonix compiler as an Implementation restriction This seems an unreasonable restriction A similar problem occurred with integer to Boolean conversions this seems a more reasonable restriction though The use of this conversion depended on knowledge of how a Boolean is represented by the compiler whereas in the enumeration case the designer has specified the implementation explicitly size differences in the implementation of types the TLD Long Integer type has no direct equivalent in ERC32 the 32 bit word length means that many types and quantities like Storage Size are different from the equivalents in the 16 bit 1750A system Various means were used to overcome these problems some functional and some non functional For example Long Integer was simply replaced by Integer and units of Storage Size were adjusted to allow a successful compilation The use of unchecked conversion shown above was replaced by the use of pos and val attributes although this led to problems later 0177 2 Issue 1 MATRA MARCONI SPACE Evaluation Report Februar
23. ny of the problems encountered in the evaluation were due to it being a porting exercise a system implemented from scratch using these tools would not encounter many of these problems The ERC22 tools were generally felt to be of production quality except for a few aspects covered in the next section 11 2 RECOMMENDATIONS The Aonix tools being based on a standard commercial package were generally complete The WCET processing elements however were only in prototype form and were incomplete Efforts should be made to generate a full production version Typical aspects which are incomplete are the implementation of special pragmas e g Loop Count and the generation of reports including full timing information The Preliminary User s Guide to the WCET processing indicates some constructs which will not be permitted in software being developed using the HRT method It is felt that the full set of forbidden constructs is too conservative and may be motivated by implementation difficulties as much as HRT considerations A case in point is the banning of compound assignment statements especially where they contain others clauses see section 6 1 above Since the compiler is able to generate code for these constructs it should be possible for bounded execution time to be calculated too The need to have to write out individual assignment statements for each element is inelegant and makes the code more difficult to understand 0177
24. on of single machine instructions in an otherwise Ada implemented unit e Package Bitops this TLD package which makes extensive use of assembler allows various logical operations to be performed on integer variables These problems were all solved in a similar fashion special ERC32 versions of the 3 packages were created with declarations of the appropriate types and operations In general these were non functional for example returning the left hand of a pair of operands input to a Bitops operation The Unsigned type was declared in the same way as in TLD package System In each module which used one of the problem types or operations the relevant package WITH was changed to the ERC32 version in some cases ERC32 System was added as some other facility of System was used as well as Unsigned 4 4 SPECIFIC PROBLEM AREAS As well as the general problem areas discussed above which occurred in many objects there were some specific problems in limited areas These were e address calculations these were associated with telemetry buffers and a thruster control block In the TLD package System Address is declared as a subtype of integer Thus type conversions to and from integer are permitted whereas in the ERC32 package System Address is declared as a private type In fact some limited address arithmetic operations are declared but to use these would require extensive rewriting of the code e unchecked conversions as assignment targ
25. or Processing sp ada SWS Functions Actuator Processing Sensor Processing AUXI Sensor Processing AUX3 SWS Functions sws fns ada Scheduler AOCS Units HW Addresses IOS Functions SWS Utilities OBDH Interface SWS Functions AUXI SWS Functions AUX3 Scheduler AUX3 HW Addresses AUX3 OBDH Interface TC AUX3 SWS Utilities sws_utl ada TM_Buffers ASM_Utilities Error_Handling Time_Management System Cea ret are TC_AUX3 7 SWS Functions Attitude Control TM_BuffersAUX3 um buf aux3ada 1 Unchecked Conversion Table 2 Package Type Actuator Processing AUXI ap auxtada AcmaorPreesig AOCS Unts usa Adresses Unit AUXI amp 3 AOCS Units AUX AUXS AOCS Units AUX3 Addresses 545 Cowolaws Centro Laws AUXI amp 3 Actuator Processing Keme Machine Code Kerne manea e O Math Ulities AUXI OBDH Interface ob ada spec Scheduler OBDH Interface HK TC Interrupt Services OBDH Interface HK AUXI ob hk auxl ada BDH Interface HK AUX3 RTU Interface Scheduler AUXI sched auxlada ScxhedulerAUX3 Scheduler AUX3 sched_aux3 ada Sensor Processing AUXI spauxlada Actuator Processing Sensor Processing TU Interface AUXI amp 3 OBDH Interface TC AUX3 ob tc Bitops Scheduler IOS Functions
26. run concurrently with ongoing work using the TLD Ada compiler for 1750A and the IPL AdaTEST tools The steps taken to install the tools are described in the following sections 2 1 THE ADA COMPILATION TOOLS These were installed as follows 1 The spbrx disk usage was examined and user identified as an area with adequate available space for the installation 2 Adirectory user erc32 alsyscomp was created to hold the compiler tools 3 The installation script was extracted from the tape and run 4 The environment variable ALS YCOMP was set up using the cshrc file This directory was also added to the path variable 5 Links were set up in usr lib X11 to AdaWorld resource and key symbol files 6 The license file entries provided by Aonix were added to the 1icense dat file as described in section 2 3 below and the license manager forced to reread this file Appropriate entries were observed in the 1icense log file Following these steps the AdaWorld for Motif GUI ran successfully and it was possible to create families and libraries A simple Ada source file was created and successfully compiled with appropriate check out and check in entries appearing the License log file 22 THE SIMULATOR AND TIMING TOOLS These were installed as follows 1 A directory user erc32 hrt tools was created to hold the Spacebel tools 2 The 3 tar files 2 2 tar TS 2 2 tarand Tools tar were extracted from the 8mm tape mounted on
27. shown below 352 MACS Error Data Counter gt 0 Time gt 0 First_Error gt True 353 354 On Time Increment others gt 0 1 8 of natural 1 1 COD WCETE subset warning This construct is not permitted in the WCET Ada HRT Restrictions The containing subprogram must not be called within the main body of a critical task The first compound assignment at line 352 is accepted but the one at line 354 is not The offending item in this and other cases seems to be the others assignment In this case as shown the data item is an array of 8 natural numbers The reason given in the manual for exclusion of these constructs is that execution time must be bounded The array bounds are fixed and so the execution time is determinable indeed the compiler presumably generates the required code sequence quite happily probably as a for loop so should be able to determine its execution time pos attribute this was introduced to overcome a functional problem see section 4 1 above but was rejected on timing grounds While it is clear that some attributes may be slow to calculate this particular one is just a type conversion between a value of a discrete type and its position in the series which will generally be a simple relationship loops with parameter as an upper limit clearly this is a problem for the compiler which cannot know at compile time what the loop limit will be A
28. style based on that defined in the user manual task body Mode7 Ctl task is use Real Time Phase constant Time Span Milliseconds 30 Period constant Time Span Milliseconds 50 Next Time Time begin Next Time Clock Phase Delay Until Next Time loop Attitude Control Do Mode7 Pitch Ctl Attitude Control Do Mode7 Yaw Ctl Next Time Next Time Period Delay Until Next Time end loop end Mode7 Ctl task The values for phase and period were based on those used in the original frequency and phase scheduler The statements prior to the loop ensure that the task is initially released with the correct delay Within the loop the procedures to be executed are called in the correct sequence the next time at which the task should be run is calculated and used in the Delay Until statement The procedures called in a particular task are all those from the original scheduler table which have the same frequency and phase and would therefore have run in the same slot 6 2 BINDER Before correcting the deficiencies flagged up by the WCET compilation a bind was attempted with WCET processing enabled in the binder This flagged up just 3 problems the remaining problem areas flagged by the compiler were presumably in procedures not called in Normal Mode These were Issue RD in MACS object undefined loop counts Replaced by hard coded value e Read FPSS in AOCS Units a compound assignment Rewrote as s
29. us files and then executes the following SLIC BIN 1mgrd c LIC_DIR license dat gt SLIC_DIR license log 2 gt amp 1 amp This starts the license manager program version supplied by IPL using license dat and license log files in the Sun tools directory The license dat file contains the following SERVER spbrx 80787694 7323 DAEMON ipld export home AdaTEST 3 0 1mgr ipld DAEMON suntechd opt SUNWspro bin suntechd opt SUNWspro SunTech License options dat FEATURE ATI ipld 3 000 1 jan 0 1 0 60814218 865 1 VENDOR STRING 12c ck 23 FEATURE 5 Compile ipld 1 000 1 jan 0 1 CBACCO11216D16A1F2A2 VENDOR STRING 12c ck 3 FEATURE ATS Recompile ipld 1 000 1 jan 0 1 AB6CEO41A4ACBB2B6066 VENDOR STRING 12c ck 61 FEATURE 5 Gen ipld 1 000 1 jan 0 1 5BDCOOBIDF6C47285D4F VENDOR 5 12 ck 17 FEATURE ATS TS Gen ipld 1 000 1 jan 0 1 8BDCE0A144823FAEA48F0 VENDOR STRING 12c ck 64 FEATURE FDS ipld 1 100 1 jan 0 1 BB7C1041DD97E46C26BD VENDOR STRING 12c ck 250 FEATURE sunpro cc suntechd 3 01 01 jan 0 1 2B0A6021E06EBA264557 Serial number 12660 16301 4 FEATURE sunpro sparcworks tools suntechd 2 01 01 0 1 2BDA3031D4792AA98569 Serial number 87443 16201 1 In order to add the new ERC32 tools it was necessary to add the daemon and feature lines for these tools to
30. y 1998 Page 10 of 26 5 BINDING Initial attempts at using the binder were made early in the compilation process to determine how it worked what reports were produced etc The first full bind was made when the complete source file set had been compiled although some package bodies still had problems The bind under these conditions was unsuccessful as expected with the erroneous units flagged as missing The SOHO software follows a consistent style where separate packages are declared for different kinds of data these packages have specifications only Although the library manager shows uncompiled bodies for these packages the binder reports that they are not compiled but not required as expected Once the errors had been removed from the package bodies and they had been recompiled the binder ran successfully generating a report showing units used offsets of units etc and producing a file MATRA MARCONI SPACE 0177 2 Issue 1 Evaluation Report February 1998 Page 11 of 26 6 WCET EXTRACTION 6 1 COMPILER Once a successful bind had been achieved at the functional level the Worst Case Execution Time WCET extraction was attempted To do this the compiler WCETE option was turned on and all files recompiled using AdaMake This took about 5 minutes for the 70 source files involved WCET errors were reported in 8 source files Some of these are listed below compound assignments atypical case is
Download Pdf Manuals
Related Search
Related Contents
User manual for W25 sampling valve Desa TSTPEA-A Indoor Fireplace User Manual ャーアンプ(分離幅器) PRESENTATION cordee tpe MODE D EMPLOI DeLOCK 89315 Belson BSV1985 Manual - Recambios, accesorios y repuestos Si EXPRESSION_FRENCH.indd Copyright © All rights reserved.
Failed to retrieve file