10. Ocarina property sets

10.1. Deployment

property set Deployment is

  Allowed_Transport_APIs : type enumeration
    (BSD_Sockets,
     SpaceWire);
  -- Supported transport API

  Transport_API : Deployment::Allowed_Transport_APIs applies to (bus);
  --  Transport API of a bus

  Location : aadlstring applies to (processor, device);
  --  Processor IP address (BSD_Sockets specific)

  Port_Number : aadlinteger applies to (process, device);
  --  IP port number of a process (BSD_Sockets specific)

  Protocol_Type : type enumeration (iiop, diop);
  --  Supported communication protocols
  Protocol : Deployment::Protocol_Type applies to (system);

  Allowed_Execution_Platform : type enumeration
   (Native,                   -- Native platforms (GNU/Linux, Solaris, Windows...)
    Native_Compcert,          -- Native platforms using the Compcert compiler
    bench,                    -- Benchmark platform (native with instrumentation).
    GNAT_Runtime,             -- Use a GNAT Runtime, e.g. from the Ada_Drivers_Library
    LEON_ORK,
    LEON_RTEMS,               -- LEON2 board or tsim-leon (RTEMS)
    LEON_RTEMS_POSIX,         -- LEON2 board or tsim-leon (RTEMS)
    LEON3_SCOC3,              -- LEON3 with RTEMS for SCOC3
    LEON3_XTRATUM,            -- LEON3 with Xtratum
    LEON3_XM3,                -- RTEMS for XTRATUM/LEON3
    LEON_GNAT,                -- LEON2 board or qemu (GNATPRO/HI-E)
    LINUX32,                  -- Linux 32 bits
    LINUX_DLL,                -- Linux Dynamic Library
    LINUX32_XENOMAI_NATIVE,   -- Linux 32 bits with native Xenomai
    LINUX32_XENOMAI_POSIX,    -- Linux 32 bits with Xenomai and POSIX skin
    LINUX64,                  -- Linux 64 bits
    ERC32_ORK,                -- ERC32 board or tsim-erc32 (ORK)
    X86_RTEMS_POSIX,          -- x86 under RTEMS with POSIX layer
    X86_LINUXTASTE,           -- TASTE-specific linux distribution
    MARTE_OS,                 -- MaRTE OS
    WIN32,                    -- WIN32
    VXWORKS,                  -- VXWORKS
    FREERTOS,                 -- FREERTOS
    AIR                       -- AIR Hypervisor, by GMV
    );
  --  Supported platforms

  Execution_Platform : Deployment::Allowed_Execution_Platform
    applies to (all);
  --  Execution platform of a processor

  Ada_Runtime : aadlstring applies to (processor);
  --  If Execution_Platform is set to GNAT_Runtime, this property
  --  points to the name of the GNAT Project file that configures the
  --  Ada_Runtime, e.g. from the Ada Device Drivers project.

  USER_CFLAGS : aadlstring applies to (processor);
  USER_LDFLAGS : aadlstring applies to (processor);
  --  User defined CFLAGS and LDFLAGS

  Supported_Execution_Platform : list of Deployment::Allowed_Execution_Platform
    applies to (device);
  --  List execution platforms supported by a particular driver

  USER_ENV: aadlstring applies to (processor);
  --  Additional configuration parameters passed as environment
  --  variables as part of the build phase. These env. variables are
  --  passed in the generated makefiles.

  Runtime : type enumeration
    (PolyORB_HI_C,
     PolyORB_HI_Ada,
     POK);
  --  List of supported runtime

  Supported_Runtime : Deployment::Runtime applies to (all);
  --  List the runtime compatible with the component

  Priority_Type : type aadlinteger 0 .. 255;

  Priority : Deployment::Priority_Type applies to (data, thread);
  --  Thread and data component priority

  Driver_Name : aadlstring applies to (device);

  Configuration : aadlstring applies to (device, thread);

  Config : aadlstring applies to (device);

  ASN1_Module_Name : aadlstring applies to (all);

  Help : aadlstring applies to (all);

  Version : aadlstring applies to (all);

  Configuration_Type : classifier (data) applies to (all);

