[aadl-modeling]: Questions regarding subprograms/Input_/Output_Time/Paragraph 9.2.6 (57) and found errors during reading AS5506B
Thomas Driessen
thomas.driessen at ds-lab.org
Thu Jan 19 10:38:58 EST 2017
Hello,
I was reading the standard AS5506B for the last weeks and stumbled upon
some parts that are still not clear to me. Besides, I found some typo
errors and inconsistencies that I listed below, where I'm sometimes not
sure which part of the standard is right for a given fact.
But first my questions:
Regarding subprograms:
I understand a subprogram as a method or a function which is some text
in any given programming language.
According to the standard subprograms may contain other subprogram
subcomponents. As I'm mainly programming in Java I'm not familiar with a
concept where a method can contain another method. So if I have a
subprogram A containing another subprogram B does that mean that I'm
making a method call from within A to B? Or is there another semantic
meeaning for this containment relationship?
Regarding Input_Time/Output_Time:
As I get it I can use those two properties to define when exactly Input
is frozen and Output ist sent [9.2.4 (30)/(31)]. Those properties
actually allow me to define any given point in time, as they only take
one of the lifecycle events of a thread as starting point (dispatch,
start, completion, deadline) and a Offset that can also be negative.
Doesn't that conflict with 9.2 (8), which states that "The inputs and
outputs can be specified to occur at dispatch, any time during
execution, at completion, or at deadline." and thus is restricting
input/output to either be
dispatch with no offsetdeadline with no offsetstart with an offset
between 0 .. (completion - start)completion with an offset between 0 ..
(start - completion)
where we assume that start <= completion?
Regarding 9.2.6 (57):
I don't understand this paragraph.
Can you give me an example for what case this paragraph is needed?
Below you can find a List of typo errors and inconsistencies I found
during my reading.
Kind regards,
Thomas
Typo Errors 1.6 (7): "for which another hybrid semantics diagram with
an identically labeled oblong box" - this sentence is doubled 5.2 (C2):
"calss" should be "calls"? 7.1 (L4): This paragraph talks about
systems, but (L4) about thread groups. I'm not sure if that's intended?
8.3.2 (19): "This allows users to specify that a subset of ports to
provide input." - remove "that"? 8.3.2 (23): "The input of other ports
that can trigger dispatch is not frozen." - this sentence is doubled
8.4 (8): "Each provides subprogram access feature of a thread that
represents an entrypoint to a remotely callable code sequence in the
source text." - remove "that"? 9 (1): this point exists twice! 9.2.5
(38): "sampling, oversampling, and undersampling may occur
nondeterministically due concurrency and preemption" - "... due TO..."?
I'm not sure about this one A.2 Synchronized Component: "In other
words, the thread afects the hyperperiod for mode switching of the
property value is true." - "if" instead of "of"? A.2 Resumption Policy:
"applies to" contains "system" twice A.9 (10): "... who many elements
..." - should be "how"? Page 98: In my copy this page is
empty.Inconsistencies 5.1 (3) talks about data being local and thus not
shareable if defined within a thread or subprogram. 5.1 (15) instead
talks only about data in subprograms being local and thus not shareable.
Which one is right? 8.3.2 (27): The first part mentions "Dispatch" to
be a valid option for "Output Time" but doesn't include it in the
following list. Is "Dispatch" a valid value or not? 5.4 (6) & 8.4 (8):
5.4 (6) talks about calls to subprograms dispatching threads and 8.4 (8)
about calls to subprograms requesting thread dispatch. Are those
semantically equivalent? What if the subprogram is within a periodic
thread? Is the call handled the next time the thread dispatches? 9.2
(8): It states that "The inputs and outputs can be specified to occur
at dispatch, any time during execution, at completion, or at deadline.",
but I'm technically able to dene Input and Output to happen at any time
between Dispatch and Deadline via Output Time and Input Time. Shouldn't
then Output Time/Input Time somehow be restricted in order to this
paragraph? 9.2 (L12) & 9.2 (L15): 9.2 (L12) is unnecessary because of
9.2 (L15). A.1 Allowed Connection Type: can be applied to bus or
device, but the explaining text only talks about its eect on busses?
Is it intended that some properties do not define a default, but in
their textual explanation a default is given? For example A.1 Preemptive
Scheduler: the text states: "By default, if this property is not
specfiied, the processor owns a preemptive scheduler.", which I would
interpret as default value = true. A.2 Dispatch Able: Within the
textual explanation Zero Compute Execution Time is mentioned, which I
couldn't find anywhere. A.2 Subprogram Call Type: "In case of a
semi-synchronous call the user of the result is may be suspended until
the result is available." - "is" or "may"? A.3 Deadline: The default is
per definition "Period" which is only mandatory for threads with a
periodic dispatch. What if a thread is sporadic or aperiodic and no
Period is given? A.4 Latency: Definition states that its type is "Time
Range", explanatory text below states, that its type is "Time. Which one
is right?" A.4 Queue Size: the explanatory text below states that this
property "specifies the size of the queue for [...] a data component
being shared via data access", but the "applies to" section doesn't
contain "data". Which one is right? A.4 Transmission Type: The "applies
to" section only contains "data port", but the explanatory text below
also talks about event ports and event data ports. Which one is right?
A.6 Activate Entrypoint Call Sequence: The "applies to" section only
contains "thread" and "device", but the explanatory text below also
talks about subprograms, event ports and event data ports. Which one is
right?
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the aadl-modeling
mailing list