ptII icon indicating copy to clipboard operation
ptII copied to clipboard

Appropriate Models of Computation for Server-side execution

Open cxbrooks opened this issue 13 years ago • 2 comments

Note: the issue was created automatically with bugzilla2github tool

Original bug ID: BZ#457 From: Elizabeth Latronico <[email protected]> Reported version: 8.1.devel

Blocker for: BZ#455

cxbrooks avatar Mar 12 '12 05:03 cxbrooks

Investigate and propose models of computation for running Ptolemy as a web service.

  • Investigate Wireless MoC and create a list of good features and missing features regarding server-side execution
  • Create a demo model using the Wireless MoC to illustrate these features
  • Look at MoC that CMU students used for Ptolemy on Android and how they used it. They ran two Ptolemy instances, one on server and one on client, by porting part of Ptolemy to Android
  • Figure out new MoC most appropriate for this scenario (pub/sub)
  • Consider blocking behavior (serial port example) - when should actor fire?

cxbrooks avatar Mar 12 '12 05:03 cxbrooks

From discussion 3-14-2012

How to model unreliable connections?

  • Unreliable connections seem not possible with the wireless director. Things can change in tuple space on the server, but disconnected clients would not be notified
  • Edward: Would want to require ack of changes. Implement server handling tuple space as subclass of channel. Could include probabilistic failure of message transmission. Try again by giving fireAt call to director.
  • Marten: Should this be part of MoC?
  • Edward: Could be – strange to think of tuple space separate from director

Should the new MoC support timestamping?

  • Edward: Does MoC require timestamping? Could build on top of DE, but not necessarily what we want. Key question. Wireless domain doesn’t make any sense if we don’t have timestamping. Marten: DE does not agree with semantics of internet – all possible interleavings are valid.

How to support private networks that can intercommunicate?

  • Marten: Two options: Use polling (expensive) or binding which uses bi-directional streams over synchronous HTTP (BOSH). Could look at their semantics. Will continue discussion next week.

cxbrooks avatar Mar 28 '12 01:03 cxbrooks