Skip to content

In modes clause attached to connection is missing when saving an AADL model #1551

@Etienne13

Description

@Etienne13

Summary

I have a model transformation in which I produce a port connection with an in mode clause by adding a mode value to the inModeOrTransition field:

Connection cnx;
cnx.getInModeOrTransition.add(myMode); // myMode is of type Mode.

latter I save the model using the OsateResourceUtil.saveFormatted method.

Expected and Current Behavior

I expect to have something like this in the aadl module that is produced:

...
connections
cnx: port src->dst in modes(my_mode);

but the "in modes" clause is missing. I tried with an aadl unparser we developped some time ago and the "in modes" clause is correct in this case.

Steps to Reproduce

I guess the easiest way is to

  1. load an aadl model containing an "in modes" clause attached to a connection
  2. create a new resource, with a new URI
  3. call the OsateResourceUtil.saveFormatted on this new resource.
package test_cnx_per_mode

   system root
  end root;

  system implementation root.impl
  subcomponents
    the_proc_modes: process proc1.impl;
  end root.impl;

  process proc1
  end proc1;

  process implementation proc1.impl
  subcomponents
    the_receiver: thread receiver;
    c11: data Integer {Data_Model::Initial_Value=>("11");};
  connections
    cnx2: port c11 -> the_receiver.input_data in modes (m1);
  modes
    m1: initial mode;
    m2: mode;
  end proc1.impl;

  thread receiver
  features
    input_data: in data port Integer;
  end receiver;

  data Integer
  end Integer;

end test_cnx_per_mode;

Environment

  • OSATE Version: 2.3.5
  • Operating System: Linux

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions