[UK OFFICIAL] Questions about the new proxy workers and slaves model

WD
Walters Dominic A
Tue, Jan 5, 2021 5:19 PM

Classification: UK OFFICIAL

Hi,

A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added:

·        Is it possible to reference the proxy in the "slaves" subassembly? For example:

o  Is it possible for a proxy to have a port connection to its slave, without a hack?

§  I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave).

§  It then sets properties of the slave.

§  Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy).

§  As far as I can tell, the way I would do this now (hacky) is to:

·        Externalise the "to_proxy" and "from_proxy" ports.

·        In the application make two connections from the proxy to itself.

o  to_proxy to from_slave.

o  to_slave to from_proxy.

§  If this is possible within the subassembly, how would I do this? What is the syntax?

§  Is there a keyword (proxy, master, etc) to denote the proxy?

o  Is it possible for a slave to use the value of its proxies parameters for its parameters?

§  Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy?

§  If so, what's the syntax for doing this?
Kind Regards,
Dominic Walters

"This e-mail and any attachment(s) is intended for the recipient only.  Its unauthorised use,
disclosure, storage or copying is not permitted.  Communications with Dstl are monitored and/or
recorded for system efficiency and other lawful purposes, including business intelligence, business
metrics and training.  Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy."

"If you are not the intended recipient, please remove it from your system and notify the author of
the email and centralenq@dstl.gov.uk"

Classification: UK OFFICIAL Hi, A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added: · Is it possible to reference the proxy in the "slaves" subassembly? For example: o Is it possible for a proxy to have a port connection to its slave, without a hack? § I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave). § It then sets properties of the slave. § Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy). § As far as I can tell, the way I would do this now (hacky) is to: · Externalise the "to_proxy" and "from_proxy" ports. · In the application make two connections from the proxy to itself. o to_proxy to from_slave. o to_slave to from_proxy. § If this is possible within the subassembly, how would I do this? What is the syntax? § Is there a keyword (proxy, master, etc) to denote the proxy? o Is it possible for a slave to use the value of its proxies parameters for its parameters? § Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy? § If so, what's the syntax for doing this? Kind Regards, Dominic Walters "This e-mail and any attachment(s) is intended for the recipient only. Its unauthorised use, disclosure, storage or copying is not permitted. Communications with Dstl are monitored and/or recorded for system efficiency and other lawful purposes, including business intelligence, business metrics and training. Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy." "If you are not the intended recipient, please remove it from your system and notify the author of the email and centralenq@dstl.gov.uk"
WD
Walters Dominic A
Tue, Jan 5, 2021 5:31 PM

Classification: UK OFFICIAL

Apparently bullet points don't work :D
Hopefully this is more readable.

  • Is it possible to reference the proxy in the "slaves" subassembly? For example:
    • Is it possible for a proxy to have a port connection to its slave, without a hack?
      • I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave).
      • It then sets properties of the slave.
      • Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy).
      • As far as I can tell, the way I would do this now (hacky) is to:
        • Externalise the "to_proxy" and "from_proxy" ports.
        • In the application make two connections from the proxy to itself.
          • to_proxy to from_slave.
          • to_slave to from_proxy.
        • If this is possible within the subassembly, how would I do this? What is the syntax?
        • Is there a keyword (proxy, master, etc) to denote the proxy?
    • Is it possible for a slave to use the value of its proxies parameters for its parameters?
      • Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy?
      • If so, what's the syntax for doing this?

Kind Regards,
Dominic Walters

-----Original Message-----
From: discuss discuss-bounces@lists.opencpi.org On Behalf Of Walters Dominic A via discuss
Sent: 05 January 2021 17:20
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] [UK OFFICIAL] Questions about the new proxy workers and slaves model

Classification: UK OFFICIAL

Hi,

A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added:

·        Is it possible to reference the proxy in the "slaves" subassembly? For example:

o  Is it possible for a proxy to have a port connection to its slave, without a hack?

§  I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave).

§  It then sets properties of the slave.

§  Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy).

§  As far as I can tell, the way I would do this now (hacky) is to:

·        Externalise the "to_proxy" and "from_proxy" ports.

·        In the application make two connections from the proxy to itself.

o  to_proxy to from_slave.

o  to_slave to from_proxy.

§  If this is possible within the subassembly, how would I do this? What is the syntax?

§  Is there a keyword (proxy, master, etc) to denote the proxy?

o  Is it possible for a slave to use the value of its proxies parameters for its parameters?

§  Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy?

§  If so, what's the syntax for doing this?
Kind Regards,
Dominic Walters

"This e-mail and any attachment(s) is intended for the recipient only.  Its unauthorised use,
disclosure, storage or copying is not permitted.  Communications with Dstl are monitored and/or
recorded for system efficiency and other lawful purposes, including business intelligence, business
metrics and training.  Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy."

