Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite for efficient execution / lpe transformation #927

Open
pjljvandelaar opened this issue Aug 26, 2019 · 0 comments
Open

Rewrite for efficient execution / lpe transformation #927

pjljvandelaar opened this issue Aug 26, 2019 · 0 comments

Comments

@pjljvandelaar
Copy link
Member

As a user, I would like to just write my models without considering performance impact.
The following two models are equivalent, yet their performance differs quite a lot

 ( p[A]() ||| q[B]() ||| r[C]() )
|[ A,B,C ]|
 ( k[A]() ||| l[B]() ||| m[C]() )

versus

 (p[A]() |[A]| k[A]())
|||
  (q[B]() |[B]| l[B]())
|||
  (r[C]() |[C]| m[C]())

Articles such as A graphical composition theorem for networks of LOTOS processes by T. Bolognesi and
Correctness Preserving Transformations for the Early Phases of Software Development by Tommaso Bolognesi, David De Frutos, Rom Langerak, and Diego Latella might provide more examples for rewrite rules.

Note I don't know for certain that fastest execution is also always fastest lpe transformation.
I would prefer that LPE can transform quickly, and the resulting lpe model is as fast as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant