Activity diagram: How do you model a feedback control loop?

341 views
Skip to first unread message

avi-mak

unread,
Jul 6, 2021, 9:33:42 AM7/6/21
to SysML Forum
Hi,
    re: Activity diagram: feedback control loop 

In a system feedback control loop example, what is the correct SysML for expressing the concept I present in the figure below? (The below is my first attempt at expressing the idea in SysML.) Specifically, how do you express that one of the inputs (Input-B) to 'Do Processing' comes from the previous time increment (T minus 1), relative to Input-A. I assume that further explanation in text here is unnecessary.

Feedback Control from T minus 1.png

Thanks
Avi

Avraham Makeler

unread,
Jul 6, 2021, 1:11:50 PM7/6/21
to sysml...@googlegroups.com

Maybe there is (also) a setting for the action pin Input-B to indicate that its input on the pin is from a previous time frame? 

Thanks

Avi


--

James Towers

unread,
Jul 6, 2021, 1:12:30 PM7/6/21
to SysML Forum
Here’s one way you can do it. The tricky part is what happens the first time it is called and there is no T-1 data?



On 6 Jul 2021, at 04:09, avi-mak <amak...@gmail.com> wrote:

Hi,
    re: Activity diagram: feedback control loop 

In a system feedback control loop example, what is the correct SysML for expressing the concept I present in the figure below? (The below is my first attempt at expressing the idea in SysML.) Specifically, how do you express that one of the inputs (Input-B) to 'Do Processing' comes from the previous time increment (T minus 1), relative to Input-A. I assume that further explanation in text here is unnecessary.
<Feedback Control from T minus 1.png>

Thanks
Avi


--
--
You received this message because you are subscribed to the Google
Groups "SysML Forum" group.
Public website: http://www.SysMLforum.com
To post to this group, send email to sysml...@googlegroups.com
To unsubscribe from this group, send email to
sysmlforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sysmlforum?hl=en_US?hl=en
---
You received this message because you are subscribed to the Google Groups "SysML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sysmlforum+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sysmlforum/29a69175-c8ce-49ce-a4f9-a0d39c9439d3n%40googlegroups.com.

Wolfgang Schlicker

unread,
Jul 6, 2021, 2:37:17 PM7/6/21
to SysML Forum
change input-B to T[n] and output to T[n+1] where output T[n] will be undefined or NULL

Avraham Makeler

unread,
Jul 6, 2021, 8:27:00 PM7/6/21
to sysml...@googlegroups.com
James, Wolfgang - thank you both. 

Naming the output as N+1 seems to be an idea.

>> change input-B to T[n] and output to T[n+1] where output T[n] will be undefined or NULL
Maybe you mean "where output T[0] will be undefined or NULL?

Question to James, Wolfgang: Could you call the above a solution -- "a candidate for a sysml design pattern for the classic system control feedback scenario"? 
(maybe apart from the T=0 issue)

Avi 


Avraham Makeler

unread,
Jul 6, 2021, 8:27:37 PM7/6/21
to sysml...@googlegroups.com
The most sticky problem is that engineers like seeing the conventional feedback line from o/p back towards the processing i/p.

mbse must always be "a better visio than visio", and never less good. Excuse me for putting it that way, and understood that diagrams are just a window into the mbse database. 


Wolfgang Schlicker

unread,
Jul 7, 2021, 9:26:32 AM7/7/21
to SysML Forum
Hi Avi, 
if this syntactical annotation is understandable for the relevant stakeholders it will be a solution. May be you can add a parametric diagram to add more syntactical information to the model, and sorry for the typo, you are right output data is valid for T[n] {n>0}

James Towers

unread,
Jul 7, 2021, 9:26:45 AM7/7/21
to SysML Forum
Well I guess you have to choose between correct executable SysML or ’things Engineers like seeing’?



On 6 Jul 2021, at 20:44, Avraham Makeler <amak...@gmail.com> wrote:

The most sticky problem is that engineers like seeing the conventional feedback line from o/p back towards the processing i/p.

mbse must always be "a better visio than visio", and never less good. Excuse me for putting it that way, and understood that diagrams are just a window into the mbse database. 



--
--
You received this message because you are subscribed to the Google
Groups "SysML Forum" group.
Public website: http://www.SysMLforum.com
To post to this group, send email to sysml...@googlegroups.com
To unsubscribe from this group, send email to
sysmlforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sysmlforum?hl=en_US?hl=en
---
You received this message because you are subscribed to the Google Groups "SysML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sysmlforum+...@googlegroups.com.

James Towers

unread,
Jul 7, 2021, 9:27:37 AM7/7/21
to SysML Forum
A few notes of caution: 

The names of the pins (and parameters nodes) are just what we call them to differentiate them from each other. We should be careful not to imply meaning from them, so changing input-B (the name Avi used) to T[n] (the name Wolfgang suggests) doesn’t change the semantics of the model, it just makes it fit better with Wolfgang's interpretation. 

There is no ‘undefined’ or ’Null’ in the language, in token terms, if Read From Memory was unable to execute as expected (because there was nothing to Read) it would either have to send an ObjectToken with a default value or not send an ObjectToken at all

I’d assumed this was a discrete Activity, i.e. it executes and completes for each Data-In token. If it is a continuous Activity (with streaming parameters) then it could be modified as follows. The Value Specification is required because for the first input Token there is no output to 'feed back' so we need to generate something to take its place.



-- 
-- 
You received this message because you are subscribed to the Google
Groups "SysML Forum" group.
Public website: http://www.SysMLforum.com
To post to this group, send email to sysml...@googlegroups.com
To unsubscribe from this group, send email to
sysmlforum+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sysmlforum?hl=en_US?hl=en
--- 
You received this message because you are subscribed to the Google Groups "SysML Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sysmlforum+...@googlegroups.com.

avi-mak

unread,
Jul 9, 2021, 12:11:38 AM7/9/21
to SysML Forum
>>  I’d assumed this was a discrete Activity

Yes, indeed. My activity is a  discrete activity.
But thanks for sending also the solution for a streaming system.
Regards
Avi
 

avi-mak

unread,
Jul 9, 2021, 12:11:58 AM7/9/21
to SysML Forum

>> The names of the pins (and parameters nodes) are just what we call them to differentiate them from each other. 

So  I assume there is no SYsML logical meann to the the "T" ;label (in your first diagram - for discrete). It is just a label?

>> I’d assumed this was a discrete Activity, 

Yes, my system is a discrete activity.



Reply all
Reply to author
Forward
0 new messages