"If you are not the intended recipient, please remove it from your system and notify the author of
the email and centralenq@dstl.gov.uk"

Classification: UK OFFICIAL Apparently bullet points don't work :D Hopefully this is more readable. * Is it possible to reference the proxy in the "slaves" subassembly? For example: * Is it possible for a proxy to have a port connection to its slave, without a hack? * I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave). * It then sets properties of the slave. * Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy). * As far as I can tell, the way I would do this now (hacky) is to: * Externalise the "to_proxy" and "from_proxy" ports. * In the application make two connections from the proxy to itself. * to_proxy to from_slave. * to_slave to from_proxy. * If this is possible within the subassembly, how would I do this? What is the syntax? * Is there a keyword (proxy, master, etc) to denote the proxy? * Is it possible for a slave to use the value of its proxies parameters for its parameters? * Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy? * If so, what's the syntax for doing this? Kind Regards, Dominic Walters -----Original Message----- From: discuss <discuss-bounces@lists.opencpi.org> On Behalf Of Walters Dominic A via discuss Sent: 05 January 2021 17:20 To: discuss@lists.opencpi.org Subject: [Discuss OpenCPI] [UK OFFICIAL] Questions about the new proxy workers and slaves model Classification: UK OFFICIAL Hi, A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added: · Is it possible to reference the proxy in the "slaves" subassembly? For example: o Is it possible for a proxy to have a port connection to its slave, without a hack? § I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave). § It then sets properties of the slave. § Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy). § As far as I can tell, the way I would do this now (hacky) is to: · Externalise the "to_proxy" and "from_proxy" ports. · In the application make two connections from the proxy to itself. o to_proxy to from_slave. o to_slave to from_proxy. § If this is possible within the subassembly, how would I do this? What is the syntax? § Is there a keyword (proxy, master, etc) to denote the proxy? o Is it possible for a slave to use the value of its proxies parameters for its parameters? § Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy? § If so, what's the syntax for doing this? Kind Regards, Dominic Walters "This e-mail and any attachment(s) is intended for the recipient only. Its unauthorised use, disclosure, storage or copying is not permitted. Communications with Dstl are monitored and/or recorded for system efficiency and other lawful purposes, including business intelligence, business metrics and training. Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy." "If you are not the intended recipient, please remove it from your system and notify the author of the email and centralenq@dstl.gov.uk"
JK
James Kulp
Tue, Jan 5, 2021 8:53 PM

Hi Dominic,

Getting the new slave features done was a big part of the 2.1 work
(interconnected slaves, delegated ports, automatic inclusion of slaves).

Your ideas are nice features for proxies and slaves, especially having
"private" connections that are different from the current "delegated
ports" model.

A workaround could be to have a forwarding/pass-through worker in the
application that connected to the delegated proxy port (and thus the
slave) and then to the non-delegated port  (the real proxy port).

What makes this handshake unimplementable via properties in your case?

A cleaner solution for OpenCPI would simply be to identify proxy ports
as being connected to slaves as opposed to delegated to slaves.  This
may make it into the final 2.1, since it is similar to some existing
code that is there for other purposes.
This would simply be a port attribute of the proxy worker.

Having slave parameter values be based on proxy parameter values is also
sensible, and would probably be based on a prefix for parameter names in
value expressions.

In the case of ocpi_debug, perhaps this flow-down should simply be
automatic?

Jim

On 1/5/21 12:31 PM, Walters Dominic A via discuss wrote:

Classification: UK OFFICIAL

Apparently bullet points don't work :D
Hopefully this is more readable.

  • Is it possible to reference the proxy in the "slaves" subassembly? For example:
    • Is it possible for a proxy to have a port connection to its slave, without a hack?
      • I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave).
      • It then sets properties of the slave.
      • Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy).
      • As far as I can tell, the way I would do this now (hacky) is to:
        • Externalise the "to_proxy" and "from_proxy" ports.
        • In the application make two connections from the proxy to itself.
          • to_proxy to from_slave.
          • to_slave to from_proxy.
        • If this is possible within the subassembly, how would I do this? What is the syntax?
        • Is there a keyword (proxy, master, etc) to denote the proxy?
    • Is it possible for a slave to use the value of its proxies parameters for its parameters?
      • Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy?
      • If so, what's the syntax for doing this?

Kind Regards,
Dominic Walters

-----Original Message-----
From: discuss discuss-bounces@lists.opencpi.org On Behalf Of Walters Dominic A via discuss
Sent: 05 January 2021 17:20
To: discuss@lists.opencpi.org
Subject: [Discuss OpenCPI] [UK OFFICIAL] Questions about the new proxy workers and slaves model

Classification: UK OFFICIAL

Hi,

A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added:

·        Is it possible to reference the proxy in the "slaves" subassembly? For example:

o  Is it possible for a proxy to have a port connection to its slave, without a hack?

§  I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave).

