Data constraints in Reo

8 views
Skip to first unread message

Jose Proenca

unread,
Feb 11, 2013, 4:16:40 AM2/11/13
to reo-dev
Hi all,

I would just like to know if I am forgetting any implementation of Reo that somehow handles data functions or predicates (filter or transformer channels). It is just because I plan to submit a paper that focuses on an (constraint-based) implementation of data-sensitive connectors.

I know:
 1 - ESOCC's paper of Sung et al., that generates code based on CA that can contain arbitrary Java code (including data constraints).
 2 - Verification using mCRL2 by Natallia, Christian, and Erik - not really an implementation, but it still "runs" a data-sensitive connector while model-checking.

Thank you in advance,
José

Natallia Kokash

unread,
Feb 11, 2013, 5:22:30 AM2/11/13
to reo...@googlegroups.com, Behnaz Changizi
Dear Jose,

there is also a relatively recent paper by Behnaz about building constraint automata with memory for Reo with data using constraint and algebraic equation solvers.
Changizi, B., Kokash, N. and Arbab, F.: "A Constraint-based Method to Compute Semantics of Channel-based Coordination Models", International Conference on Software Engineering Advances (ICSEA), November 2012, Lisbon, Portugal

Regards,
Natallia
--
You received this message because you are subscribed to the Google Groups "reo-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reo-dev+u...@googlegroups.com.
To post to this group, send email to reo...@googlegroups.com.
Visit this group at http://groups.google.com/group/reo-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Dave Clarke

unread,
Feb 11, 2013, 5:41:52 AM2/11/13
to reo...@googlegroups.com, Behnaz Changizi

Hi Natallia, Jose, et al,

What would really be interesting is to know what the limitations of these
approaches are? Must the filters constraints and the transformations
be specified a priori? Does the constraint solver need to know these
and be able to manipulate them, or can they be black boxes?

How are situations where the a filter occurs after a transformer,
meaning that the value passed to the filter cannot be known until
"run-time"? Do such situations cause problems? What if the final
coordination constraints are such that the data should never have
been sent through the transformer in the first place? Is there some
sort of internal backtracking?

Dave
--
Dave....@cs.kuleuven.be
Dept. of Computer Science
Celestijnenlaan 200A
B-3001 Heverlee
BELGIUM
Tel: +32 16 327866






Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

Natallia Kokash

unread,
Feb 11, 2013, 6:26:45 AM2/11/13
to reo...@googlegroups.com, Behnaz Changizi
Dear Dave,

this paper is not about implementation as such, the constraints need to be known at the time we build a constraint automaton - it can be prior the execution (e.g., like we do in the centralized execution engine), or at the time of execution (in distributed implementation).
It is done by traversing a circuit and applying product operator, as usual we need to know only constraints on channels that we compose. This is basically just a proper implementation of the product operator that produces CA with only reachable states for a given data domain using algebraic system solvers. We assume that the input data domain is known in advance and produce a CA with guards that are simplified algebraic constraints. A filter after transformer is not a problem as long as the transformer functions are supported by the algebraic system we use - Behnaz perhaps can give you more details on what kind of expressions/functions are supported, she tried many systems and chose REDUCE http://www.reduce-algebra.com/ at the end.

Dave Clarke

unread,
Feb 11, 2013, 7:29:37 AM2/11/13
to reo...@googlegroups.com, Behnaz Changizi

Thanks Natallia.
We'll contact Behnaz if we need more details.

Best,
Dave

Jose Proenca

unread,
Feb 11, 2013, 7:58:19 AM2/11/13
to reo-dev, Behnaz Changizi
Thank you Natallia and Sasha,

The work of Behnaz seems indeed relevant.
Vereofy, as the mCRL2 work, is more focus on verification, but I should have mentioned it from the beginning. Thanks for the clarification.

Best,
José
Reply all
Reply to author
Forward
0 new messages