package one
public
system parent
end parent;
system implementation parent.i
end parent.i;
system child extends parent
end child;
system implementation child.i extends parent.i
end child.i;
end one;
generates the diagram:
Splitting the parent and child into separate packages.
Contents of file twoP.aadl:
package twoP
public
system parent
end parent;
system implementation parent.i
end parent.i;
end twoP;
Contents of file twoC.aadl:
package twoC
public
with twoP;
system child extends twoP::parent
end child;
system implementation child.i extends twoP::parent.i
end child.i;
end twoC;
generates the diagram:
Note that the component implementation arrow between the parent and parent implementation is missing in the second diagram. I would consider this a bug, but it may be the expected behavior.
I'm not sure if I consider that a bug since that is the behavior I originally expected. I believe what you have described however is a more intuitive behavior. I have implemented a fix for the issue.
The model below:
generates the diagram:
Splitting the parent and child into separate packages.
Contents of file twoP.aadl:
Contents of file twoC.aadl:
generates the diagram:
Note that the component implementation arrow between the parent and parent implementation is missing in the second diagram. I would consider this a bug, but it may be the expected behavior.