§  It then sets properties of the slave.

§  Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy).

§  As far as I can tell, the way I would do this now (hacky) is to:

·        Externalise the "to_proxy" and "from_proxy" ports.

·        In the application make two connections from the proxy to itself.

o  to_proxy to from_slave.

o  to_slave to from_proxy.

§  If this is possible within the subassembly, how would I do this? What is the syntax?

§  Is there a keyword (proxy, master, etc) to denote the proxy?

o  Is it possible for a slave to use the value of its proxies parameters for its parameters?

§  Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy?

§  If so, what's the syntax for doing this?
Kind Regards,
Dominic Walters

"This e-mail and any attachment(s) is intended for the recipient only.  Its unauthorised use,
disclosure, storage or copying is not permitted.  Communications with Dstl are monitored and/or
recorded for system efficiency and other lawful purposes, including business intelligence, business
metrics and training.  Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy."

"If you are not the intended recipient, please remove it from your system and notify the author of
the email and centralenq@dstl.gov.uk"

Hi Dominic, Getting the new slave features done was a big part of the 2.1 work (interconnected slaves, delegated ports, automatic inclusion of slaves). Your ideas are nice features for proxies and slaves, especially having "private" connections that are different from the current "delegated ports" model. A workaround could be to have a forwarding/pass-through worker in the application that connected to the delegated proxy port (and thus the slave) and then to the non-delegated port  (the real proxy port). What makes this handshake unimplementable via properties in your case? A cleaner solution for OpenCPI would simply be to identify proxy ports as being connected to slaves as opposed to delegated to slaves.  This may make it into the final 2.1, since it is similar to some existing code that is there for other purposes. This would simply be a port attribute of the proxy worker. Having slave parameter values be based on proxy parameter values is also sensible, and would probably be based on a prefix for parameter names in value expressions. In the case of ocpi_debug, perhaps this flow-down should simply be automatic? Jim On 1/5/21 12:31 PM, Walters Dominic A via discuss wrote: > Classification: UK OFFICIAL > > > Apparently bullet points don't work :D > Hopefully this is more readable. > > * Is it possible to reference the proxy in the "slaves" subassembly? For example: > * Is it possible for a proxy to have a port connection to its slave, without a hack? > * I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave). > * It then sets properties of the slave. > * Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy). > * As far as I can tell, the way I would do this now (hacky) is to: > * Externalise the "to_proxy" and "from_proxy" ports. > * In the application make two connections from the proxy to itself. > * to_proxy to from_slave. > * to_slave to from_proxy. > * If this is possible within the subassembly, how would I do this? What is the syntax? > * Is there a keyword (proxy, master, etc) to denote the proxy? > * Is it possible for a slave to use the value of its proxies parameters for its parameters? > * Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy? > * If so, what's the syntax for doing this? > > Kind Regards, > Dominic Walters > > -----Original Message----- > From: discuss <discuss-bounces@lists.opencpi.org> On Behalf Of Walters Dominic A via discuss > Sent: 05 January 2021 17:20 > To: discuss@lists.opencpi.org > Subject: [Discuss OpenCPI] [UK OFFICIAL] Questions about the new proxy workers and slaves model > > Classification: UK OFFICIAL > > > Hi, > > A few questions regarding the v2.1.0 changes to proxies and slaves, now that the subassembly syntax has been added: > > · Is it possible to reference the proxy in the "slaves" subassembly? For example: > > o Is it possible for a proxy to have a port connection to its slave, without a hack? > > § I have a use case where the slave sends a complex message (not implementable as a property) through a port (to_proxy) to its proxy (from_slave). > > § It then sets properties of the slave. > > § Finally, the proxy replies with another complex message (not implementable as a property) (to_slave) back to the slave (from_proxy). > > § As far as I can tell, the way I would do this now (hacky) is to: > > · Externalise the "to_proxy" and "from_proxy" ports. > > · In the application make two connections from the proxy to itself. > > o to_proxy to from_slave. > > o to_slave to from_proxy. > > § If this is possible within the subassembly, how would I do this? What is the syntax? > > § Is there a keyword (proxy, master, etc) to denote the proxy? > > o Is it possible for a slave to use the value of its proxies parameters for its parameters? > > § Can I set slave.ocpi_debug to proxy.ocpi_debug, or any other property of slave to some property of proxy? > > § If so, what's the syntax for doing this? > Kind Regards, > Dominic Walters > > > "This e-mail and any attachment(s) is intended for the recipient only. Its unauthorised use, > disclosure, storage or copying is not permitted. Communications with Dstl are monitored and/or > recorded for system efficiency and other lawful purposes, including business intelligence, business > metrics and training. Any views or opinions expressed in this e-mail do not necessarily reflect Dstl policy." > > "If you are not the intended recipient, please remove it from your system and notify the author of > the email and centralenq@dstl.gov.uk" >