-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flow source inconsistency error occurs when extended component's declaration happens first #297
Comments
Thanks. This is indeed a funny bug and quite unexpected since the order of declaration should not matter here. |
nvcyc
added a commit
to nvcyc/ocarina
that referenced
this issue
Jul 16, 2021
As stated in GitHub issue OpenAADL#297, a flow spec inconsistency error is thrown when a component's implementation is declared before its component type (including the type it is extending) is declared. This commit resovles this issue by processing all component type declarations first before all other implemenations are processed in the analyzer's linking stage. GitHub Issue OpenAADL#297
Thanks for the patch, greatly appreciated |
Just to confirm with you, the PL #298 seems to be closed without being merged. |
yoogx
pushed a commit
that referenced
this issue
Jul 19, 2021
As stated in GitHub issue #297, a flow spec inconsistency error is thrown when a component's implementation is declared before its component type (including the type it is extending) is declared. This commit resovles this issue by processing all component type declarations first before all other implemenations are processed in the analyzer's linking stage. GitHub Issue #297
My bad, error in the GUI |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
OCARINA VERSION:
HOST MACHINE and OPERATING SYSTEM:
DESCRIPTION:
When the declaration of a component (a process component in my case), say
p2
, that extends a componentp1
is placed before the declaration ofp1
, the Ocarina's analyzer throws an error stating thatp1
's flow sources in its flow implementation and its flow spec are inconsistent.This error is not thrown if the order is inverse (i.e.,
p1
is declared first, followed byp2
.)Note that this order of declaration issue is true when
p1
andp2
are in the same AADL file or when they are in different files (the issue becomes the order of the AADL files given in the command line arguments.)Generally, the latter condition (i.e., components in separate files) is what we are really concerned with as we don't typically assume (or impractical to assume) any order when listing the AADL files in the command line arguments.
REPEAT BY:
As a simple example, let's consider a system
deployment
with a processp1
and a threadt1
enclosed.Assuming the AADL code below is stored in the file
test_order.aadl
, the aforementioned issue appears when runningocarina -aadlv2 test_order.aadl
which throws the error
The error does not occur when removing the declaration of
p2
or moving it to afterp1.impl
's declaration.The text was updated successfully, but these errors were encountered: