package messages
public
  with Base_Types, Data_Model;
  {%- for package in packages %}
    {%- for type in package.types %}
    data {{ type.name }}
      features
        {%- for field in type.fields %}
        {{ field.name }}: provides data access {{ field.type | type_to_aadl_type }};
        {%- endfor %}
    end {{type.name}};
    {%- endfor %}
  {%- endfor %}
  {%- if extra_types %}
    {%- for type_name in extra_types %}
    data {{ type_name }}
    end {{ type_name }};
    {%- endfor %}
  {%- endif %}
end messages;
