• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Maude .:° ASCENS 2011
 

Maude .:° ASCENS 2011

on

  • 1,449 views

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

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

Statistics

Views

Total Views
1,449
Views on SlideShare
696
Embed Views
753

Actions

Likes
0
Downloads
3
Comments
0

3 Embeds 753

http://www.albertolluch.com 747
http://translate.googleusercontent.com 4
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Maude .:° ASCENS 2011 Maude .:° ASCENS 2011 Presentation Transcript

    • Alberto Lluch ASCENS General Meeting Pisa, March 2-4, 2011 maude
        [email_address]
    • what is maude?
        [email_address]
        “ A high-level, declarative l anguage
          that supports both equational and rewriting logic computation”
        • maude.cs.uiuc.edu
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • rule-based
        [email_address]
      mod m(x) is import m1, m2,... sort s1, s2,... ops f, g,... eq f(...) = ... rl l => r endm
    • rule-based
        [email_address]
    • rule-based
        [email_address]
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • semantic framework
        [email_address]
      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
    • semantic framework
        [email_address]
      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
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • reflection
        [email_address]
      • META-LEVEL is a module where
        • modules, terms, rules, equations, sorts, etc. are data .
        • matching, rule application, rewriting, etc. are functions .
      • META-LEVEL is a module so...
        • it can be treated as data again, and again...
        • this gives rise to a tower of reflection .
      • Metaprogramming applications
        • execution layers: ordinary behaviour, reconfiguration, adaptation
        • transformation of modules
        • analysis of modules
    • reflection
        [email_address]
      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();
    • reflection
        [email_address]
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • ? ? ...
        [email_address]
    • unification
        [email_address]
      ≡ A Useful for...
      • Check confluence of equational specifications (via CPA).
      • Model checking ∞-state systems via narrowing.
      • Deductive verification
          • every rule preserves I
          • I is invariant
      • Reason about open systems
        • e.g. exploiting semantic frameworks for open processes [Bruni@TCS'07]
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • tools
        [email_address]
      • Available (tool) checkers for confluence, termination, sufficient completeness, coherence, reachability, invariants, temporal logic properties, etc.
      • Style-Preserving Architectural Reconfigurations (ADR ) [Bruni,Montanari,Lluch]
        • Correct-by-construction reconfigurations;
        • Reconfigurations coordinated by the (hierarchical) structure.
      • Hierarchical Graphs for Processes [Bruni,Gadducci,Lluch,Montanari]
        • From processes to graphs and back via graph algebras.
      • Semantics of long-running transactions (SAGAS) [Bruni,Kersten,Montanari]
        • Use of reflection e.g. to install compensations dynamically;
        • Maude to simulate and analyse transactional specifications.
      • Modal logics for graphs [Corradini,Gadducci,Lluch,Vandin]
        • Graph rewriting-like term rewrite rules;
        • Temporal graph logic to reason about spatial and temporal properties.
    • rule-based interoperable tools unification reflective semantic framework
        [email_address]
    • interoperability
        [email_address]
      • MOMENT Project
        • Maude simple GUI (textual editor);
        • Maude Daemon: Java encapsulation to launch/stop Maude processes.
      • MOMENT2
        • MOF/OCL/QVT semantics (executable/verifiable);
        • MOMENT-MT (model transformations);
        • MOMENT-AADL (real-time ADL, real-time Maude).
      • Graphical EMF-based editors (under development) [Bruni,Lluch]
        • Model-driven methodology to create ad-hoc Maude GUIs;
        • Generic Maude graphical editor;
        • Object-oriented graphical editor.
    • SO WHAT?
        [email_address]
    • maude role
        [email_address]
      • None
        • “ this thing is completely useless for me”
      • A WP2 model “debugger”
        • “ check model definitions and results”
      • An interpreter/analyser for some SCEL dialect
        • “ double-check the semantics to discover ambiguities”
      • An inspiration for models
        • “ reflective knowledge, stochastic unification, etc.”