My talk on "State Space C-Reductions for Concurrent Systems in Rewriting Logic" held at the International ETAPS Workshop on Graph Inspection and Traversal Engineering (GRAPHITE 2013).
Full manuscript available here: http://eprints.imtlucca.it/1350/
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...Alberto Lluch Lafuente
We present c-reductions, a state space reduction technique. The rough idea is to exploit some equivalence relation on states (possibly capturing system regularities) that preserves behavioral properties, and explore the induced quotient system. This is done by means of a canonizer function, which maps each state into one (of the) canonical representative(s) of its equivalence class. The approach exploits the expressiveness of rewriting logic and its realization in Maude to enjoy several advantages over similar approaches: flexibility and simplicity in the definition of the reductions (supporting not only traditional symmetry reductions, but also name reuse and name abstraction); reasoning support for checking and proving correctness of the reductions; and automatization of the reduction infrastructure via Maude's meta-programming features. The approach has been validated over a set of representative case studies, exhibiting comparable results with respect to other tools.
Can we efficiently verify concurrent programs under relaxed memory models in ...Alberto Lluch Lafuente
Relaxed memory models offer suitable abstractions of the actual optimizations offered by multi-core architectures and by compilers of concurrent programming languages. Using such abstractions for verification purposes is challenging in part since they introduce yet another source of high non-determinism, thus contributing to the state explosion problem. In the last years several techniques have been proposed to mitigate those problems so to make verification under relaxed memory models feasible. In this talk I present some of those techniques and discuss if and how those techniques can be adopted in Maude or Maude-based verification tools.
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
My talk at the 2nd General Meeting of the CINA project, Bologna, 18-20 Feb 2014.
The increasing diffusion of cloud technologies offers new opportunities for distributed and collaborative computing. Volunteer clouds are a prominent example, where participants join and leave the platform and collaborate by sharing computational resources. The high complexity, dynamism and unpredictability of such scenarios call for decentralized self-* approaches. We present in this paper a framework for the design and evaluation of self-adaptive collaborative task execution strategies in volunteer clouds. As a byproduct, we propose a novel strategy based on the Ant Colony Optimization paradigm, that we validate through simulation-based statistical analysis over Google workload data.
My presentation in the idea4cps.dk workshop held in Aalborg. Its about a semiring-valued temporal logic that me and Ugo Montanari developed some years ago. The logic is essentially a generalisation of CTL interpreted over absorptive semirings, an algebraic structure that is quite suitable to model quantitative aspects such as quality-of-service measures.
Talk at the Informatics Colloquium at LMU München.
Abstract: Aggregation plays a central role in many computational paradigms and their applications. Classical examples are fold/reduce functions in functional programming, reduce/gather operations in parallel programming, and set functions in database programming. Aggregation is essential as well in many of today's IT trends, from Big (Graph) Data analytics to coordination of devices and services in complex distributed systems such as the Internet-of-Things. Aggregate programming models, languages and techniques are indeed a current topic of research in several communities. I will discuss how a soft variant of a modal logic can provide a convenient declarative approach to aggregate programming and I will mention applications to distributed coordination of agents and to distributed graph analytics.
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...Alberto Lluch Lafuente
We present c-reductions, a state space reduction technique. The rough idea is to exploit some equivalence relation on states (possibly capturing system regularities) that preserves behavioral properties, and explore the induced quotient system. This is done by means of a canonizer function, which maps each state into one (of the) canonical representative(s) of its equivalence class. The approach exploits the expressiveness of rewriting logic and its realization in Maude to enjoy several advantages over similar approaches: flexibility and simplicity in the definition of the reductions (supporting not only traditional symmetry reductions, but also name reuse and name abstraction); reasoning support for checking and proving correctness of the reductions; and automatization of the reduction infrastructure via Maude's meta-programming features. The approach has been validated over a set of representative case studies, exhibiting comparable results with respect to other tools.
Can we efficiently verify concurrent programs under relaxed memory models in ...Alberto Lluch Lafuente
Relaxed memory models offer suitable abstractions of the actual optimizations offered by multi-core architectures and by compilers of concurrent programming languages. Using such abstractions for verification purposes is challenging in part since they introduce yet another source of high non-determinism, thus contributing to the state explosion problem. In the last years several techniques have been proposed to mitigate those problems so to make verification under relaxed memory models feasible. In this talk I present some of those techniques and discuss if and how those techniques can be adopted in Maude or Maude-based verification tools.
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
My talk at the 2nd General Meeting of the CINA project, Bologna, 18-20 Feb 2014.
The increasing diffusion of cloud technologies offers new opportunities for distributed and collaborative computing. Volunteer clouds are a prominent example, where participants join and leave the platform and collaborate by sharing computational resources. The high complexity, dynamism and unpredictability of such scenarios call for decentralized self-* approaches. We present in this paper a framework for the design and evaluation of self-adaptive collaborative task execution strategies in volunteer clouds. As a byproduct, we propose a novel strategy based on the Ant Colony Optimization paradigm, that we validate through simulation-based statistical analysis over Google workload data.
My presentation in the idea4cps.dk workshop held in Aalborg. Its about a semiring-valued temporal logic that me and Ugo Montanari developed some years ago. The logic is essentially a generalisation of CTL interpreted over absorptive semirings, an algebraic structure that is quite suitable to model quantitative aspects such as quality-of-service measures.
Talk at the Informatics Colloquium at LMU München.
Abstract: Aggregation plays a central role in many computational paradigms and their applications. Classical examples are fold/reduce functions in functional programming, reduce/gather operations in parallel programming, and set functions in database programming. Aggregation is essential as well in many of today's IT trends, from Big (Graph) Data analytics to coordination of devices and services in complex distributed systems such as the Internet-of-Things. Aggregate programming models, languages and techniques are indeed a current topic of research in several communities. I will discuss how a soft variant of a modal logic can provide a convenient declarative approach to aggregate programming and I will mention applications to distributed coordination of agents and to distributed graph analytics.
The paper examines the problem of systems redesign within the context of passive electrical networks and through analogies provides also the means of addressing issues of re-design of mechanical networks. The problem addressed here are special cases of the more general network redesign problem. Redesigning autonomous passive electric networks involves changing the network natural dynamics by modification of the types of elements, possibly their values, interconnection topology and possibly addition, or elimination of parts of the network. We investigate the modelling of systems, whose structure is not fixed but evolves during the system lifecycle. As such, this is a problem that differs considerably from a standard control problem, since it involves changing the system itself without control and aims to achieve the desirable system properties, as these may be expressed by the natural frequencies by system re-engineering. In fact, this problem involves the selection of alternative values for dynamic elements and non-dynamic elements within a fixed interconnection topology and/or alteration of the network interconnection topology and possible evolution of the cardinality of physical elements (increase of elements, branches). The aim of the paper is to define an appropriate representation framework that allows the deployment of control theoretic tools for the re-engineering of properties of a given network. We use impedance and admittance modelling for passive electrical networks and develop a systems framework that is capable of addressing “life-cycle design issues” of networks where the problems of alteration of existing topology and values of the elements, as well as issues of growth, or death of parts of the network are addressed.
We use the Natural Impedance/ Admittance (NI-A) models and we establish a representation of the different types of transformations on such models. This representation provides the means for an appropriate formulation of natural frequencies assignment using the Determinantal Assignment Problem framework defined on appropriate structured transformations. The developed natural representation of transformations are expressed as additive structured transformations. For the simpler case of RL or RC networks it is shown that the single parameter variation problem (dynamic or non-dynamic) is equivalent to Root Locus problems.
follow IEEE NTUA SB on facebook:
https://www.facebook.com/IeeeNtuaSB
Find out how the integer transform, the "heart" of an H.264 codec, actually works. How does it compare to the Discrete Cosine Transform? What are the encoding and decoding processes?
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
Presentazione di Pierpaolo Basile, durante il suo talk dal titolo "Geometria e Semantica del Linguaggio.
L'incontro si è tenuto il giorno 17 Dicembre 2014 all'interno del progetto SSC (Scientific Storming Café).
L'abstract del talk è "Rappresentare concetti in uno spazio geometrico è una tecnica ampiamente utilizzata nell'informatica per modellare la semantica del linguaggio naturale. Ad esempio i motori di ricerca che interroghiamo ogni giorno utilizzano la geometria per rappresentare parole e documenti. Obiettivo del talk è introdurre i concetti di base dei modelli di semantica distribuzionale e presentare alcuni operatori geometrici per la composizione dei termini per rappresentare concetti più complessi come frasi o interi documenti"
Information flow techniques typically classify information according to suitable security levels and enforce policies that are based on binary relations between individual levels, e.g., stating that information is allowed to flow from one level to another. We argue that some information flow properties of interest naturally require coordination patterns that involve sets of security levels rather than individual levels: some secret information could be safely disclosed to a set of confidential channels of incomparable security levels, with individual leaks considered instead illegal; a group of competing agencies might agree to disclose their secrets, with individual disclosures being undesired, etc. Motivated by this we propose a simple language for expressing information flow policies where the usual admitted flow relation between individual security lev- els is replaced by a relation between sets of security levels, thus allowing to capture coordinated flows of information. The flow of information is expressed in terms of causal dependencies and the satisfaction of a policy is defined with respect to an event structure that is assumed to capture the causal structure of system computations. We suggest applications to secret exchange protocols, program security and security architectures, and discuss the relation to classic notions of information flow control.
The paper examines the problem of systems redesign within the context of passive electrical networks and through analogies provides also the means of addressing issues of re-design of mechanical networks. The problem addressed here are special cases of the more general network redesign problem. Redesigning autonomous passive electric networks involves changing the network natural dynamics by modification of the types of elements, possibly their values, interconnection topology and possibly addition, or elimination of parts of the network. We investigate the modelling of systems, whose structure is not fixed but evolves during the system lifecycle. As such, this is a problem that differs considerably from a standard control problem, since it involves changing the system itself without control and aims to achieve the desirable system properties, as these may be expressed by the natural frequencies by system re-engineering. In fact, this problem involves the selection of alternative values for dynamic elements and non-dynamic elements within a fixed interconnection topology and/or alteration of the network interconnection topology and possible evolution of the cardinality of physical elements (increase of elements, branches). The aim of the paper is to define an appropriate representation framework that allows the deployment of control theoretic tools for the re-engineering of properties of a given network. We use impedance and admittance modelling for passive electrical networks and develop a systems framework that is capable of addressing “life-cycle design issues” of networks where the problems of alteration of existing topology and values of the elements, as well as issues of growth, or death of parts of the network are addressed.
We use the Natural Impedance/ Admittance (NI-A) models and we establish a representation of the different types of transformations on such models. This representation provides the means for an appropriate formulation of natural frequencies assignment using the Determinantal Assignment Problem framework defined on appropriate structured transformations. The developed natural representation of transformations are expressed as additive structured transformations. For the simpler case of RL or RC networks it is shown that the single parameter variation problem (dynamic or non-dynamic) is equivalent to Root Locus problems.
follow IEEE NTUA SB on facebook:
https://www.facebook.com/IeeeNtuaSB
Find out how the integer transform, the "heart" of an H.264 codec, actually works. How does it compare to the Discrete Cosine Transform? What are the encoding and decoding processes?
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
Presentazione di Pierpaolo Basile, durante il suo talk dal titolo "Geometria e Semantica del Linguaggio.
L'incontro si è tenuto il giorno 17 Dicembre 2014 all'interno del progetto SSC (Scientific Storming Café).
L'abstract del talk è "Rappresentare concetti in uno spazio geometrico è una tecnica ampiamente utilizzata nell'informatica per modellare la semantica del linguaggio naturale. Ad esempio i motori di ricerca che interroghiamo ogni giorno utilizzano la geometria per rappresentare parole e documenti. Obiettivo del talk è introdurre i concetti di base dei modelli di semantica distribuzionale e presentare alcuni operatori geometrici per la composizione dei termini per rappresentare concetti più complessi come frasi o interi documenti"
Information flow techniques typically classify information according to suitable security levels and enforce policies that are based on binary relations between individual levels, e.g., stating that information is allowed to flow from one level to another. We argue that some information flow properties of interest naturally require coordination patterns that involve sets of security levels rather than individual levels: some secret information could be safely disclosed to a set of confidential channels of incomparable security levels, with individual leaks considered instead illegal; a group of competing agencies might agree to disclose their secrets, with individual disclosures being undesired, etc. Motivated by this we propose a simple language for expressing information flow policies where the usual admitted flow relation between individual security lev- els is replaced by a relation between sets of security levels, thus allowing to capture coordinated flows of information. The flow of information is expressed in terms of causal dependencies and the satisfaction of a policy is defined with respect to an event structure that is assumed to capture the causal structure of system computations. We suggest applications to secret exchange protocols, program security and security architectures, and discuss the relation to classic notions of information flow control.
Evaluating the performance of model transformation styles with Maude @ Sympos...Alberto Lluch Lafuente
Rule-based programming has been shown to be very successful in many application areas. Two prominent examples are the specification of model transformations in model driven development approaches and the definition of structured operational semantics of formal languages. General rewriting frameworks such as Maude are flexible enough to allow the programmer to adopt and mix various rule styles. The choice between styles can be biased by the programmer's background. For instance, experts in visual formalisms might prefer graph-rewriting styles, while experts in semantics might prefer structurally inductive rules. This paper evaluates the performance of different rule styles on a significant benchmark taken from the literature on model transformation. Depending on the actual transformation being carried out, our results show that different rule styles can offer drastically different performances. We point out the situations from which each rule style benefits to offer a valuable set of hints for choosing one style over the other.
We define an algebraic theory of hierarchical graphs, whose equational part characterises graph isomorphism, i.e. it is formed by a sound and complete set of axioms equating two terms whenever they represent the same hierarchical graph. Our algebra can thus be understood as a high-level language for describing graphs with a nested structure, and is then particularly suited for the visual specication of process calculi with inherently hierarchical features such as sessions, transactions or locations. We illustrate our approach by encoding CaSPiS, a recently proposed session-centered calculus.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
How to Build a Module in Odoo 17 Using the Scaffold MethodCeline George
Odoo provides an option for creating a module by using a single line command. By using this command the user can make a whole structure of a module. It is very easy for a beginner to make a module. There is no need to make each file manually. This slide will show how to create a module using the scaffold method.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Delivering Micro-Credentials in Technical and Vocational Education and TrainingAG2 Design
Explore how micro-credentials are transforming Technical and Vocational Education and Training (TVET) with this comprehensive slide deck. Discover what micro-credentials are, their importance in TVET, the advantages they offer, and the insights from industry experts. Additionally, learn about the top software applications available for creating and managing micro-credentials. This presentation also includes valuable resources and a discussion on the future of these specialised certifications.
For more detailed information on delivering micro-credentials in TVET, visit this https://tvettrainer.com/delivering-micro-credentials-in-tvet/
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
1. State Space C-Reductions
of Concurrent Systems in
Rewriting Logic
-- Alberto Lluch Lafuente, IMT Lucca
-- José Meseguer, UIUC
-- Andrea Vandin, IMT Lucca
2nd ETAPS Graphite Workshop, Rome, March 24, 2013
preliminary version presented at WRLA 2012
conference version presented at ICFEM 2012
2. t
ct i ons a l
ng redu ion-leve
“defini ecificat ”
the sp several pros
has
9. A ∼-canonizer for
– a Kripke structure K
– and an equivalence (bisimulation) relation ∼ ⊆ S × S
is a function c : S → S such that s∼c(s) for all states s.
c
$ c $
1$ 0$ 0$ 1$
10. A ∼-canonizer is strong if s∼s' implies c(s) = c(s')
(i.e. if canonical representatives of ∼-equivalence classes are unique)
2$ 1$ 3$ 2$ 1$ 3$
1$ 3$ 2$ c c
1$ 3$ 2$
c c
c
1$ 2$ 3$ 1$ 2$ 3$
2$ 3$ 1$ 2$ 3$ 1$
c
3$ 1$ 2$ c 3$ 1$ 2$
c
3$ 2$ 1$ 3$ 2$ 1$
otherwise we call them weak.
14. PERFORMANCE?
t
ct i ons a l
ng redu ion-leve
“defini ecificat ”
the sp several pros
has
15. typical space reduction pattern
sizes of the
state-space
no reduction
strong reduction
weak reduction
size of the
system
16. typical time reduction pattern
runtime
no reduction
strong reduction
weak reduction
size of the
system
17. will we have the same in Maude?
Q1. Overhead of meta-level based c-reductions?
Q2. Similar performance gains as model checkers?
Q3. Performance for c-reductions not based
on full permutations (e.g. rotations)?
18. previous work on symmetry reduction with Maude
reduction was much slower!
Full symmetries in Maude [D.Rodriguez@WRLA'08]
19. Q1. meta-level vs c-reductions?
runtime
(seconds)
90
80
meta-level
70
60
50
40
30
20 c-reductions
10
0
1 2 3 4 5 6 7 8
size of the system
(instance parameter)
20. Q2. Maude vs SymmSPIN?
relative time
reduction factor
2
no reduction
symmSPIN
1.5 strong c-reduction
weak c-reduction
1
0.5
0
2 3 4 5
size of the system
-0.5
(instance parameter)
-1
-1.5
21. Q3. space reduction in dining philosophers
states
msg id reuse
explored
600000
msg abstraction
msg id reuse & permutations
msg abstraction + philosopher rotation
500000
400000
300000
200000
100000
size of the system
0
2 3 4 5 6 7 8 9 (instance parameter)
22. WE DO IT IN...
REWRITING LOGIC / MAUDE
t
ct i ons a l
ng redu ion-leve
“defini ecificat ”
the sp several pros
has
23. What is RL?
A rewrite theory M is a tuple (Σ , E ∪ A , R , ϕ)
Σ = signature (e.g. syntax);
E = equations (e.g. functions); System states
A = axioms (e.g. ACI);
R = rules (e.g. non deterministic behaviour);
System dynamics
ϕ = frozennes map (e.g. rewrite strategy).
24. What is RL?
A rewrite theory M is a tuple (Σ , E ∪ A , R , ϕ)
Σ = signature (e.g. syntax);
E = equations (e.g. functions); Not all equivalence relations ∼
Not all equivalence relations ∼
are tractable as axioms
A = axioms (e.g. ACI); are tractable as axioms
R = rules (e.g. non deterministic behaviour);
ϕ = frozennes map (e.g. rewrite strategy).
Some assumptions:
Topmost rules for a designated [State] kind.
25. --- The main module defining the signature and one initial state
fmod BANK is
...
sorts Object Message Configuration State .
subsort Message Object < Configuration .
op <_|_> : Nat Nat -> Object [ctor] . --- account id and balance
op credit : Nat -> Message [ctor] . --- id of the target account
op __ : Configuration Configuration -> Configuration [ctor assoc comm] .
op none : -> Configuration [ctor] .
op {_} : Configuration -> State [ctor frozen] .
--- A simple initial state $ $
op init : -> Configuration .
0$ 0$
eq init = < 0 | 0 > < 1 | 0 > credit(0) credit(1) .
endfm
26. --- The behavioural rules of the example
mod BANK-RULES is
$
inc BANK .
vars i x : Nat .
x$ x+1$
vars c1 : Configuration .
--- A simple rule for crediting an account
rl [credit] :
{ < i | x > credit(i) c1 }
=> { < i | s(x) > c1 } .
endm
29. c-extension
The c-extension of a rewrite theory
M = ( , E ∪ A , R, ϕ)
is
M+c= ( ⊎ c
, E ∪ Gc ∪ A , R, ϕc)
i.e. a correct extension of R with the definition of c.
30. c-extension (example of canonizer)
--- The c-extension of BANK that defines the c-canonizer for object permutations
mod BANK-C is
...
op c : State -> [State] . apply transposition...
vars i j x y : Nat .
vars c1 : Configuration .
ceq c( { < i | x > < j | y > c1 } )
= c( { [[ i <-> j ]]( < i | x > < j | y > c1 ) } )
if [[ i <-> j ]]( < i | x > < j | y > c1 )
<# < i | x > < j | y > c1 .
If it provides
eq c({c1}) = {c1} [ owise ] .
“lexicographically”
smaller states
endm
31. Identification of symmetric states
Maude> red c( {credit(0) < 0 | 0 > < 1 | 1 >}) .
result State: {credit(1) < 0 | 1 > < 1 | 0 >}
$
0$ 1$
c
$
1$ 0$
33. The c-reduction of a rewrite theory
M =( ,E∪A,R,ϕ)
is
M/c = ( ⊎ c
, E ∪ Gc ∪ A , Rc , ϕc)
cc
where Rc is made of rules K(M/c) = K (M)
K(M/c) = K (M)
l => c(r) if cond
for each rule of R
l => r if cond
37. exploiting the c-reduced state space
Another example: 4 accounts, 4 transfers for each
Maude> search in BANK/C : {init(4,4)} =>* s:State .
search in BANK/C : {init(4, 4)} =>* s:State .
...
states: 70 rewrites: 14333 in 26ms cpu (26ms real) (536615 rewrites/second)
Unreduced state space has 625 states
Model checking example “eventually there will be no more transfers to
process, forever”
Maude> red modelCheck({init(4,4)}, <>[]~ some-message) .
reduce in MUTEX-CHECK : modelCheck({init(4, 4)}, <> []~ some-message) .
rewrites: 14485 in 17ms cpu (19ms real) (841906 rewrites/second)
result Bool: true
38. CHECKING CORRECTNESS
OF REDUCTIONS
t
ct i ons a l
ng redu ion-leve
“defini ecificat ”
the sp several pros
has
39. Does c provide a correct c-reduction?
Th 1. “K(M/c) is bisimilar to K(M)” (desiderata)
Lemma 0. “Relation ∼ is an equivalence relation”
(i) Check that the action of the group is correct.
Lemma 1. “Relation ∼ is a bisimulation”
Proof plan for
(ii) Check that ∼ strongly preserves AP;
group-theoretic
(iii) Check that ∼ and R “commute”. reductions
Lemma 2. “Function c is a ∼-canonizer”
(iv) Check that c is a ∼-canonizer.
40. group theoretic equivalence relations
The action ⟦ ⟧ of a group G on the set of states S
defines an equivalence relation:
s∼s' iff ⟦ f ⟧(s) = s' for some f ∈ G.
43. (ii) Checking that ∼ strongly preserves AP
IDEA: Define a rewrite theory M/G to “move” inside orbits:
M/G = (Σ ⊎ ΣG, E ∪ EG ∪ A , RM/G , ϕ)
where RM/G = { s => [[g]](s) , g in H}
Theorem: ∼ strongly preserves AP if AP is stable in R∼.
44. Can we check such stability automatically?
Yes, with InvA (under some conditions)
fmod BANK-AP is
eq [two-dollars-eq] : two-dollars({ < i | s(s(x)) > c1 }) = true .
endfm
fmod BANK-PERMUTATION-RULES is
rl [transposition] : { < i | x > < j | y > c1 }
=> { [[ i <-> j ]] ( < i | x > < j | y > c1) } .
endm
Maude> (analyze-stable two-dollars(s:State) in BANK-AP BANK-PERMUTATION-RULES .)
rewrites: 15571 in 16ms cpu (19ms real) (918643 rewrites/second)
Checking BANK-PERMUTATION-RULES ||- two-dollars => O two-dollars ...
Proof obligations generated: 2
For non discharged proof obligations
Proof obligations discharged: 2 For non discharged proof obligations
Success!
one can use the Maude ITP tool
one can use the Maude ITP tool
47. (iii) Checking that ∼ and R commute
M For all M/G-transitions u → u' and
u v
M/G for all M-transitions from u to v.
M/G
*
M
u' v'
M
θ(l) θ(r)
For all M/G-rules l' => r' and
for all M-rules from l => r.
M/G M/G Similar functionalities (e.g. critical pair generation)
Similar functionalities (e.g. critical pair generation)
are already available in some Maude tools
M * are already available in some Maude tools
θ(r') v' (e.g. in the Coherence Checker).
(e.g. in the Coherence Checker).
48. (iii) Checking that ∼ and R commute
How do we check joinability of critical pairs (R rules vs R∼)?
M For each M/G-rule l'=>r', M-rules l=>r do
θ(l) θ(r) Compute the MGUs θ for l'=l
For each θ do
M/G Compute transitions θ(r')→θ(vi)
Check if at least one θ(vi)
M
v1 is reachable from θ(r')
NOTE 1: Can be done using Maude's
...
unify and search commands.
θ(r') vn M/G
NOTE 2: We are currently implementing a
M tool for this.
50. t
ct i ons a l
ng redu ion-leve
“defini ecificat ”
the sp several pros
has
51. preliminary version presented at WRLA 2012
conference version presented at ICFEM 2012
yet more work is to be done...
Better integration in Maude
Conciliate with other state space reduction techniques;
Tool support and its integration in MFE.
Beyond group theoretic symmetries
Abstractions that yield bisimulations?
Axiomatisations of bisimulations in process algebras?
Beyond bisimulation
Weak bisimulation? Trace equivalence (for LTL)?
52. thanks!
alberto.lluch@imtlucca.it
http://www.albertolluch.com
http://www.linkedin.com/in/albertolluch
http://www.imtlucca.it/alberto.lluch+lafuente
State Space C-Reductions (full manuscript)
http://eprints.imtlucca.it/1350/