Each package named XXXX_YYYYY is contained in a file named xx-yy.aadl. This would also help the AADL compilers to retrieve files.
Definition of a component
A component from the Deployment View and the Interface View consists of :
- At least one AADL file
- Other source files references within the AADL specifications (C/Ada source files, ASN.1 types specification, etc.)
When integrating a component, the tool must care about several aspects :
- Overlapping packages: one package (for example ip_buses) can be contained in several components of the library so that the tool must check the consistency of this multiple declaration
- Integration of other files and their location on the filesystem: use either relative or absolute path for referencing source file imported from the component
Open issues / questions to be addressed for implementation
- Repository for the components: which one to choose ?
- How to export a component ? The export tool has to decide the dependencies between the exported TASTE/AADL component and its dependencies in terms of source code and other packages. For example, for a device, this would be the type, the subprograms and its associated source code, etc ...
- Detecting which component must be presented in the tool: as an AADL package can contain several components and an imported TASTE component can contain several packages, we have to decide how to inform the tool what is the main component. This can be done using a MANIFEST file that is embedded with the files.
Example of library
An example of the library of provided in our subversion repository at the following address: https://tecsw.estec.esa.int/svn/taste/trunk/misc/experiments/components-library Each directory represents a component.