end Deployment;

10.2. Ocarina_Config

--  Property set containing the configuration properties of Ocarina.
--  This property set is not intended to be used by the AADL model of
--  an application, but, by the AADL model of its scenario.

property set Ocarina_Config is

  Generator_Type : type enumeration
   (PolyORB_QoS_Ada,
    PolyORB_HI_Ada,
    PolyORB_HI_C,
    PolyORB_HI_RTSJ,
    POK_C,
    Xtratum_Configuration,
    Petri_Nets);

  Generator : Ocarina_Config::Generator_Type applies to (system);
  --  The code generator that will be used for the current application

  Generator_Options_Type : type enumeration
   (gprof,
    ASN1);

  Generator_Options : list of Ocarina_Config::Generator_Options_Type
    applies to (system);
  --  Code generation options.

  AADL_Files : list of aadlstring applies to (system);
  --  List of the AADL source files used by the current application

  Cheddar_Properties  : constant aadlstring => "Cheddar_Properties";
  Data_Model          : constant aadlstring => "Data_Model";
  Deployment          : constant aadlstring => "Deployment";
  POK_Properties      : constant aadlstring => "pok_properties";
  ARINC653_Properties : constant aadlstring => "arinc653";
  ASSERT_Properties   : constant aadlstring => "ASSERT_Properties";
  TASTE_Properties    : constant aadlstring => "taste_properties";
  --  List of the predefined NON STANDARD property sets that can be used
  --  by an AADL application.

  Needed_Property_Sets : list of aadlstring applies to (system);
  --  The actual property sets needed by one particular application.
  --  This avoid to parse systematically all the predefined non
  --  standard property sets. The user can also give the name of a
  --  custom property set (which may be used by many AADL models),
  --  provided that the value of the string matches exactly the base
  --  name (without the .aadl suffix and in a case-sensitive manner)
  --  the user property sey file name and provided that this property
  --  set file is located in the same directory as the Ocarina
  --  non-standard property sets.

  Ocarina_Driver_Library : constant list of aadlstring =>
  ("devices.aadl",
   "buses",
   "base_types",
   "exarm-ni-6071e-analog.aadl",
   "grspw.aadl",
   "rasta-serial.aadl",
   "sockets-rtems-ne2000.aadl",
   "exarm-ni-6071e-digital.aadl",
   "gruart.aadl",
   "rasta-spacewire.aadl",
   "tcp_protocol.aadl",
   "generic-keyboard.aadl",
   "leon-eth.aadl",
   "scoc3-spacewire.aadl",
   "udp-exarm.aadl",
   "generic_bus.aadl",
   "leon-serial.aadl",
   "sd-spw-usb.aadl",
   "generic_native.aadl",
   "native_uart.aadl",
   "serial-raw.aadl",
   "gr_cpci_x4cv.aadl",
   "rasta-1553.aadl",
   "sockets-raw.aadl",
   "grspw_packet.aadl",
   "apbuart.aadl",
   "greth.aadl",
   "stardundee.aadl");

  Root_System_Name : aadlstring applies to (system);
  --  If present, indicates the name of the root of the instance tree

  AADL_Version_Type : type enumeration (AADLv1, AADLv2);

  AADL_Version : Ocarina_Config::AADL_Version_Type applies to (system);
  --  AADL version of the model

  Use_Components_Library : aadlboolean applies to (system);

  Referencial_Files : list of aadlstring applies to (system);
  --  The list of referencial files used to compute the regression test

  Timeout_Property : Time applies to (system);
  --  The timeout used to stop an execution

  Annex_Type : type enumeration
   (annex_all,
    annex_none,
    behavior_specification,
    real_specification,
    emv2);
    --  Designates the list of annexes supported in ocarina. annex_all
    --  and annex_none designate respectively all supported annexes
    --  and none of them for properties that accept this kind of
    --  designation.

  Enable_Annexes : list of Ocarina_Config::Annex_Type applies to (system);
  --  List of annexes to be enabled in the parsed model
end Ocarina_Config;