Home

Stood 5.2 AADL Tutorial

image

Contents

1. In the example below two Stood components keyboard digit and screen digit have been created They have the same AADL type name digit and different implementation name keyboard and screen STOOD AADL Tutorial Ellidiss May 2007 page 39 Ge Stood for the AADL GJ Rename x Ei Rename X Name keyboard_digit Name steen don Type gt _ Type igt Implementation keyboard Implementation screen S Ok Cancel Ok Cancel 4 6 Define subcomponents of a Data component According to the AADL standard a Data component classifier can accept subcomponents that must also be instances of Data components As a special case subcomponents of Data component classifiers are managed by Stood as a list of typed Attributes This is in fact compliant with the way software structured data types Ada record C struct C class are handled by the tool When a Data component classifier is selected on the diagram or in the top left list a dedicated SUBCOMPONENTS section is available inside the component descriptor in the bottom left list This section contains a formal declaration of the list of the Data subcomponent names associated with their corresponding classifier reference name of a Data component classifier Note that keyword ATTRIBUTES must not be removed and that the list separator is a comma To illustrate this we can create a new Data component classifier called real and specify that it has tw
2. l PRAGMA implementation name hierarchy name gt others v exported modules PRAGMA no graphics After having pressed the Ok button and waited a little the extraction messages file is shown The messages file lists the abstract component types and implementations that had to be created to fully describe our Process Note that the context of the Process is also generated as a System having the same name as the current Project and which also contains the two Device components page 76 STOOD AADL Tutorial Ellidiss May 2007 3 design calc_process g design calc_process calc_process e Stood for the AADL Requirements Graphic Design Detailed Design Checkers Code S E AADL AD RER 4 processing_unit extraction messages keyboard_dhriver begin code extraction Thu Oct 5 13 37 46 2006 screen_driver creating SYSTEM TYPE AADL calculator KEYBOARD creating SYSTEM IMPLEMENTATION AADL calculator others SCREEN creating DEVICE TYPE KEYBOARD numbers creating DEVICE TYPE SCREEN design ae SES creating PROCESS TYPE calc process H 5y creating PROCESS IMPLEMENTATION calc process others design numbers creating THREAD TYPE PR UNIT creating THREAD IMPLEMENTATION PR UNIT Ada creating THREAD TYPE KB UNIT E PACKAGE or COMPONENT creating THREAD IMPLEMENTATION KB UNIT Ada PROVIDED INTERFACE SS ee MIPE S INI oo IMPLEMENTATION creating THREAD IMPLEMENTATION SC UNIT Ada El pra
3. Note that due to the fact that we put a pragma compact AADL code has been associated to the root component in the hierarchy only STOOD AADL Tutorial Ellidiss May 2007 page 27 sa e Stood for the AADL Gi Stood for AADL AADL_calculator Tole Help Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment amp design calc_system 1 m a REVERT eo SD calc_system CPU SYSTEM IMPLEMENTATION calc_system others RAM lel gt suscomponents DATA_BUS Ka PROCESSOR CPU KEYBOARD De ROM MEMORY ROM SCREEN RAM MEMORY RAM DATA BUS BUS DATA BUS KEYBOARD DEVICE KEYBOARD SCREEN DEVICE SCREEN calc_process PROCESS calc_process CONNECTIONS DATA PORT KEYBOARD output gt calc_process input DATA PORT calc_process output gt SCREEN input BUS ACCESS DATA BUS gt CDU DATA BUS BUS ACCESS DATA BUS gt POH DATA BUS BUS ACCESS DATA BUS gt BAM DATA BUS ods ada c cpp sad test checks BUS ACCESS DATA BUS gt KEYBOARD DATA BUS PACKAGE or COMPONENT BUS ACCESS DATA BUS gt SCREEN DATA BUS PROVIDED INTERFACE END calc_system others IMPLEMENTATION PROCESSOR CPU pragmas FEATURES code file header DATA BUS REQUIRES BUS ACCESS DATA BUS AADL CODE END CPU extraction messages reverse messages calc_process om aad BUS REQUIRES BUS ACCESS DATA BUS ra makefile prolog description DATA BUS REQUIRES BUS ACCESS DATA BUS
4. AADL Modes can be defined to represent operational states of a component That is why a state diagram editor is used to specify them We are going to illustrate this on the Thread processing unit The state diagram editor can be launched from the Open state diagram contextual menu Sa POT Pe 1 processing unit _ l Delete sc dig Kb du gt on gt ioff Open state diagram A new graphical editing area is then selected where it is possible to create states representing AADL Modes and transitions representing AADL Mode Transitions To create a new Mode use the New state button or contextual menu page 72 STOOD AADL Tutorial Ellidiss May 2007 Q 6 design calc_process design calc_process calc_process processing_unit keyboard_driver screen_driver KEYBOARD SCREEN numbers design calc_system design numbers ods ada c cpp aad test checks cathread REQUIRED INTERFACE DATAFLOWS IMPLEMENTATION PROPERTIES BEHAVIOR ea behavior description state transition diagram e Stood for the AADL Requirements Graphic Design Detailed Design eO o x hos le States are given a default name that can be modified thanks to the Rename contextual menu Let us create two Modes idle and running Change state into Gi Rename state STOOD AADL Tutorial Ellidiss May 2007 page 73 sa e Stood for the AADL Transitions can be created with the new
5. fa Stood for the AADL Stood 5 2 AADL Tutorial STOOD AADL Tutorial Ellidiss May 2007 page 1 e Stood for the AADL Pierre Dissaux Ellidiss Technologies page 2 STOOD AADL Tutorial Ellidiss May 2007 eg Sto Contents RE Tel en e uneuabeeionatonncnnonsscbsamiunnonengsotsnnamsananadea tanubadecaausinahogsuadonsanebecsonsseaseins 5 NS a E 6 SEENEN 6 PPE EITE A anA n e E E EEeie 7 PESE GUNN EE ING ENE E N A E T A E OE A EE E E NE OEE E 8 D E O sate EE 8 SEET eege 10 OC Fe abe aAA DE SY SECU EE 11 3 1Create a new design of kind aadl gwvstem 11 3L Lock the system to enter EE 11 Jo Document tie POJ 6 eE E EEE E E ee ee 13 EE 14 e UCONN een eee ene E ey eee eee 16 3 6Rename and give a type to subcomponents ssiseiiiesasepninnen ari eratan ENANA NEEE a EE IE a EENAA ANENA 19 Da Croate Dus ACCESS EE 20 EE e E E E E E E 21 JIRenanme andl eustoni ze Pori geet 22 SEENEN 24 3 11 Generate the AAD LcCode for the Sy Ste E 25 eege 27 NEE EE 0 0 ER 29 E Ne AE o e i Ae one ere ed A E E E O A ee ee eee eee 34 ACreate an AADL package ccccccccesssssssssscccaeeeeeeeeeeeeeeeeeeesseseseseeseeaeeeaeeeeeeeeeeeeeeeeeeeeeeessssssusessssuaaagaagaaaaes 35 4 1Create a new design of kind aadl package ccccccccessesesseesesnsssseaeaeeeeeeeeeeeeeeeeeeeeeseeeeseeeeeaaas 35 4 2Lock the package to enter edit mode 36 4 3Create Data component classifiers inside the package 37 A Al ciname RRE Ee 38 4 5Specify c
6. schedulability analysis information may also be entered through Stood real time properties section We can specify for instance that keyboard driver has a period of 100 ms and a deadline of 50 ms Fr INTERFACE EL PROPERTIES wreal time properties standard AADL properties Kolber component type properties _ PORT GROUPS PORTS and SUBPROGRAMS IMPLEMENTATION Save text real time properties page 70 STOOD AADL Tutorial Ellidiss May 2007 d U O Stood for the AADL In a similar way Worst Case Execution Time can be specified for each Subprogram or Thread Note that a default internal subprogram called thread has been automatically created by Stood in the model Its worst case execution time section can be used to specify the Thread Compute Execution Time Property default unit 1s ms PORTS and SUBPROGRAMS lt S SES Save text worst case execution time eothread WCET 1 e port or subpg description port or subpg declaration Save text Ctri s port or subpg properties hood standard AADL properties Undo Ctri z other port or subpg properties Restore w worst case execution time Pa Similar modifications can now be done for the Thread screen driver to change it into a periodic Thread with a period of 10 ms The graphical model is now as shown below sc_digits P kb_digits 4 STOOD AADL Tutorial Ellidiss May 2007 page 71 e _______________ Stood 5 13 Specify modes
7. the outer box being selected aadl calculator use the New package contextual menu to create a local representation of a remote Package KEYBOARD A new box has been added to the diagram with the default name Extern To change this name use the Rename contextual menu the Extern Package must be selected Etern ADD Se Let us now give to this local Package the name of the actual Package we created in the Project 1 e numbers Gij Rename X Name numbers Type Implementation Ok Cancel page 58 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL Stood has now made the association between our local Package and the actual remote Design of the same name This will allow us to use the various Data component classifiers defined in the Package numbers in the current Design To check the available Data component classifiers double click on the local Package numbers Note that if changes are made to the remote Package they will be propagated to the local copy only during a Design load 5 5 Change data ports type When we added Data Ports to subcomponents in section 3 8 we did not care about the associated data type A default data type T Flow was used It is now possible to reference the Data component classifiers provided by the imported Package to specify the actual type of the Data Ports To illustrate how a port definition can be modified select section port or subp
8. 1 ma END KBE UNIT Ada Note that this view has new buttons that can be used to activate AADL compliant tools such as Osate or Cheddar page 78 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL 5 16 Generate Ada code Without changing anything in the design model it is possible to also generate Ada C or C source code The process for generating Ada code for instance is very similar to the one applied to generate the AADL code 1 e a Select the Code tab again Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment b Change the source language tab from aadl to cpp ods ada c cpp od test checks ods ada c cpp aad test checks E PACKAGE or COMPONENT PACKAGE or COMPONENT INTERFACE INTERFACE IMPLEMENTATION IMPLEMENTATION ww w pragmas ea code file header ea code file header AADL CODE Ada CODE c Press the full extraction button then the OK button in the dialog box Generated files can be shown by selecting the appropriate items in the selection lists see next page Note that the generated Ada source files are stored in a default location in the Workspace Location of each file can be found easily thanks to the Location contextual menu Ada CODE real time attributes Ten E spec bod i C Ellidiss Stood5 1 tutorial calc_process _ada keyboard_driver adb sep Help raw Location STOOD AADL Tutorial E
9. Code tab again Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment b Change the source language tab from aad to cpp ods ada c CHP aad test checks Er PACKAGE or COMPONENT INTERFACE IMPLEMENTATION w pragmas code file header C CODE odslada c cpp aad test checks EF PACKAGE or COMPONENT INTERFACE IMPLEMENTATION mu pragmas eo code file header AADL CODE c Press the full extraction button then the OK button in the dialog box Generated files can be shown by selecting the appropriate items in the selection lists page 52 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL design numbers Requirements Graphic Design Detailed Design Chec design calc_system AADL Apa REVERT amp design numbers 4 numbers integer real number keyboard_digit dd visibility on required modules include number h include integer h screen_digit ods ada c COP aadi test checks provided types and constants O PACKAGE or COMPONENT es as io C INTERFACE IMPLEMENTATION private integer int part m pragmas ea code file header 8 integer dec part C CODE A END OF MODULE real CC endif 4 17 Save the design It is recommended to save the design to the design directory from time to time To do so use the menu Design Save design Gij
10. data Subprogram defined in a Data component classifier default Parameter is the receiver which default name is me and default type is the Data component classifier ada c cpp aad test checks PACKAGE or COMPONENT re DESCRIPTION Fi PROVIDED INTERFACE Ea number digit Screen digit PROPERTIES PORT GROUPS PORTS and SUBPROGRAMS ES u mfrom_digits port or subpg declaration ea portorsubpg description m port or subpg declaration from_digits me in out number a operation properties hood b Modify the Parameters in the text input area Do not forget to save the changes with the button contextual menu or keyboard shortcut i iste ee Save text port or subpg declaration port or subpg description port or subpg declaration from_digits me in out number input in keyboard digit E operation properties hood ga worst case execution time Save text Ctri S c Note that specified Parameter type is checked against Stood cross reference table and the result of this analysis is shown in the right hand side of the text input area geese aa Save text port or subpg declaration Sport or subpg description mg ee L port or sul SS from_digits me in out number input in keyboard digit oar Ben operation properties hood ty keyboard_digit keybc e mmworst case execution time lt pa gt input By specifying proper
11. sub integers CALC124 sub reals CAC 13 scan the Keyboard CALC132 perform the operation CALC EC display on Screen Such a requirements file may be easily generated by a requirements management tool such as Doors Note that thanks to a specific connection feature it is also possible to directly import requirements and export coverage information from and to a traceability graph defined in the Reqtify tool 2 4 Launching Stood If not launched from the Workspace shortcut it is also possible to launch Stood either from the desktop shortcut or from the standard Windows start up menu Note that these two options will not be available if the corresponding set up has been deactivated during the installation process page 8 STOOD AADL Tutorial Ellidiss May 2007 S i Aide et support Ex cuter Fermer la session Pierre Arr ter l ordinateur demarrer e Stood When launched Stood shows a start up screen during its initialization phase and then opens its main windows which looks as the picture below Edit Design Component Feature Tools Help Designs Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment C Hood Wy P ou 2 0 gt RaQ g ods ada c cpp aadi test checks STOOD AADL Tutorial Ellidiss May 2007 page 9 e Stood ees for the AADL 2 5 Create a Stood project First step of the model
12. to be edited Gij Stood for AADL AADL_calculator File Edit Design Component Feature Tool design calc_system E design calc_system d calc_system M e Note that when a component is selected in the upper left list current selection of the graphical editor and contents of the lower left list are automatically updated It is thus possible to fill in the textual sections and sketches that are available to describe each component individually ods ada c cpp aad test checks _ Save text Statement of the Problem text Er PACKAGE or COMPONENT The calculator system must contain a CPU unit and input output devices DESCRIP TION CL PROBLEM Save text Chr Statement of the Problem text ea Sketch ofthe Problem Undo Ctr Z c Referenced Documents Restore SOLUTION The Statement of the Problem section see the figure above must be used to provide textual details about how the currently selected component contributes in solving a particular modelling problem The Sketch of the Problem section see figure below can be used to complete this information by an informal drawing that will be included into the design documentation page 14 STOOD AADL Tutorial Ellidiss May 2007 amp fa Stood for the AADL Requirements Graphic Design Detailed Design Checkers Cade Do design calc_system Er design calc_system Ge BNE VE gt n TOF OO ll ooun ods ada c cpp aa
13. transition button or contextual menu First click on the origin Mode and then on the destination Mode E Le New initial state DST New state Transitions are also given a default name that can be changed with the Rename contextual menu Gil Rename transition x Transitions must also be attached to a triggering Event Selection of the Event can be done thanks to the select transition event button or the Transition event contextual menu This action opens a dialog box showing all the Ports and Subprograms defined in the interface of the current component Note that only In and In Out Event Ports can be used to trigger Mode Transitions page 74 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL GJ Stood for AADL AADL_calcula lt A Select the triggering event of the transition el from the provided operation set 5 14 Generate the AADL code for the process To generate textual AADL code from a graphical model in Stood the Code tab must be selected instead of the Graphic Design one The new button bar shows two buttons The first button on the left is called add pragma and may be used to customize the code generation Pressing this button opens a dialog box showing the list of the possible options that can be selected Note that some options may have already been automatically inserted by Stood as it is the case here design c
14. C fp B design calc_process T calc_process K x Then click on the button load requirements from text design calc_process Requirements Graphic Design Detailed C amp design calc_process mare s T calc_process ct Sir E A file navigator dialog is shown in which the appropriate file must be selected Our Workspace contains a file called Requirements txt which contents was described in chapter 2 3 STOOD AADL Tutorial Ellidiss May 2007 page 55 H e Stood for the AADL Ke a catalog file Jeg Regarder dans tutorial el f ce B if Mes documents r cents Bureau Mes documents Poste do travail KR Nowa cach Ts ey K Favoris r seau Fichiers de type catalog o Daris ee Once the file is loaded the corresponding list of requirements appears in Stood Note that a small red gauge is shown at the left of each individual item which means that the requirement is not covered yet by any design entity design calc_process Requirements Graphic Design Detailed Desi GPU 7 len CALC101 interact with the Keyboard dice gt lie CALC102 interact with the Screen ial BUS KE CALC111 define integer type KEYBOARD se CALC112 define real type SCREEN e CALC121 add integers design calc_system KE CALC122 add reals design numbers KE CALC123 sub integers E CALC124 sub reals KE CALC131 scan the Keyboard KE CALC132 per
15. Change into k n Je Out KEYBOARD Data port Cr ramt eee By default ports are attached to the left border of the component It is however possible to move them to the right border using the Right alignment contextual menu In a similar way a port attached to the right border can be moved back to the left border thanks to the Left alignment contextual menu STOOD AADL Tutorial Ellidiss May 2007 page 23 S e Stood C ZE for the AADL OAT ae KEYBOARD calc Rename WW KEYBOARD Left alignment Right alignment We can now customize the four ports as follow DATA BUS 3 10 Create port connections To create connections between ports use the new connection button of the graphical editor First click on the button a then click on one of the connected ports b and then on the other port c Note that port compatibility is verified before accepting to create the connection These verifications concern port kind port direction and port type for Data Ports and Event Data Ports page 24 STOOD AADL Tutorial Ellidiss May 2007 Ge Stood for the AADL KEYBOARD cac D Tsch calc_ system a b c We can thus create port connections between the Process and each of the two Devices JPE DATA BUS EE E 3 11 Generate the AADL code for the system Our model has been created with just a few mouse clicks in the graphical editor It is however possible to generate a full AADL spe
16. END RAM BUS DATA BUS END DATA BUS DEVICE KEYBOARD FEATURES output OUT DATA PORT T_Flow REQUIRES BUS ACCESS DATA BUS input IN DATA PORT T_Flow DATA BUS REQUIRES BUS ACCESS DATA BUS END SCREEN PROCESS calc_process FEATURES input IN DATA PORT T_Flow output OUT DATA PORT T_Flow END calc_process This AADL code can be edited with Stood but the corresponding file in the repository may be easily located for a remote access To locate a particular file select the corresponding entry in the lower left list and use the Location contextual menu page 28 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL ei fe AADL CODE w extraction messages Eireverse messages Ea mak m prol i 1 C Ellidiss AADL Tutorial calc_system _aadl calc_system aadl 3 13 Create a design report Stood also offers a seamless way to create design documentation reports Such a report compiles all the appropriate information that has been entered while building the model This includes textual and graphical entries To switch on the report settings tool select the documentation tab Gj Stood for AADL AADL_calculator File Edit Design Component Feature Tools Help DES design calc_system Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment E amp design calc_system CPU DATA_BUS KEYBOARD SCREEN calc_process ods ada c cp
17. HREAD PR UNIT Ada SCREEN Ae keyboard driver THREAD KB UNIT Ada numbers e screen driver THREAD SC UNIT Ada design cal CONNECTIONS ep genie Aere EVENT PORT on gt processing unit on design numbers EVENT PORT off gt processing unit off DATA PORT input gt keyboard driwer row data DATA PORT screen driwer row data gt output DATA PORT processing unit sc digits gt gcreen_driver digits DATA PORT keyboard driver digits gt processing unit kb digits END calc process othera THREAD PR_UNIT sc digits OUT DATA PORT numbers integer kb digits IN DATA PORT numbers integer on IN EVENT PORT off IN EVENT PORT my flow 0 FLOW PATH kb digits gt sc digita ods ada c cpp aad test checks THREAD IMFLEMENTATION PR UNIT Ada E PACKAGE or COMPONENT wanes INTERFACE Idle MODE IMPLEMENTATION Running MODE Idle on gt Running Running off gt Idle PROPERTIES m pragmas ge code fle header AADL CODE Dispatch Protocol gt Aperiodic pa extraction Messages END PR UNIT Ada Krever e messages Ga sadli THREAD KB UNIT Ea makefile gees GE SCH raw data IN DATA PORT digit keyboard m prolog description digits OUT DATA PORT numbers integer my flow_0 FLOW PATH raw data gt digits END KB UNIT THREAD IMPLEMENTATION KA UNIT Ada PROPERTIES Dispatch Protocol gt Periodic Period gt 100 ma Deadline gt 50 ms Compute Execution Time gt 1 ms
18. PE OK Cancel After having pressed the Ok button and waited a little the extraction messages file is shown page 26 STOOD AADL Tutorial Ellidiss May 2007 3 design calc_system Et amp design calc_system calc_system CPU RAM e Stood for the AADL Requirements Graphic Design Detailed Design Checkers Code AADL ADA REVERT a extraction messages begin code extraction Tue Oct 3 17 26 19 2006 creating SYSTEM TYPE AADL calculator DATA_BUS creating SYSTEM IMPLEMENTATION AADL calculator others KEYBOARD creating SYSTEM TYPE calc system SCREEN creating SYSTEM IMPLEMENTATION calec system others _ creating PROCESSOR TYPE CPU ca process creating MEMORY TYPE ROM ods ada c cpp aad test checks creating Creating Creating MEMORY TYPE RAM BUS TYPE DATA BUS DEVICE TYPE KEYBOARD E PACKAGE or COMPONENT creating DEVICE TYPE SCREEN PROVIDED INTERFACE creating PROCESS TYPE calc process IMPLEMENTATION m pragmas Halt Program terminated normally code file header end code extraction Tue Oct 3 17 26 20 2006 AADL CODE mmextraction messages The messages file lists the abstract component types and implementations that had to be created to fully describe our System instance 3 12 Show generated AADL code The AADL generated code can be shown by changing the selection in the lower left list of the Stood window from extraction messages to aadl
19. Parameters we can express that the two data Subprogram features of Data component classifier number are from digits with an input Parameter of type keyboard digit andto digits with an output Parameter of type screen digit STOOD AADL Tutorial Ellidiss May 2007 page 45 d Stood for the AADL gm worst case execution time port or subpg declaration Oto dot EN St to digits me in out number output out screen digit ty number port or subpg description lt pa gt me m port or subpg declaration ty screen doit screen operation properties hood lt pa gt output e worst case execution time 4 11 Add AADL Properties AADL entities specification can be refined by a set of predefined or project specific Properties The way to enter predefined Properties with Stood 5 2 differs from what was proposed with Stood 5 1 In Stood 5 2 all the predefined Properties have been included into the default configuration which simplifies their use Note that it is possible to customize this list in the tool configuration files to hide those Properties that are not relevant for the current Project When a component or a feature is selected the list of possible valid Properties can be shown in the INTERFACE section A contextual help is available for each individual Property ER design numbers lel x numbers lel ae integer ae real number A keyboard_digit M e Screen dot d ods ada c cpp aad t
20. Stood for AADL AADL_calculator Pie Edit Design Component Feature Tools New design d design nur New design from Lock desig Unlock design Rename design Change design into Update design from Change design language Compare design Show design location Save design STOOD AADL Tutorial Ellidiss May 2007 page 53 H Sto 5 Create an AADL process The third kind of Design that can be managed with Stood is associated to an AADL Process Such a Design represents a software program for which it is possible to generate a complete set of target language source files that can be compiled and linked to produce an executable file It is possible to create a Design of kind AADL Process thanks to the Design New design menu Another option consists in creating a new Design by exporting a Process subcomponent defined in an AADL System 5 1 Create a new design by export In the Design calc system we defined a Process subcomponent called calc process It would be possible to refine the contents of this Process within this Design However it may be interesting to isolate the pure software part of the System in a separate Design to complete software design and coding activities until the end To do so after having loaded the calc system Design again calc process component must be selected and the export contextual menu must be used as shown below RAM Enter Rename i Stood for AADL AADL_calculat
21. TOOD AADL Tutorial Ellidiss May 2007 page 35 sa e Stood for the AADL 4 2 Lock the package to enter edit mode When it has just been created the new Package design is automatically loaded and it is shown in the AADL graphical editor as an empty box at the middle of a larger one representing the Project GJ Stood for AADL AADL_calculator Max File Edit Design Component Feature Tools Help design numbers Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment C Hood R cw S Waaa ods ada c cpp aadi test checks PROJECT Project Description ca Project Sketch List of Requirements Design Tree Inheritance Tree However this Package design is set to read only mode by default To enable performing modifications on this Package it is necessary to lock it so that no other user will be allowed to get a concurrent write access to the model page 36 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood S for the AADL Gij Stood for AADL AADL_calcu File Edit Design Component Feature Gij Stood for AADL AADL_calculator Fle Edit Design Component Feature To we PE a design numbers design nur New design from i design numbers desi Lock design When a Package design is locked may be modified in the current Session a green padlock is shown at the left of its name 4 3 Create Data component classifiers inside th
22. W FE This HW is composed of Statement of the Problem text a CPU processor unit w Sketch of the Problem a ROM memory unit w Referenced Documents aRAM memory unit Save text CHA SOLUTION an DATA BUS bus w General Strategy text gene d Bap Eaei ae Undo Ctri z e Sketch ofthe Solution a screen devical Restore ealdentification of Subcomponents co Justification of Design Decisions Stood promotes the concept of incremental documentation that consists in asking the designer to document each modelling element independently at the time he or she is performing the modelling actions The final design documentation will compile all these elementary sections to build a complete report This modelling process also recommends documenting each component before going deeper in the architecture hierarchy For instance the Identification of Subcomponents documentation section can be used as a guideline for actually creating the subcomponents see next chapter 3 5 Create subcomponents In the graphical editor a component can be represented either by its black box view that shows the contents of the corresponding component type or by its white box view that shows the contents of the corresponding component implementation In the picture below the black box view of the System component is shown To show its white box view it is necessary to go one step down the hierarchy This action can be p
23. __ Stood 4 Create an AADL package In the previous section we did not explain in purpose how existing component classifiers could be referenced in other AADL models This is however mandatory to enable proper component reuse In order to be properly referenced with a Project wide scope it is a good practice to group component classifier definitions within AADL Packages In theory this should be done for any category of component however the particular case of Data component classifiers is especially important as they are not only instantiated to create subcomponents but also to specify the actual data type of Data Ports Event Data Ports or Subprogram Parameters This section explains how to create an AADL Package that provides a set of Data component classifiers 4 1 Create a new design of kind aadl package To create a new Package inside the current Project cf 2 5 use the menu Design New design aadl package and then specify its name in the dialog box Gij Stood for AADL AADL_calculator Pie Edit Design Component Feature Tools Help New design design Designs New design from generic phic Lock desig lies GJ AADL package name aad system d aad process numbers ts aadl processor OK Cancel 3 Note that a Design name in Stood must be alphanumeric e only contain characters a 4 9 6 to z A to Z 0 to 9 or the underscore character S
24. alc_process Requirements Graphic Design Detailed Design Checkers Code s design calc_process calc_process processing_unit keyboard_driver screen_driver KEYBOARD SCREEN af name gt others STOOD AADL Tutorial Ellidiss May 2007 page 75 sa e Stood for the AADL Select pragma compact in order to generate all the AADL code in only one file default rule is one file per component and then pragma no_ graphics to disable the generation of Stood specific properties that are used to propagate the positions of the graphical items in the diagram Stood for AADL x Stood for AADL x y Selecta pragma Selecta pragma Selecta pragma Select a pragma generation control a compact ET no_graphics behavior generation control compact La no_graphics E behavior reverse component Custon OK Cancel reverse component custon 3 Cancel The AADL code generation can then be activated by pressing the full extraction button This opens a dialog box that can be used to specify which part of the Design has to be generated Most of the times we need the whole Design to be generated which is the choice that is proposed by default daad full extraction SYSTEM_CONFIGURATION calc_process par KG processing_unit keyboard_driver pragmas screen_driver KEYBOARD PRAGMA type name SCREEN name gt cale process
25. ans that the component has not been saved yet design calc_system E design cale_system default calc_system default CPU default ROM default RAM default DATA_BUS default KEYBOARD default SCREEN default calc_process default ods ada c cpp aad test checks default full ods A Second step consists in selecting the output format for the report This can be done by selecting the appropriate button among bm default mif pdf ps rtf and tps Select rtf design calc_system Requirements Graphic Design Detailed Design Checkers Code Documentation E amp design calc_system default g on cale_system default HS g u Danag Last step is the activation of the document generation that will start after the print button has been pressed page 30 STOOD AADL Tutorial Ellidiss May 2007 fa Stood for the AADL design calc_system Requirements Graphic Design Detailed Design Checkers Code Documentation E design calc_system default 8 o le 5 SS a 4 A TF cale_system default S 30 RG KIEI GS A standard Windows file navigator is then shown to select the output file A default filename and directory is proposed eras file KS Enregistrer dans doc 8 el a ce Er r Nom du fichier calc_system rtf v Type rif rtf v Annuler As soon as the document generator has finished to work it is possi
26. ble to view the report by opening its containing directory If the default output file location was not changed it can be found by using the menu Tools Open directory design directory Gil Stood for AADL AADL_calculator File Edit Design Component Feature Took Help View design calc_system Design Detailed Design Cher Et design calc_system default DEE a Ig RE calc_system default Graphic design rT EECH CPU default Checkers a F ROM default Code RAM default Documentation kk i DATA BUS default UE S KEYBOARD default g 8 SCREEN default Open directory working directory PS a ae Show full pathnames configuration directory wi Hide full pathnames i project directory Display properties design directory STOOD AADL Tutorial Ellidiss May 2007 page 31 sa e Stood for the AADL The design directory contains all the information related to the Design Generated documentation may be found inside the doc subdirectory CAEllidiss AADL Tutorial cale_system CJOEJ CAEllidiss AADL Tutorial calc_system DCS Fichier Edition Affichage Favoris Outis Sp Fichier Edition Affichage Favoris Ou ae 23 23 Pr c dente 2 Rechercher 2 P OK Adresse Elidiss AADL Tutorial calc_system _doc 1 EJ oK 2 SYSTEM_CONFIGURATION aadisettings E project al Req sto E Stood lok Note that the AADL code that was generated previously ca
27. cal editor as an empty box at the middle of a larger one representing the Project STOOD AADL Tutorial Ellidiss May 2007 page I1 e B Bto0od for the AADL iJ Stood for AADL AADL_calculator eg File Edit Design Component Feature Tools Help design calc_system _ Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment C Hood ih Ra S e C UML S i T6 KaR e AADL ADL_caiculator ods ada c cpp aadi test checks PROJECT Project Description Project Sketch List of Requirements Design Tree Inheritance Tree However this System design is set to read only mode by default To enable performing modifications on this System it is necessary to lock it so that no other user will be allowed to get a concurrent write access to the model Gij Stood for AADL AADL_calculator Stood for AADL AADL cn Pie Edit Design Component Feature To File Edit Design Component Fe 3 New design i design cal New design from design calc_system Ges Lock design amp design calc_system k deer When a System design is locked may be modified in the current Session a green padlock is shown at the left of its name page 12 STOOD AADL Tutorial Ellidiss May 2007 ga x Stood for the AADL 3 3 Document the project When the System design is selected in the upper left list of Stood window the lower left list shows description sectio
28. can then be activated by pressing the full extraction button This opens a dialog box that can be used to specify which part of the Design has to be generated Most of the times we need the whole Design to be generated which is the choice that is proposed by default STOOD AADL Tutorial Ellidiss May 2007 page 49 5 ao Stood for the AADL pragmas J aad full extraction x PRAGMA exported type numbers name gt keyboard digit integer oo idimi real Epe S Iit d number implementation gt keyboard keyboard_digit PRAGMA exported type screen_digit name gt screen_digit type gt digit lv hierarchy implementation gt screen V exported modules PRAGMA compact PRAGMA no graphics Cancel Help After having pressed the Ok button and waited a little the extraction messages file is shown The messages file lists the abstract component types and implementations that had to be created to fully describe our Package design numbers Requirements Graphic Design Detailed Design Checkers Code E amp design numbers e opp apa ies E fumbers oe 4 integer extraction messages real begin code extraction Tue Oct 3 14 07 45 2006 number creating PACKAGE numbers keyboard_digit creating DATA I PE integer screen_digit creating DATA TYPE real creating DATA IMPLEMENTATION real others creating DATA TYPE digit
29. cification from it To generate textual AADL code from a graphical model in Stood the Code tab must be selected instead of the Graphic Design one The new button bar shows two buttons The first button on the left is called add pragma and may be used to customize the code generation Pressing this button opens a dialog box showing the list of the possible options that can be selected STOOD AADL Tutorial Ellidiss May 2007 page 25 e Stood es for the AADL E Stood for AADL x P Select a pragma generation controlla F compact l no_graphics VG behavior reverse Save text Ppragmas component custon OK Cancel Select pragma compact in order to generate all the AADL code in only one file default rule is one file per component and then pragma no_ graphics to disable the generation of Stood specific properties that are used to propagate the positions of the graphical items in the diagram wl Fe Pe tee e The AADL code generation can then be activated by pressing the full extraction button This opens a dialog box that can be used to specify which part of the Design has to be generated Most of the times we need the whole Design to be generated which is the choice that is proposed by default Gi aadl full extraction CPU ROM RAM fears DATA_BUS KEYBOARD FULL SCREEN par ER cale nrocess pragmas w hierarchy PRAGMA compact Iw exported modules PRAGMA no graphics
30. creating DATA IMPLEMENTATION digit keyboard creating DATA IMPLEMENTATION digit screen ods ada l c cpp aadl test checks EF PACKAGE or COMPONENT creating SUBPROGRAM TYPE from digits PROVIDED INTERFACE creating SUBPROGRAM TYPE to_digits IMPLEMENTATION creating DATA TYPE number pragmas eacode file header Halt Program terminated normally AADL CODE end code extraction Tue Oct 3 14 07 45 2006 em extraction messages 4 15 Show generated AADL code The AADL generated code can be shown by changing the selection in the lower left list of the Stood window from extraction messages to aadl Note that due to the fact that we put a pragma compact AADL code has been associated to the root component in the hierarchy only page 50 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL a Stood for AADL AADL_calculator old File Edit Design Component Feature Tools Help design numbers Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment E amp design numbers d T aao apa mmer o em ES integer Gave tey real number keyboard_digit DATA integer EXTENDS number screen_digit END integer DATA real EXTENDS number END real ods Lada lc lenp aad test checks DATA ohio real others E PACKAGE or COMPONENT int_part DATA integer PROVIDED INTERFACE dec_part DATA integer IMPLEMENTATION END real others pragmas e os This
31. data component defines a representation for numbers as a list of digits macode file header DATA digit AADLCODE END digit extraction messages reverse messages DATA IMPLEMENTATION digit keyboard PROPERTIES om aad i Source _Data_Size gt 6 bits eamakefile END digit keyboard prolog description DATA IMPLEMENTATION digit screen END digit screen SUBPROGRAM from digits FEATURES me IN OUT PARAMETER number input IN PARAMETER digit keyboard END from digits SUBPROGRAM to_digits FEATURES me IN OUT PARAMETER number output OUT PARAMETER digit screen END to_digits from digits SUBPROGRAM from digits to_digits SUBPROGRAM to_digits This AADL code can be edited with Stood but the corresponding file in the repository may be easily located for a remote access To locate a particular file select the corresponding entry in the lower left list and use the Location contextual menu STOOD AADL Tutorial Ellidiss May 2007 page 51 Ge Stood for the AADL m AADL CODE w extraction messages mreverse messages aad Help E Ge Te i CAEllidiss Stood5 1 tutorial numbers _aadl numbers aadl Definition 4 16 Generate C code Without changing anything in the design model it is possible to also generate Ada C or C source code The process for generating C code for instance is very similar to the one applied to generate the AADL code Le a Select the
32. de for the porocesg 75 3 15 Show EE AAI COGS tie 77 SEN ee E 79 VE E 80 Bare EE 81 page 4 STOOD AADL Tutorial Ellidiss May 2007 d A Stood for the AADL 1 Introduction The purpose of this document 1s to describe the standard modelling process to be used to build a new AADL project with Stood It is not a complete tutorial or user manual for Stood and knowledge about the AADL is a prerequisite for using this document Please refer to the official AADL web site www aadl info to learn more about this standard In addition to the various modelling concepts defined by the AADL standard we need to introduce the following additional ones that are more development process oriented A Stood Design is the main modelling entry point It represents the root of a hierarchy of components or packages A Design may be used to define the overall system a particular set of concrete components describing an executable software application or a library of abstract components In the first case the Design is directly associated to an AADL system instance In the second one it will represent an AADL process instance whereas in the last case it will represent an AADL package A fourth case still subject to deeper investigations concerns the software to hardware binding activity for which the current entry point is an AADL processor A Stood Project refers to a set of Designs that collaborate in a common realization The Project specifies th
33. der Unix A complete specification of these properties is provided in the Stood Administrator Manual Only the properties that differ from the default initialization file located in the installation directory must be specified locally All the other properties will be automatically inherited Typical properties that may be customized locally are the various environment variables that are used by Stood to interact with external tools such as compilers or verification tools Environment ADA PATH C cygwin bin C PATH C cygwin bin CPP PATH C cygwin bin REQTIFY PATH C reqtify bin w32 OSATE PATH cygdrive C topcased eclipse eclipse exe CHEDDAR PATH cygdrive C CHEDDAR 2 0 cheddar exe STOOD AADL Tutorial Ellidiss May 2007 page 7 d o O Stood for the AADL 2 3 Requirements file The Workspace directory may also contain one or several Project specific textual requirements files that may be imported into Stood Once imported it will be possible to specify requirements coverage for each modelling entity The internal format for Stood compliant requirements files is quite simple as it consists in plain ASCII text declaring one requirement per line Each requirement is expressed by a unique identifier and a free comment separated by a tab character CALC101 interact with the Keyboard CALC102 interact with the Screen CALC AT define integer type CALCLAIZ define real type CALC 17 add integers CALCIZZ add reals CALCIZ 3
34. di test checks EF PACKAGE or COMPONENT DESCRIP TION 1 PROBLEM 4 2 3 Statement of the Problem text C i ES oon Referenced Documents SOLUTION Next figures show other examples of documentation sections that can be filled in for each component individually ods ada c cpp aad test checks Save text Referenced Documents EF PACKAGE or COMPONENT Architecture Analysis and Design Language DESCRIPTION SAE AS 2208 standard PROBLEM ee w Statement of the Problem text save text Ctr s ga Sketch of the Problem ci Referenced Documents Undo Ctr Z SOLUTION Restore Save text General Strategy text The global system is designed first to show the interactions between the various HW and SW units ods jada c cpp aadi test checks E PACKAGE or COMPONENT DESCRIPTION Then the SW unit will be refined in separate designs in order to focus on software design and coding issues PROBLEM w Statement of the Problem text ea Sketch of the Problem Save text Ctri S ea Referenced Documents Undo Ctr 7 SOLUTION H m General Strategy text Restore STOOD AADL Tutorial Ellidiss May 2007 page 15 Gi e Stood for the AADL ods ada c cpp aad test checks Save text Identification of Subcomponents EF PACKAGE or COMPONENT The calculator system consists of DESCRIPTION the calculator SW represented by the calc_process process unit the calculator H
35. e 7 i 4 gt fon gt Wou 1 PORT GROUPS wl PORTS and SUBPROGRAMS cakb_digits _digi ty numbers integer port or subpg description lt pa gt my_flow za port or subpg declaration gu worst case execution time port or subpg declaration casc_digits Gave tex aport or subpg description 8 _digits my_tlow out integer ty numbers integer suport or subpg declaratio GE STOOD AADL Tutorial Ellidiss May 2007 page 69 e Stood es for the AADL portor declaration digits my_flow in integer ty numbers integer n my_flow Note that port raw data has been automatically updated thanks to the existing connection g worst case execution time port or subpg declaration 2 digits port or subpg description 5 12 Specify real time properties Threads that have been created are aperiodic When Threads are periodic or sporadic more details about their real time behaviour can be managed by the tool This subcomponent sub category can be modified thanks to the contextual menu Change into To illustrate this feature let us change the two driver aperiodic Threads into periodic Threads digits Delete o Open state diagram Periodic Thread Bonge ert Note that the graphical notation has changed to comply with the AADL rules Real time properties may be entered into the model as standard AADL Properties However basic
36. e Claude Chappe Worall Street 29280 Plouzan Congleton Brittany Cheshire France CW12 1AG UK 44 1260 291 449 33 298 451 870 www aadl info
37. e package To create components in the Package it must be opened first To open a Package it must be selected and the contextual menu enter must be used An alternate solution 1s to perform a mouse double click inside the boundaries of the Package New component Process Thread Group Thread Subprogram System Processor Memory Bus Device Data Package Rename When the Package has been opened and is selected it is possible to create components either with the new AADL component button in which case a Data component classifier will be created by default or with the new component contextual menu After the button or the menu has been used a new box is shown on the diagram and a new component is added to the top left list Default name given to new components is the name of the container box followed by an integer value STOOD AADL Tutorial Ellidiss May 2007 page 37 L sa x Stood for the AADL 4 4 Rename the Data component To rename the new component it must be selected first on the diagram or in the list and the contextual menu rename must be used This opens a dialog box where the actual name of the component can be given Gij Stood for AADL AADL_calculator Pie Edit Design Component Feature Tools Help design numbers Requirements Grap Et amp design numbers f Hood el numbers lal gt e UML i mumbersi Name Enter Type Rename Implementation others Change in
38. e scope of the realization and restricts the access to other non referenced Designs A Stood Session begins when a user launches the tool and ends when Stood is closed Stood is a multi user environment so that several Sessions may be opened on a same Project or even on a same Design A Stood Workspace is a user defined disk area where Projects and Designs can be stored This tutorial includes the following sections 1 Define a Workspace launch Stood and create a Project 2 Create a Design representing an AADL system 3 Create a Design representing an AADL package 4 Create a Design representing an AADL process STOOD AADL Tutorial Ellidiss May 2007 page 5 sa e Stood for the AADL 2 Define a workspace It is possible to launch Stood from the start up menu or from the desktop icon that are created by the Windows installer program However in that case any customization of the tool requires altering the original distribution which may be an issue if several users or several Projects require different customizations This is the reason why it is often recommended to launch Stood from a Workspace that can be dedicated to each user or Project Such a Workspace consists in a simple directory that must contain at least two elements a shortcut to the Stood executable file under Windows or a redirecting shell script under Unix a local initialization file stood ini under Windows or stoodrc under Unix In addition t
39. endation of the annex A of the standard This component extension information can also be edited textually It can be accessed by selecting the EXTENDS section of the component descriptor while the component is selected on the diagram or in the top left list ods ada c cpp aadi test checks _Save text_ EXTENDS EF PACKAGE or COMPONENT A JINHERITANCE number number DESCRIPTION PROVIDED INTERFACE integer ma EXTENDS PROPERTIES 4 8 Define the public section of the package When adding Data component classifiers in a Package with Stood they are put in its private section by default To let a Data component classifier become public it must be selected and the contextual menu Set public must be used Enter Rename Change into Delete Open state diagram Set public page 42 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL In order to be able to distinguish between public and private Data component classifiers the former are listed in the left border of the Package box in the diagram Note that this graphical notation is specific to Stood For the purpose of our example we can for instance specify that Data component classifiers integer float keyboard digit and screen digit are public whereas number remains private 4 9 Define Data Subprograms Like with other object oriented languages it is possible to define the methods or member functions that are ass
40. erformed by double clicking inside the component box or using the enter contextual menu page 16 STOOD AADL Tutorial Ellidiss May 2007 d A Stood AADL for the AADL After using the enter menu the white box view of the System is shown It is thus possible to add subcomponents to its implementation To add a new subcomponent use the new AADL component button or the New component contextual menu The button will create a component of a pre defined category which can be modified later thanks to the Change into contextual menu On the contrary the New component contextual menu offers the full choice of valid categories for creating subcomponents within the current component implementation We can for instance create seven subcomponents inside the System implementation One component which category is Processor Two components which category is Memory One component which category is Bus Two components which category is Device One component which category is Process STOOD AADL Tutorial Ellidiss May 2007 page 17 Gs Stood for the AADL New component Fl Process Thread Grou p Thread Change into Subprogram System Undelete Processor Memory Bus Device Data Package Open state diagram Note that a default name is given to new created components and that this name is the name of the concrete subcomponent within the enclosing System that may differ from the c
41. est checks INTERFACE a keyboard_digit E EL PROPERTIES standard AADL properties cBase Address ma Concurency_Control_Protocol Not Collocated eaProvided Access exaRequired_Access Source Code Size Source Data Size e S5o0urce_Language a Source_ Name Help Source Text Location Den ER ee II page 46 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL To add a Property association first select the appropriate AADL entity here keyboard digit Data component classifier and the chosen Property in the list here Source Data Size Then enter the Property value in the text input area and save with the button the contextual menu or the keyboard shortcut Source Code Size a Source Data Size e S5ource_Language E Required Access Save text Source_Data_Size ea Source_ Name Note that a default value is proposed for each Property To display this default value use paste from template contextual menu of the text input area Land hy WP A a E d e l E Source Code Size e Paste from file ea ource Data Size e S5o0urce_Language DER i Insert link to file Source Name 4 12 Add textual comments It is recommended to insert comments and other textual information inside the design data structure while creating new entities These comments may be used to provide explanations about the why what and how of each component or feature The standard configuration of
42. form the operation KE CALC133 display on Screen 5 3 Clean up the environment Current Design has been created by exporting a Process subcomponent of an AADL System in another Design This export function also propagates information about the environment of the exported component and in particular all the sibling subcomponents However they are not all relevant anymore in the context of our new Design page 56 STOOD AADL Tutorial Ellidiss May 2007 d U O Stood for the AADL To clean up this environment switch the lifecycle tab to Graphic Design to show the AADL diagram select individually each component to be removed and use the Delete contextual menu as shown below Requirements Graphic Design Detailed Design Checkers Code Docurnentat Hood Hes ZS a m a 4 Hs b al Waaa g AADL After having deleted all the components that are note directly in interaction with calc process the cleaned model now looks like the following STOOD AADL Tutorial Ellidiss May 2007 page 57 sa e Stood for the AADL 5 4 Import a package In the model we have imported from calc system we did not specify precisely the data types associated to the Data Ports We now want to reference the Data component classifiers we defined in the numbers Package to give a type to the Data Ports The most consistent way to do that in Stood requires the Package to be imported first within the Design scope In the AADL diagram
43. g declaration section for port input in component cale process STOOD AADL Tutorial Ellidiss May 2007 page 59 Ge Stood for the AADL PORT GROUPS PORTS and SUBPROGRAMS e port or subpg declaration E co input input Flow in T_Flow T_Flow port or subpg description lt pa gt Flow port or subpg declaration The right hand list called symbol table shows that type T Flow is unknown Let us modify the port declaration to use type keyboard digit instead Please do not forget to save the changes with the button the contextual menu or the keyboard shortcut The new port declaration must look like the following L PORT GROUPS PORTS and SUBPROGRAMS aue tei port or subpg declaration co input input Flow in keyboard digit ty numbers keyboard_digit a port or subpg description lt pa gt Flow port or subpg declaration Note that the data type is now well recognized in the symbol table However the Data Port connection between Device KEYBOARD and Process calc process has suddently disappeared from the diagram The reason is that the two ends of the connection are no more type compatible The declaration of port output in component KEYBOARD must also be changed in a consistent way F PORT GROUPS PORTS and SUBPROGRAMS to portor subpg declaration c output output Flow out keyboard digit ty numbers keyboard_digit p
44. gmas code file header Halt Program terminated normally AADL CODE end code extraction Thu Oct 5 13 37 46 2006 em extraction messages 5 15 Show generated AADL code The AADL generated code can be shown by changing the selection in the lower left list of the Stood window from extraction messages to aadl Note that due to the fact that we put a pragma compact AADL code has been associated to the root component in the hierarchy only This AADL code can be edited with Stood but the corresponding file in the repository may be easily located for a remote access To locate a particular file select the corresponding entry in the lower left list and use the Location contextual menu d AADL CODE j Where Ed w extraction messages mreverse messages J C Ellidiss Stood5 1 tutorial calc_process _aadl calc_process aadl aadl Help ea makefile Location oppen pa pn L za Fear The screenshot below shows the result of an AADL code generation that only uses the information that has been inserted during the previous modelling steps STOOD AADL Tutorial Ellidiss May 2007 page 77 Stood d for the AADL design calc_process Requirements Graphic Design Detailed Design Checkers Code Docurr design calc_process ae E aap age eet ra Sree x Gia 4 processing_unit SW Saveteit aadi keyboard_driver AC PROCESS IMPLEMENTATION calc Process others screen_driver lsuRcoMPONENTS KEYBOARD A processing unit T
45. his Workspace may contain other Project related data such as lists of textual requirements or subdirectories with legacy source code to be reused in the Project C Ellidiss AADL Tutorial Banx Fichier Edition Affichage Favors Outils Pr c dente 7 Ki D Rechercher K Dossiers E Requirement 2 1 Stood shortcut Stood shortcut must be created by one of the standard Windows procedures However it is necessary to customize it so that the Workspace can be used as the default storage area for the new created Projects when Stood is actually launched from there Open the properties box of the shortcut select the shortcut tab and modify the target field so that it points to the current Workspace directory instead of the installation one page 6 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL Propri t s de stood G n ral Raccourci Compatibilit BS stood fa Type de cible Application Emplacement bin w32 Cible C Program Files Stood5 2 bin w32 stood exe D marrer dans C Ellidiss AADL Tutorial Touche de Aucun raccourci vl Ex cuter Fen tre normale Commentaire Rechercher la cible Changer d ic ne 2 2 Stood initialization file The second customization that may be required consists in modifying one or several of the properties that are specified in the Stood initialization file stood ini under Windows or stoodrc un
46. ling process consists in either opening an existing Project or creating a new one Projects can be managed from the File menu For the purpose of this tutorial we create a new Project and specify its name in the dialog box Ci Stood for AADL Ci New project x Fle Edit Design Component 3 Type in new project name Ee f AADL_calculator Open project OK Cancel We can now import existing Designs within the scope of our Project thanks to the File Add to project menu create new Designs from existing source code thanks to the Design New design from menus or create new local Designs with the Design New design menu This last choice offer several options The new created Design may be profiled as a HOOD Design in which case one of the options design generic or virtual node must be chosen or as an AADL Design in which case one of the options aadl package aadl system aadl process or aadl processor must be selected This tutorial explains how to create in a context of a consistent Project AADL Systems to define concrete system wide architectures composed of hardware and software components AADL Packages to specify libraries of abstract components and especially abstract Data components to be used as classifiers for ports and parameters AADL Processes to perform complete software design activities including architectural design detailed design and coding model analysis source code and design documentation gene
47. llidiss May 2007 page 79 3 design calc_process amp design calc_process calc_process processing_unit keyboard_driver screen_driver KEYBOARD SCREEN numbers design calc_system design numbers ods ada c cpp aad test checks PACKAGE or COMPONENT INTERFACE IMPLEMENTATION pragmas exo code file header Ada CODE realtime attributes spec body sep provided raw_data digits thread sep obcs EF 5 17 Save the design e Stood for the AADL Requirements Graphic Design Detailed Design Checkers Code Documen AADL ADA EE REVERT I i CH aie Te body visibility on required modules with Ada Real Time use Ada Real Time with RIA use RIA package body keyboard driver is task THREAD is pragma PRIORITY keyboard driver RTATT INITIAL THREAD PRIORITY end THREAD procedure raw data my flow procedure digits my flow procedure OPCS thread is begin null end OPCS thread task body THREAD is T Ada Real Time TIME begin if T lt RIA SYSTEM START Up TIME then T RIA SYSTEM START UP TIME end if T T keyboard driver RIATT OFFSET RTA START MODE loop delay until T OPCS thread T T keyboard driver RTATT PERIOD RTA CURRENT MODE end loop end THREAD end keyboard driver IN keyboard digit isa separate OUT integer is separate Ada Real Time CLOCK It is recommended to save the design to the design director
48. n be found in the aad1l subdirectory page 32 STOOD AADL Tutorial Ellidiss May 2007 amp fa Stood for the AADL The figure next page shows the result of the documentation generation with the RTF format 4 cale_system rtf Microsoft Word Max Fichier Edition Affichage Insertion Format Outis Tableau Fen tre Tapez une question D AH AA BL SF DIS Pw TF 100 Gof S EELER RECHERCHER 1 10 1 11 1 12 1 13 HCH m a Ellidiss etc AADL design documentation Generated by Stood Table of contents PROCESS calc_process IS LLE DESCRIPTION WEE 4 1 1 1 PROBLEM LE e T i DMOVANDOTIwVS 1 13 A9 2cm Li15 Col2 STOOD AADL Tutorial Ellidiss May 2007 page 33 S e Stood C SE for the AADL 3 14 Save the design It is recommended to save the design to the design directory from time to time To do so use the menu Design Save design Gij Stood for AADL AADL_calculator Fle Edit Design Component Feature Tool New design d design Cal New design from Et mm desi eo lal Unlock design M ll Rename design c Change design into kr Le Update design from gt We Change design language M Compare design lal Show design location Save design Note that the save icons that are shown at the right of the component names will disappear once they are saved page 34 STOOD AADL Tutorial Ellidiss May 2007 _e
49. ng compatible directions Event if they do not refer to the same data type several connections may participate to a same more global data flow Stood has a particular way to express such flow specifications calc pracess i d Watgen aer gt g S i Sei en aa a Seit Ze lb ee F processi ngunit i Sr gd 1 kb gt Sor h off For each port involved in a given flow the flow name must be inserted into the port or subpg declaration section in replacement to the default name Flow page 68 STOOD AADL Tutorial Ellidiss May 2007 S e Stood amp eee for the AADL PURI GRUUPS EI PORTS and SUBPROGRAMS Lesser Poltor subpg declaration input input my_flow in keyboard_digit ty numbers keyboard_digit aport or subpg description lt pa gt my_flow port or subpg declaration L mworst case execution time Ile GE a OOOO c output Sieh port or ee declaration port or subpg description _ Joutput my_flow out screen_digit ty numbers screen_digit port or subpg declaration lt pa gt my_flow keyboard driver ___ mmm aia ae 1 digits ie worst case execution time Dee ax digits _ gt 5ve text_ port or subpg declaration E port or subpg description digits my flow out integer ty numbers integer port or subpg declaration lt pa gt my_flow Note that port raw data has been automatically updated thanks to the existing connection EES ing unit i sc digits _ i kB an
50. ns for the local view of the Project Default sections are a textual descriptions and a graphical sketch that will be included inside the design documentation ods ada c cpp aadi test checks Save text_ Project Description E PROJECT This design specifies an AADL system that describes the architecture and the implementation of the calculator Project Description ma Project Sketch List of Requirements Save text Ctri s Design Tree e Inheritance Tree m Ctr Z Note that each time some text is entered in the text input area it must be saved by pressing the Save text button or using the corresponding contextual menu or the Ctrl S keyboard shortcut design calc_system Requirements Graphic Design Detailed Design i design calc_system S amp S T Ae LEE ods ada c cpp aad test checks E PROJECT Project Description Project Sketch List of Requirements Design Tree Inheritance Tree Note that the sketches are provided for documentation purpose only and that they do not carry any semantic information Note also that the other sections List of Requirements Design Tree and Inheritance Tree are automatically filled in by Stood STOOD AADL Tutorial Ellidiss May 2007 page 13 sa e Stood for the AADL 3 4 Document the system When the System design tree is deployed in the upper left list it shows another line with the same name This corresponds to the System component instance
51. o subcomponents int part and dec part that are both instances of integer _gn Referenced Documents SSE ee PROVIDED INTERFACE ATTRIBUIES int part integer dec part integer REQUIRED INTERFACE DATAFLOWS IMPLEMENTATION ma real ma SUBCOMPONENTS PROPERTIES Save text Ctrl s Note do not forget to use the save test button after any change in the text input area page 40 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL 4 7 Define Data component extension According to the AADL standard a Data component classifier may be specified as an extension of another Data component classifier Such an extension mechanism can be compared to software class inheritance in object oriented languages The fact that a Data component classifier extends another Data component classifier can be expressed on the diagram thanks to a graphical connection To create such a connection for instance to specify that integers and floats are kind of numbers please operate as follow a create a new Data component classifier called number b click on the new connection button of the AADL graphical editor L real c then select the descendent Data component classifier d and finally select the ancestor Data component classifier STOOD AADL Tutorial Ellidiss May 2007 page 41 sa x Stood for the AADL Note the graphical representation of the extend connection does not comply with the recomm
52. ociated to a Data component classifier In AADL they are called data Subprogram features To create Subprograms click on the new subprogram button of the AADL graphical editor then select a Data component classifier STOOD AADL Tutorial Ellidiss May 2007 page 43 ga x Stood for the AADL integer real The new Subprogram is given a default name The rename contextual menu can be used to change it Fgpaber oe i mmber gt Stood for AADL A EW Se Pn Rename Connec d Type innew name om dot Tt algnme Right alignment OK Cancel 4 10 Specify Subprogram Parameters Whereas Ports can carry a single event or data message Subprograms can express more complex dataflows that are defined by a list of directional typed Parameters In Stood this parameters list must be entered in the port or subpg declaration section as shown in the sequence of screenshots below The syntax that is used by Stood to specify a list of Parameters for a Subprogram is the one recommended by HOOD which is very similar to what is defined by the Ada standard The syntax for a single Parameter is list separator is a semicolon lt parameter name gt lt direction gt lt parameter Type page 44 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL a Select the Subprogram in the diagram or in the list The default list of Parameters is shown in the text input area In case of a
53. of the same model in UML and HOOD is also available simply by switching the notation selector page 48 STOOD AADL Tutorial Ellidiss May 2007 S e Stood amp es for the AADL 4 14 Generate the AADL code for the package To generate textual AADL code from a graphical model in Stood the Code tab must be selected instead of the Graphic Design one The new button bar shows two buttons The first button on the left is called add pragma and may be used to customize the code generation Pressing this button opens a dialog box showing the list of the possible options that can be selected Note that some options may have already been automatically inserted by Stood as it is the case here Cade Gj Stood for AADL FULL H ey A Selecta pragma _Sove text_ pragmas generation control a PRAGMA exported type compact Name gt keyboard digit no_graphics type gt digit behavior implementation gt keyboard reverse e PRAGMA exported type component custon 7 name gt screen_digit type gt digit OK Cancel implementation gt screen Select pragma compact in order to generate all the AADL code in only one file default rule is one file per component and then pragma no_ graphics to disable the generation of Stood specific properties that are used to propagate the positions of the graphical items in the diagram The AADL code generation
54. omponent type and mmplementaton cc ccccccccessseseseseessensseeeeeeeeeeeeeeeeeeeeeeeeeseeeeeeeeeegas 39 4 6Define subcomponents of a Data component 40 4 7 Define Data component EEN ee eebe eege 4 4 8Define the public section of the package cccccccccecsssessseeessnesseaeeeeeeeeeeeeeeeeeeeeeesseeeeseseeessaaaeeeeees 42 A 9Define Data SUD PEO OTAMIS occ vsaiscsnssasaaudoesveadasstiendacdadoneedoeinsinsonivaxageaoeesasdaadagndsteansanhdoesSunasadaunabepedemessaasds 43 4 10 Specify Subprogram Parameter 44 BA SA AADEL Properties EE 46 A NZ EU UL AN COMMEN S eseuri EN AEE EEEE RE EEO PEKE EEEE ESEE 47 4 13 Show full AADL diagram of the package 48 4 14 Generate the AADL code for the pnackage 49 4 15 Show generated AADL e E 50 STOOD AADL Tutorial Ellidiss May 2007 page 3 sa x Stood for the AADL Ab NOMS AS Cr COC EN 52 4 17 Saye E EE 53 DR Mec Ae aAA DLE ere 54 SE Catt anew desili Ee 54 5 2importa list of design EECHER sisisi aei a a a ieaiaia iaiia 55 EENEG 56 SE VOLE E 58 3C hange data POrtS E 59 5 6Add en CR Ee 61 5 7Add subcomponents to the process 62 5 8Create and customize ports in subcomponents 64 5 9Connect ports between a component and its subcomponents ccccceeeesesseeesccecceeeeeeeeeeeeeeeeeeeeeees 66 5 10 Connect ports between subcomponents ccc ccceecsessseeeessneaeeeeeeeeeeeeeeeeceeeeeseeseseeeeeessssaaaaeaaaees 67 BWI SPN CI NEE 68 5 12 SPeCily realtime EH eege 70 SE Ee ene T2 5 14 Generate the AADL co
55. oor subpg declaration lt pa gt Flow Note that the Data Port connection becomes visible again in the diagram as soon as its two ends become type compatible again page 60 STOOD AADL Tutorial Ellidiss May 2007 sa e Stood for the AADL We can now do similar changes to port output of component calc process and port input of component SCREEN The data type these two ports must reference 1s screen digit Be SE case execution time BEE port or subpg description output Flow out screen_digit ty numbers screen_digit port or subpg declaration lt pa gt Flow GE GENEE el port or subpg declaration Ge input input Flow in screen_digit ty numbers screen_digit 5 port or subpg declaration lt pa gt Flow 5 6 Add ports to the process The Process currently only shows Data Ports in its interface Data Ports can be used to describe data flows between components We are now going to add Event Ports to specify control flow entry points for the Process design calc_process Requirements Graphic Design Detailed Design Checkers Code amp design calc_process Hood ae HE f calc_process M e e UML GC 3 2 L TE E KEYBOARD lel e ann CaeabaE EI RES l To create a new Event Port use the new port button of the button bar in the AADL diagram editor then click inside the calc process box Default name porto can be changed using the Rename contextual menu as shown below o
56. or File Edit Design Component Feature Tools design calc_system a design calc_system AAi Change into 2 calc_system x 8 Delete ROM at RAM gt A E Open state diagram KEYBOARD A SCREEN Lg calc_process Se I design numbers A new Design is added to the list of the Project AADL calculator This new Design now needs to be selected loaded and locked opened in read write mode as shown below page 54 STOOD AADL Tutorial Ellidiss May 2007 d A Stood for the AADL Design Component New design design calc_process l New design from design calc_process design calc_process i gy design calc_process a design calc_system i Lock design a design calc_system 5 2 Import a list of design requirements It is possible to import the list of software requirements that must be covered by the current design and coding activities The simplest way to import such a list of requirements consists in reading a tabulated ASCII text file that can be easily produced by any requirements management tool Such a file must be formatted as follow to be properly imported by Stood one requirement per line two fields separated by a tab character per requirement the unique requirement ID and a comment As soon as such a file is available first switch Stood lifecycle tab to Requirements design calc_process Requirements Graphic Design Detailed
57. orresponding component type classifier and component implementation names page 18 STOOD AADL Tutorial Ellidiss May 2007 for the AADL fa Stood 3 6 Rename and give a type to subcomponents When a component is selected in the graphical editor the rename contextual menu can be used to perform the following actions Change the name of the selected concrete subcomponent Change the corresponding abstract component type by default it will be assumed that subcomponent and component type name are identical Change the corresponding abstract component implementation name by default it will be assumed that this name 1s others Gi Rename x Name Type Enter Implementation ZE Ok Cancel che ote It is thus possible to give the following names to the seven subcomponents of the System TIT a DATA BIS KEYBOARD j R SCREEN STOOD AADL Tutorial Ellidiss May 2007 page 19 e Stood for the AADL 3 7 Create bus access connections To create bus access connections use the new connection button of the graphical editor T J O a DATA BIS Then click on the accessed bus component before clicking on the accessing component ROM DATA BIS SE EE EE This results in a graphical bus access connection between the Bus and the Memory components DATA BUS 6 EEN Additional connections may now be added inside our System implementation page 20 STOOD AADL Tutorial Ellidis
58. p aad test checks Fr PROJECT Project Description Project Sketch List of Requirements Design Tree Inheritance Tree AADL Diagram Et PACKAGE or COMPONENT instance parameters E DESCRIPTION PROBLEM Statement of the Problem text Sketch ofthe Problem Referenced Documents SOLUTION General Strategy text Sketch of the Solution Identification of Subcomponents AADL Diagram Justification of Design Decisions E PROVIDED INTERFACE EXTENDS Et PUBLIC DATA TYPES type name type description type properties class inheritance type attributes type enumeration type pre declaration ada Format html Configuration RemoveLowLevelTitles N RemoveNONESections Y RemoveApplets Y WrapLines Y Sort components alphabetically e Depth traversal C Breadth traversal C Alphabetic traversal STOOD AADL Tutorial Ellidiss May 2007 page 29 Stood for the AADL First step consists in defining the components that must be included in the report To select all the components use the select all button design calc_system Requirements Graphic Design Detailed Design Checkers Code Documentation El design calc_system A 5 m n Rame Hx 1 lt Q EDan The effect of this action is to display a small printer icon at the left of the component name to mean that it has to be included to the report the small floppy disk icon me
59. processing_unit Type PR_UNIT processing unit Implementation Ada Ok Cancel ee l Our model can now be enriched by two other Thread subcomponents representing local Device interface software STOOD AADL Tutorial Ellidiss May 2007 page 63 ja Stood for the AADL Rename X Rename X keyboard_driver Name screen_driver Type K UNT Type SC UNT Implementation Ada Implementation Ada The graphical representation of the internals of our Process now looks like the diagram below 5 8 Create and customize ports in subcomponents Following a top down modelling process we must now specify the interface of each subcomponent Let us add ports as shown below page 64 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL er dote p Se 4 The details for new port declarations are given below for each subcomponent keyboard driver b ros dota a 1 digits E PORT GROUPS PORTS and SUBPROGRAMS coraw_data port or subpg description port or subpg declaration gm worst case execution time Fen digits port or subpg description port or subpg declaration PORT GROUPS PORTS and SUBPROGRAMS coraw_data port or subpg description port or subpg declaration em worst case execution time ca digits e port or subpg description port or subpg declaration port or subpg declaration raw_data Flow in ke
60. ration These three modelling processes are described in the next three sections The last section explains how to quit Stood page 10 STOOD AADL Tutorial Ellidiss May 2007 eo______ Stood 3 Create an AADL system Specifying a System with Stood consists in effect in building a System Instance Instead of creating abstract component types component implementations and then instantiating them as subcomponents the designer can directly define subcomponents in a hierarchical way and then specify whether they correspond to instances of already defined abstract components or of anonymous abstract components that will have to be automatically created while producing the textual AADL specification 3 1 Create a new design of kind aadl system To create a new System inside the current Project cf 2 5 use the menu Design New design aadl system and then specify its name in the dialog box Gij Stood for AADL AADL_calculator Pie Edit Design Component Feature Tool New design k design Designs New design from generic DN virtual node OCK OG tron Fir Gij AADL system name x Note that a Design name in Stood must be alphanumeric i e only contain characters a to z A to Z 0 to 9 or the underscore character 3 2 Lock the system to enter edit mode When it has just been created the new System design is automatically loaded and it is shown in the AADL graphi
61. s May 2007 e Stood for the AADL DATA BUS 3 8 Create ports To express for instance that the Process can exchange data with the Device components it is necessary to add ports To create a port in a component type use the new port button of the graphical editor Click on the button a drag the mouse on the target component b and then click to create the port c a b c STOOD AADL Tutorial Ellidiss May 2007 page 21 H sa Stood for the AADL We can thus create four ports as shown 1n the figure below DATA BUS Note that these ports have been created with a default name and as In Event Ports by default Next section explains how to modify the name the direction and the kind of the ports 3 9 Rename and customize ports To rename a port first select it and then use the Rename contextual menu DATA BUS DATA BIS Stood for AADL KENBOADD A Type innewname Les Eed KEYBOARD page 22 STOOD AADL Tutorial Ellidiss May 2007 d A Stood for the AADL To change the direction of a port first select it and use the Change into contextual menu KEYBOARD S x Joen Rename Gegen e Right alignment H e i KEYBOARD Change into k In P ef d P a F Out To change the kind of a port first select it and use again the Change into contextual menu KEYBOARD hi LL Rename Connect o JATA gl Right alignment
62. the tool proposes a structured list of comment sections that can however be customized to better fit any other documentation strategy To fill in one of the proposed documentation section first select the appropriate entity and one of the proposed text sections ods ada c cpp aadi test checks EF PACKAGE or COMPONENT digit screen_digit DESCRIPTION PROBLEM e Statement of the Problem text En Sketch of the Problem ea Referenced Documents SOLUTION statement of the Problem text PROVIDED INTERFACE REQUIRED INTERFACE DATAFLOWS IMPLEMENTATION m pragmas STOOD AADL Tutorial Ellidiss May 2007 page 47 d Stood for the AADL Text can be entered inside the text input area and must be saved with the button contextual menu or keyboard shortcut ods ada c cpp aad test checks E PACKAGE or COMPONENT k digit screen_digit Gi DESCRIPTION c PROBLEM KO Statement of the Problem text Sketch of the Problem m Referenced Documents SOLUTION Save text Statement of the Problem text PROVIDED INTERFACE This data component defines a representation for numbers as a list of digits REQUIRED INTERFACE Save text Ctr S 4 13 Show full AADL diagram of the package The complete AADL diagram for our Package is now as shown below Hood UML e AADL mber lt gt from digits Cy to_digits i dot screen_digit Note that the corresponding graphical representation
63. to ng Ok Cancel Note that within a Package only component classifiers are described thus Stood component name generally matches the AADL component type name However in case of several components of the same type but of different implementation the box name will be used to distinguish them as explained in next chapter page 38 STOOD AADL Tutorial Ellidiss May 2007 fa e Stood for the AADL 4 5 Specify component type and implementation Within a Package a unique Stood component is used to represent both AADL component type and implementation If two components have the same type and different implementations two Stood components must be created The three fields of the rename dialog box can then be used to specify the unique Stood component name the AADL type name and the AADL implementation name i Stood for AADL AADL_calculator Jog File Edit Design Component Feature Tools Help design numbers Requirements Graphic Design Detailed Design Checkers Code Documentation Deployment design calc_system C Hood S an eral C deng 4 Ak LGL numbers W e aanl integer keyboard_digit screen dot ods ada c cpp aadi test checks _ PACKAGE or COMPONENT Gi DESCRIPTION E PROBLEM Statement of the Problem text a Sketch of the Problem ma Referenced Documents SOLUTION G INTERFACE IMPLEMENTATION Statement of the Problem text I pragmas
64. tual menu EE GJ Stood for AADL lt lt output 4 Rename all bi Connect Left alignment Right alignment Chang e into V Immediate OK Cancel Note that only the direction and type compatible ports are proposed in the dialog box The new diagram that is obtained after having connected the four ports of Process interface 1s page 66 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL f sc digits each 4 5 10 Connect ports between subcomponents To connect ports between subcomponents of a same component it is possible to use the new connection button in the button bar of the AADL diagram editor and click in sequence on the two ports to be connected Another solution consists in selecting a port in one of the subcomponent interface and calling the Connect contextual menu ei Stood for AADL A L Selectthe feature i screen_driver digits processing_unitkb_digI 4 enges Left alignment V Immediate 3 BEE Chang e into OK Cancel Note that only the direction and type compatible ports are proposed in the dialog box The new diagram that is obtained after having connected all the remaining is as follow STOOD AADL Tutorial Ellidiss May 2007 page 67 A e Stood for the AADL i processing unit e sc_digits each 4 5 11 Specify flows AADL connections represent point to point interaction between two ports of the same type and havi
65. utput p se es cn z ppo Let alignment J Right alignment STOOD AADL Tutorial Ellidiss May 2007 page 61 sa x Stood for the AADL After having done the same for a second Event Port called off the diagram must now be as follow 5 7 Add subcomponents to the process It is now time to provide some details about the internals of our Process The current graphical representation of calc process only shows its interfaces It is its black box view In order to be able to edit its internal details we must enter the component first to show its white box view The Enter contextual menu or a double click must be used for that purpose page 62 STOOD AADL Tutorial Ellidiss May 2007 o_______________ Stood According to the AADL rules a Process component implementation can contain Thread Group Thread or Data subcomponents To create a subcomponent it is possible to use the new AADL component button of the button bar in the AADL diagram editor or the New component contextual menu The newly created component can be renamed using the Rename contextual menu as shown below calc_processl ____ Enter Thread Group Thread Change into Undelete Delete Open state diagram Open state diagram As already explained in section 3 6 the Rename dialog box is also used to specify the AADL component type and component implementation of the subcomponents Rename X Name
66. y from time to time To do so use the menu Design Save design i Stood for AADL AADL_calculator File Edit Design Component Feature Tools New design New design from desig ca ee F ay a og oe PLA tt Unlock design Rename design Change design into Update design from Change design language Compare design Show design location Save design page 80 STOOD AADL Tutorial Ellidiss May 2007 d A Stood for the AADL 6 Conclusion This tutorial does not provide information about all the possible modelling and model processing features of Stood In particular this first version of the document does not give explanations about the following important topics that are nevertheless already supported by Stood 5 2 Create a new Design from a remote AADL textual specification Update an existing Design from a remote AADL textual specification Create an AADL model from legacy Ada or C source files Use the integrated Design verification tools Perform software to hardware binding STOOD AADL Tutorial Ellidiss May 2007 page amp 1 page amp 2 STOOD AADL Tutorial Ellidiss May 2007 e Stood for the AADL STOOD AADL Tutorial Ellidiss May 2007 page 83 e Stood for the AADL g Ellidiss Software TNI Europe Limited www ellidiss com stood ellidiss com TNI Europe Limited Ellidiss Technologies Triad House Technopole Brest Iroise Mountbatten Court 115 ru
67. yboard digit ty numbers keyboard_digit lt pa gt Flow port or subpg declaration digits Flow out integer ty numbers integer lt pa gt Flow port or subpg declaration ty numbers screen_digit raw_data Flow out screen_digit lt pa gt Flow port or subpg declaration digits Flow in integer ty numbers integer lt pa gt Flow STOOD AADL Tutorial Ellidiss May 2007 page 65 sa e Stood for the AADL processing unit L i sc digits b lb digits E gt on r K i off K SSES ALE A PORT GROUPS PORTS and SUBPROGRAMS 211 portor subpg declaration sc dote sc_digits Flow out integer ty numbers integer aport or subpg description lt pa gt Flow port or subpg declaration em worst case execution time 3 2 eakb datts port or subpg declaration _ export or subpg description kb digits Flow in integer ty numbers integer port or subpg i lt pa gt Flow 5 9 Connect ports between a component and its subcomponents Connections can now be established between the interface of outer component and the interface of its inner subcomponents To create such connections it is possible to use the new connection button in the button bar of the AADL diagram editor and click in sequence on the two ports to be connected Another solution consists in selecting a port in the outer component interface and calling the Connect contex

Download Pdf Manuals

image

Related Search

Related Contents

Audiovox ADV10A Cut Sheet  Actiontec 56K User's Manual  ficha técnica  Miło nam, że wybraliście Państwo oferowany przez nas produkt  ONESOURCE TAX PROVISION  CLUB3D Radeon R5 230 2GB Noiseless Edition AMD Radeon R5 230 2GB  Electrolux FSF 650 User's Manual  IR Key Programmer Extended User Manual  

Copyright © All rights reserved.
Failed to retrieve file