Failed to instantiate Ping-Pong example

35 views
Skip to first unread message

Cheng Jian

unread,
Apr 10, 2025, 6:20:07 AMApr 10
to OSATE
I'm a beginner learning AADL and encountered an issue while trying to instantiate the Ping-Pong example. Here are the details:

Steps to Reproduce:
Downloaded the example files (originally with .aadl2 extensions).examples/codegen/ping-pong at master · osate/examples
Manually renamed ojr_pingpong_queued.aadl2 to ojr_pingpong_queued.aadl (other files kept as-is).
Attempted to instantiate ojr_pingpong_queued.aadl in OSATE.

Error Observed:

image.png

1.png
I think the instantiation fails at a specific line: 2.png The same problem also appeared in another project's similar code implementation. 
Any suggested workarounds to successfully instantiate this model? Thank you.  

Lutz Wrage

unread,
Apr 15, 2025, 1:04:30 PMApr 15
to OSATE
You are correct about the connection. However, you only need to instantiate the top level component (root.impl). The result is one instance model that contains all subcomponents down to the threads.

Cheng Jian

unread,
Apr 16, 2025, 12:43:28 AMApr 16
to OSATE
Thanks for your reply! That makes sense. I'll put the system part in a new .aadl file and instantiate it independently. Thanks again for your help!

Lutz Wrage

unread,
Apr 16, 2025, 9:33:00 AMApr 16
to OSATE
You don't need to create a new file. You can instantiate just the root component of the existing file: Open the aadl file in the AADL text editor, right click on root.impl in the outline view, and instantiate via the context menu.
(Alternatively, you can right click on the aadl file, instantiate in the context menu, and un-select all components except root.impl in the instantiation dialog.)

Cheng Jian

unread,
Apr 17, 2025, 3:46:02 AMApr 17
to OSATE
Your advice was very valuable - thank you for sharing your expertise.
Reply all
Reply to author
Forward
0 new messages