[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
Mon Jan 30 09:31:09 EST 2017


Hi Peter,

thank you very much for the detailed answer.

Kind regards,
Thomas

------ Originalnachricht ------
Von: "Peter Feiler" <phf at sei.cmu.edu>
An: "AADL Modeling" <aadl-modeling at lists.sei.cmu.edu>
Gesendet: 30.01.2017 15:17:27
Betreff: Re: [aadl-modeling]: Questions regarding 
subprograms/Input_/Output_Time/Paragraph 9.2.6 (57) and found errors 
during reading AS5506B

>Hi Thomas,
>
>
>
>Call nesting is represented by the call sequence mechanism, i.e., a 
>call sequence in one subprogram calling another subprogram.
>
>People also wanted to explicitly model code instances – either for 
>whole libraries or individual subprograms.
>
>So you would typically have an instance of a library (aka subprogram 
>group subcomponent) inside a process, i.e., a library shared between 
>threads within a process address space.
>
>A subprogram subcomponent inside a subprogram would indicate that I 
>have an instance of the inner subprogram always when a get an instance 
>of the outer one. At the moment I do not have a good use example for 
>that scenario.
>
>In general, the focus of AADL is not so much to model source code level 
>structures – there are plenty tools that give you that information.
>
>
>
>As to input output time:
>
>You are correct: the intent is to specify an input or output time in 
>the range of start time and completion time. The offset can be 
>specified relative to start time, thus a positive offset, or relative 
>to completion time, thus a negative offset (completion with an offset 
>between (start - completion..0)
>
>
>
>9.2.6 (57/58) is trying to describe the scenario where a single port 
>queue instance is serviced by multiple threads. Syntactically you would 
>tag the port of an enclosing component, e.g., a thread group or 
>process, as a port with queue and a fan-out policy other than broadcast 
>to all. (57) tries to say that sent data/message end up in the tagged 
>port. (58) is trying to say that the remaining connections from the 
>tagged port to the thread represents the servicing by the thread 
>without it having a separate port with queue. As I read the text I 
>agree it is somewhat awkwardly expressed as we tried to describe it in 
>terms of semantic connection defined, which originally had point to 
>point semantics without selective target fanout.
>
>
>
>Peter
>
>
>
>From:aadl-modeling-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu 
>[mailto:aadl-modeling-bounces+phf=sei.cmu.edu at lists.sei.cmu.edu] On 
>Behalf Of Thomas Driessen
>Sent: Monday, January 30, 2017 8:21 AM
>To: AADL Modeling <aadl-modeling at lists.sei.cmu.edu>
>Subject: Re: [aadl-modeling]: Questions regarding 
>subprograms/Input_/Output_Time/Paragraph 9.2.6 (57) and found errors 
>during reading AS5506B
>
>
>
>Hi,
>
>
>
>I just wanted to ask if there's anything new regarding my questions.
>
>Any advice is highly appreciated :)
>
>
>
>Kind regards,
>
>Thomas
>
>
>
>------ Originalnachricht ------
>
>Von: "Thomas Driessen" <thomas.driessen at ds-lab.org>
>
>An: "AADL Modeling" <aadl-modeling at lists.sei.cmu.edu>
>
>Gesendet: 19.01.2017 16:38:58
>
>Betreff: Questions regarding subprograms/Input_/Output_Time/Paragraph 
>9.2.6 (57) and found errors during reading AS5506B
>
>
>
>>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 speci
>>fied 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 Errors1.6 (7): "for which another hybrid semantics diagram with 
>>an identically labeled oblong box" - this sentence is doubled5.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 doubled8.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 oneA.2 Synchronized Component: "In 
>>other words, the thread a
>>fects the hyperperiod for mode switching of the property value is 
>>true." - "if" instead of "of"?A.2 Resumption Policy: "applies to" 
>>contains "system" twiceA.9 (10): "... who many elements ..." - should 
>>be "how"?Page 98: In my copy this page is empty.Inconsistencies5.1 (3) 
>>talks about data being local and thus not shareable if de
>>fined 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 fi
>>rst 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 speci
>>fied to occur at dispatch, any time during execution, at completion, 
>>or at deadline.", but I'm technically able to de
>>ne 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 e
>>ect on busses?  Is it intended that some properties do not defi
>>ne 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 specfii
>>ed, 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 fi
>>nd 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 defi
>>nition "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: De
>>finition 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 "speci
>>fies 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