Maude .:° ASCENS 2011

1,574 views

Published on

A brief talk about some features of Maude that might be interesting for the ASCENS project on autonomic component ensembles.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,574
On SlideShare
0
From Embeds
0
Number of Embeds
754
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Maude .:° ASCENS 2011

  1. 1. Alberto Lluch ASCENS General Meeting Pisa, March 2-4, 2011 maude <ul>[email_address] </ul>
  2. 2. what is maude? <ul>[email_address] </ul><ul>“ A high-level, declarative l anguage <ul>that supports both equational and rewriting logic computation” <li>maude.cs.uiuc.edu </li></ul></ul>
  3. 3. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  4. 4. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  5. 5. rule-based <ul>[email_address] </ul>mod m(x) is import m1, m2,... sort s1, s2,... ops f, g,... eq f(...) = ... rl l => r endm
  6. 6. rule-based <ul>[email_address] </ul>
  7. 7. rule-based <ul>[email_address] </ul>
  8. 8. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  9. 9. semantic framework <ul>[email_address] </ul>models of concurrent computation: equational programming, lambda calculi, Petri nets, process algebras ( CCS and pi-calculus ), actors, operational semantics of languages (via K, SOS): Java, C, Python, Haskell, agent languages , active networks languages, hardware description languages, logical framework and metatool: linear logic, translations between theorem provers, type systems , open calculus of constructions, tile logic distributed architectures and components: UML, OCL, MOF, Service architectures and middlewares, open distributed processing , models, specification and analysis of communication protocols: active networks, wireless sensor networks , firefire leader election protocol, modeling and analysis of security protocols: cryptographic protocol specification language CAPSL, MSR, security specification formalism, Maude-NPA, real-time, biological , probabilistic systems: real-time maude, pathway logic, PMaude
  10. 10. semantic framework <ul>[email_address] </ul>models of concurrent computation: equational programming, lambda calculi, Petri nets, process algebras ( CCS and pi-calculus ), actors, operational semantics of languages (via K, SOS): Java, C, Python, Haskell, agent languages , active networks languages, hardware description languages, logical framework and metatool: linear logic, translations between theorem provers, type systems , open calculus of constructions, tile logic distributed architectures and components: UML, OCL, MOF, Service architectures and middlewares, open distributed processing , models, specification and analysis of communication protocols: active networks, wireless sensor networks , firefire leader election protocol, modeling and analysis of security protocols: cryptographic protocol specification language CAPSL, MSR, security specification formalism, Maude-NPA, real-time, biological , probabilistic systems: real-time maude, pathway logic, PMaude
  11. 11. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  12. 12. reflection <ul>[email_address] </ul><ul><li>META-LEVEL is a module where </li><ul><li>modules, terms, rules, equations, sorts, etc. are data .
  13. 13. matching, rule application, rewriting, etc. are functions . </li></ul><li>META-LEVEL is a module so... </li><ul><li>it can be treated as data again, and again...
  14. 14. this gives rise to a tower of reflection . </li></ul><li>Metaprogramming applications </li><ul><li>execution layers: ordinary behaviour, reconfiguration, adaptation
  15. 15. transformation of modules
  16. 16. analysis of modules </li></ul></ul>
  17. 17. reflection <ul>[email_address] </ul>mod AC is endm EXECUTE(C) metaRewrite(C); PLAN(C) add(r1,C); del(r2,C); ... ANALYZE(C) crc(C); C |= f; ... mod C is ... endm MEASURE(C,I) read/get();
  18. 18. reflection <ul>[email_address] </ul>
  19. 19. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  20. 20. ? ? ... <ul>[email_address] </ul>
  21. 21. unification <ul>[email_address] </ul>≡ A Useful for... <ul><li>Check confluence of equational specifications (via CPA).
  22. 22. Model checking ∞-state systems via narrowing.
  23. 23. Deductive verification </li></ul><ul><ul><ul><li>every rule preserves I
  24. 24. I is invariant </li></ul></ul></ul><ul><li>Reason about open systems </li><ul><li>e.g. exploiting semantic frameworks for open processes [Bruni@TCS'07] </li></ul></ul>
  25. 25. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  26. 26. tools <ul>[email_address] </ul><ul><li>Available (tool) checkers for confluence, termination, sufficient completeness, coherence, reachability, invariants, temporal logic properties, etc.
  27. 27. Style-Preserving Architectural Reconfigurations (ADR ) [Bruni,Montanari,Lluch] </li><ul><li>Correct-by-construction reconfigurations;
  28. 28. Reconfigurations coordinated by the (hierarchical) structure. </li></ul><li>Hierarchical Graphs for Processes [Bruni,Gadducci,Lluch,Montanari] </li><ul><li>From processes to graphs and back via graph algebras. </li></ul><li>Semantics of long-running transactions (SAGAS) [Bruni,Kersten,Montanari] </li><ul><li>Use of reflection e.g. to install compensations dynamically;
  29. 29. Maude to simulate and analyse transactional specifications. </li></ul><li>Modal logics for graphs [Corradini,Gadducci,Lluch,Vandin] </li><ul><li>Graph rewriting-like term rewrite rules;
  30. 30. Temporal graph logic to reason about spatial and temporal properties. </li></ul></ul>
  31. 31. rule-based interoperable tools unification reflective semantic framework <ul>[email_address] </ul>
  32. 32. interoperability <ul>[email_address] </ul><ul><li>MOMENT Project </li><ul><li>Maude simple GUI (textual editor);
  33. 33. Maude Daemon: Java encapsulation to launch/stop Maude processes. </li></ul><li>MOMENT2 </li><ul><li>MOF/OCL/QVT semantics (executable/verifiable);
  34. 34. MOMENT-MT (model transformations);
  35. 35. MOMENT-AADL (real-time ADL, real-time Maude). </li></ul><li>Graphical EMF-based editors (under development) [Bruni,Lluch] </li><ul><li>Model-driven methodology to create ad-hoc Maude GUIs;
  36. 36. Generic Maude graphical editor;
  37. 37. Object-oriented graphical editor. </li></ul></ul>
  38. 38. SO WHAT? <ul>[email_address] </ul>
  39. 39. maude role <ul>[email_address] </ul><ul><li>None </li><ul><li>“ this thing is completely useless for me” </li></ul><li>A WP2 model “debugger” </li><ul><li>“ check model definitions and results” </li></ul><li>An interpreter/analyser for some SCEL dialect </li><ul><li>“ double-check the semantics to discover ambiguities” </li></ul><li>An inspiration for models </li><ul><li>“ reflective knowledge, stochastic unification, etc.” </li></ul></ul>

×