Implementation of a Port-graph Model for Finance
MM. Fern´andez and I. Mackie (Eds.): TERMGRAPH 2018.EPTCS 288, 2019, pp. 14–25, doi:10.4204/EPTCS.288.2 c (cid:13)
N. EneThis work is licensed under theCreative Commons Attribution License.
Implementation of a Port-graph Model for Finance
Nneka Ene
King’s College LondonDept. of Informatics [email protected]
In this paper we examine the process involved in the design and implementation of a port-graphmodel to be used for the analysis of an agent-based rational negligence model. Rational negligencedescribes the phenomenon that occurred during the financial crisis of 2008 whereby investors choseto trade asset-backed securities without performing independent evaluations of the underlying assets.This has contributed to motivating the search for more effective and transparent tools in the modellingof the capital markets.This paper shall contain the details of a proposal for the use of a visual declarative language,based on strategic port-graph rewriting, as a visual modelling tool to analyse an asset-backed securi-tisation market.
In this paper we examine the process involved in the design and implementation of a port-graph modelto be used for the analysis of an agent-based rational negligence model. Rational negligence describesthe phenomenon that occurred during the financial crisis of 2008 whereby investors chose to trade asset-backed securities without performing independent evaluations of the underlying assets. This proposal ismotivated by the interest an analyst or policy-maker might have in analysing whether or not the purchaseof a particular class of asset-backed security ought, going forward, to be subjected to a full due-diligence.By replacing more traditional Dynamic Stochastic General Equilibrium (DSGE) models [6] with het-erogenous, proactive, agent-based models able to produce more realistic representations, a more efficientsystem is produced. Such a system is able to support rapid prototyping, run system simulations, and,thanks to its formal semantics, also reason about system properties. Turning to a declarative port-graphtransformation system facilitates the analysis of processes of interest. This is because it is able to modelthe dynamic behaviour of complex systems given that its declarative nature and visual aspects producesa shorter distance between mental picture and implementation. Such a tool is not only able to convert ablack box model into a white box but also provide an extensively flexible platform as shall be seen later.There are non-visual elements, such as an inbuilt strategy language, but details of the states produced bythe resulting strategy programs are highlighted in a visual trace/derivation tree.In addition, over extant approaches, the rewrite rules that drive graph transformation systems are anintuitive and natural way of expressing dynamic, structural changes which are generally more difficultto model using traditional simulation approaches where the structure of the model is usually fixed [5].Over many of the declarative languages used within agent-based simulation tools, this approach, given itsvisual declarative nature, provides more conceptualization support. The use of the port-graph highlightsthe heterogeneous agent-based nature of the model. Given support for attributes at component-level morerealistic simulations can be produced. As a graph transformation system underlying, port-graphs are inaddition particularly useful in the development of more concise graph models and in the production.Ene 15of more concise model results given support of both topology and data at the same time. The port-graph makes comprehensive modeling much easier to manage and provides extensive conceptualizationsupport.
Contributions.
We outline the typical specification of a graph program that can be used to representthe workings of a small Rational Negligence agent-based system. We include broad implementationdetails highlighting design choices and alternatives that could otherwise have guided our approach. Wealso carry out a thorough validation of the model with respect to its equational specification producinga base case that provides an effective platform for incrementally increasing the complexity and scopeof the model. In a previous work; [2], we have defined a hierarchical port-graph extension useful inproducing a more integrated model.
Overview.
This paper is organised as follows: We briefly examine the general structure of a simplePort-graph Transformation System and equational semantics of the chosen Rational Negligence modelin Section 2. Details of the actual implementation can be found in Section 3 and Section 4 examinesthe results of key tests and checks on the system. We finally conclude and briefly outline future plans inSection 5.
A port graph is a graph where nodes have explicit connection points, called ports, and edges are attachedto ports. Nodes, ports and edges are labelled by a set of attributes describing properties such as colour,shape, etc. Port graphs are transformed by applying port graph rewrite rules. We refer to [4] for a formaldefinition of labelled port graphs, where labels are records, i.e., lists of pairs attribute-value. The valuescan be concrete (numbers, Booleans, etc.) or abstract (expressions in a term algebra, which may containvariables). More precisely:
Definition 1 (Signature)
A port graph signature ∇ consists of the following pairwise disjoint sets: ∇ A ,a set of attributes; X A , a set of attribute variables; ∇ V , a set of values; X V , a set of value variables. Definition 2 (Attributed Port Graphs)
Let N , P , E be pairwise disjoint sets. A port graph over a signature ∇ is a tuple G = ( V , P , E , D ) F where V ⊆ N V is a finite set of nodes (n , n , . . . range overnodes); P ⊆ P P is a finite set of ports (p , p , . . . range over ports); E ⊆ E E is a finite set of edgesbetween ports (e , e , . . . range over edges; edges are undirected and two ports may be connected bymore than one edge); D is a set of records over ∇ , and F is a set of functions Connect : E → P × P,Attach : P → V and L : V ∪ P ∪ E → D such that • for each edge e ∈ E, Connect ( e ) = ( p , p ) the two ports connected by e • for each port p ∈ P, Attach ( p ) = n, the node to which p belongs • L : V ∪ P ∪ E → D is the labelling function that returns the record associated to a componentEach n ∈ V maintains an attribute called Interface whose value is the list of names of the ports attachedto n, that is, L ( n ) . Interface = { L ( p i ) . Name | Attach ( p i ) = n } , L ( n ) . Interface = [ L ( p i ) . Name | Attach ( p i ) = n ] , satisfying the following constraint: L ( n ) . Name = L ( n ) . Name ⇒ L ( n ) . Interface = L ( n ) . Interface . Definition 3 (Port-graph Rewrite Rule)
A port graph rewrite rule L ⇒ C R is a port graph consistingof two subgraphs L and R together with a node (called arrow node) that captures the correspondencebetween the ports of L and the ports of R, and includes a condition C that will be checked at matchingtime. More precisely, each of the ports in the arrow node has an attribute Type, which can have threedifferent values: bridge, wire and blackhole, values that indicate how a rewriting step using this ruleshould affect the edges that connect the redex to the rest of the graph and that satisfy the followingconditions:1. A port of type bridge must have edges connecting it to L and to R (one edge to L and one or moreto R).2. A port of type blackhole must have edges connecting it only to L (at least one edge).3. A port of type wire must have exactly two edges connecting to L and no edge connecting to R.
Let X and Y be two port graphs over the same signature ∇ . A port graph morphism g : X → Y mapsnodes, ports and edges of X to those of Y such that the attachment of ports and the edge connectionsare preserved, and all attributes are preserved except for variables in X , which must be instantiated in Y (attribute instantiation can take place within the algorithm tab associated with the rule). Intuitively, themorphism identifies a subgraph of Y that is equal to X except at positions where X has variables (at thosepositions Y could have any value). Definition 4 (Port Graph Morphism)
More formally given two port graphs X = ( V X , P X , E X , D X ) F X and Y = ( V Y , P Y , E Y , D Y ) F Y over the same signature ∇ , a morphism f from X to Y, denoted f : X → Y ,and with a definition domain Dom ( f ) , is a family injective functions h f V : V X → V Y , f p : P X → P Y , f E : E X → E Y , f D : D X → D Y i such that:1. f V , f P , f E are injective i.e. distinct components are not identified2. ∀ e ∈ E X : if Connect X ( e ) = ( p , p ) then ( f P ( p ) , f P ( p )) = Connect Y ( f E ( e )) ∀ n ∈ V X : if Attach X ( p ) = n for some p then f V ( n ) = Attach Y ( f P ( p )) ∀ n ∈ Dom ( f ) , f D ( L X ( n )) = L Y ( f V (( n )) ∀ p ∈ Dom ( f ) , f D ( L X ( p )) = L Y ( f P (( p )) ∀ e ∈ Dom ( f ) , f D ( L X ( e )) = L Y ( f E (( e )) Note that f D can also instantiate variables We denote by g ( X ) the subgraph of Y consisting of the set of nodes, ports and edges that are imagesof nodes, ports and edges in X .Let G be a port graph. A rewrite step G ⇒ H via the port graph rewrite rule L ⇒ C R is obtained byreplacing in G a subgraph g ( L ) by g ( R ) , where g is a morphism from L to G satisfying C . More precisely: Definition 5 (Match) [4] Let L ⇒ R be a port graph rewrite rule and G a port graph. We say a matchg ( L ) of the left-hand side (i.e., a redex) is found if: there is a port graph morphism g from L to G (henceg ( L ) is a subgraph of G), C holds, and for each port in L that is not connected to the arrow node, itscorresponding port in g ( L ) must not be an extremity in the set of edges of G − g ( L ) . This last pointensures that ports in L that are not connected to the arrow node are mapped to ports in g ( L ) that have noedges connecting them with ports outside the redex, thus ensuring that there will be no dangling edgeswhen g ( L ) is replaced by g ( R ) . .Ene 17For a given graph, several outcomes on application of a rule may be possible (due to the intrinsicnon-determinism of rewriting). Strategies in rewriting systems are a means of controlling the creation ofrewriting steps and improving rewriting opportunities. A sequence of rewriting steps is called a deriva-tion . A derivation tree is a collection of derivations with a common root. Intuitively, the derivation tree isa representation of the possible evolutions of the system starting from a given initial state (each derivationprovides a trace, which can be used to analyse and reason about the behaviour of system). In P ORGY [4],the strategy language allows us to control the way derivations are generated. The strategy expression setPos(crtGraph) sets the position graph as the full current graph. If T is a rule, then the strategy one ( T ) randomly selects one possible occurence of a match of rule T in the current graph G , whichshould superpose the position subgraph P but not superpose the banned subgraph Q . This strategy fails ifthe rule cannot be applied. Id and Fail denote success and failure, respectively. The strategy expression match ( T ) is used to check if the rule T can be applied (i.e., if there is a match for the left hand side ofthe rule in the current graph) but does not apply the rule. ( S ) orelse ( S ′ ) tries strategy S and if it fails thentries to apply S ′ . If both strategies fail then the whole statement fails. ppick ( T , . . . , T n , Π ) selects oneof the transformations T , . . . T n according to the given probability distribution Π . while ( S )[( n )] do ( S ′ ) executes strategy S ′ (not exceeding n iterations if the optional parameter n is specified) while S succeeds. repeat ( S )[ max n ] repeatedly executes a strategy S , not exceeding n times. It can never fail (when S fails,it returns Id ). As defined in [7] “Securitisation is the process of converting cash flows arising from underlying assetsor debts/receivables (typically illiquid such as corporate loans, mortgages, car loans and credit cardsreceivables) due to the originator into a smoothed liquid marketable repayment stream” and this ensuresthat the originator can raise asset-backed finance through loans or the issuance of debt securities alsoknown as assets. An originator is any financial intermediary with a portfolio of assets on its balancesheet. In a securitisation, assets are selected, pooled and transferred to a tax neutral, liquidation-efficient(i.e bankruptcy avoiding), Special Purpose Vehicle (SPV), who funds them by issuing securities.In the core rational negligence model [1], the profit U w expected by an agent (e.g., a bank) w fromtrading an asset depends on whether or not w follows the negligence rule , i.e., the rule of not performingindependent risk assessment. Let z be a binary variable indicating whether or not the agent is followingthe negligence rule, then U w ( z ) can be characterised by the following equations, where p is the proba-bility of asset toxicity, Z is the average of all z ’s in the domain, c is the cost of purchasing an asset (notethat the payoff from successfully reselling the asset is normalised to unity), x w is the cost of performinga complete risk analysis, k is the number of trading partners of the seller bank and N i is the set of agents. • Expected profit for w when following the negligence rule, i.e., when z ( w ) =
1, if w buys an assetand then tries to sell it to w ′ : U w ( ) = def − p ( − z ( w ′ )) c + [ − p ( − z ( w ′ ))]( − c ) ≈ − p ( − Z ) − c This is because if the asset is toxic then w will loose c if w ′ checks, and will have a profit of 1 − c if w ′ does not check. Of course w does not know a priori whether w ′ will or not follow the rule, butit can estimate z ( w ′ ) as the average of all the values of z in the system, Z . Note that when p = − c as expected • Similarly, the expected profit for w when the rule is not followed, i.e., z ( w ) =
0, is defined by: U w ( ) = ( − p )( − c ) − x w AllTiersFlattenedandCondensed
This is because if the asset is toxic, then w will not buy it (losing only x w ), but if it is not toxic thenit will resell it with a profit of 1 − c − x w .So the best response of agent w to a buying request is determined by analysing the projected profitabilityof assuming a negligent approach over a diligent approach: U ( ) − U ( ) = p ( Z − c ) + x w = p k ∑ j ∈ N i z j − c ! + x w Following [1], we implement a model that mimicks the transactions that follow the trading of one assetsince this is sufficient to perform validations against equivalent DSGE analyses. The goal of the model isto study the evolution of the system till fixed point or stable state is reached i.e., in this case, a state suchthat all potential buyers in the universe of discourse no longer alternate between diligent and non-diligentbehaviour in their handling of the purchase of a particular asset. Details of the set of port-graph rules thatencapsulate this computation can be found in Tables 1 and 2. The beginanalysis rule in Table 1 performsthe profitability check. We represent the full ABS (Asset-backed Securitization) universe hierarchically as several initial graphs.Port graph rewriting rules and strategies are used to control the step-wise evolution of the graphs and tocreate a derivation tree that can be used for plotting and analysing parameter values. The asset tradingmodel sits at the top level of the model hierarchy and it is non-deterministic in nature. Below thissystem, also able to handle asset pricing and valuation issues, lie several deterministic subsystems thatmodel origination, structuring of the deal, SPV transfers and profitability of the sale.We chose to model asset-transfer transactions using a combination of global and local data, and aglobal state, the Z node (an indicator of market behaviour obtained as the average value of each individualbank’s approach, represented by the local lower-case attribute z and not to be confused with the globalvalue Z ). A Change indicator node is used within a rule to detect whether the market has reached astable state. Tables 3 and 4 contain a description of the nodes used. Alternative designs are possible,highlighting the flexibility of the approach: For example, local copies of the z-attribute could be usedto propagate negligent/diligent behaviour using propagation algorithms borrowed from social networkmodels whereby information is transmitted, or in this case received, based on the actions of neighbours.Ene 19 while(match(change))do( one(change); Strategy 1:
FixedPointSearch setPos(crtGraph); repeat(one(requesttobuy); one(beginanalysis); (one(deviationresult);one(deviationdecision)) orelse (one(followresult);one(followdecision)) setPos(crtGraph); one(updatez))(k) Strategy 2:
AllTrade or neighbours-of-neighbours or other clusters [9]. The details of this alternative model shall be futurework.Tables 3 and 4 describe the nodes in the system and their ports respectively.After the creation of a comprehensive set of rules, reduction strategies were created that defined thesub-graphs to be selected for evaluation and which rules should be applied to the starting state of themodel and it is from this point that the derivation tree begins to undergo construction as the executionstrategy calls on rules that create step-wise transformations. Specifically, the asset transfer processes aregoverned by the strategies
AllTrade and
FixedPointSearch (see Strategies 1 and 2 below), using 8 rewriterules summarised in Tables 1 and 2.Also highlighting flexibility is the fact that a variant of strategy
AllTrade can simply replace the orelse operator by a ppick operator, and then begin to model probabilistic choice of logit type betweenfollowing or deviating from the negligence rule. The probability distribution used in this case implementsthe stochastic “trembles” described in [3] and can be written within our strategy environment as follows: ppick(followResult, deviationResult, udfLogitModel) where udfLogitModel is a function that reads the profitability of being negligent or diligent (attributesU1 and U0 in the node Theta of the graph produced by the relevant rule) and returns the following valuesas a list: exp B U i ( z = ) exp B U i ( z = ) + exp B U i ( z = ) and − ( exp B U i ( z = ) exp B U i ( z = ) + exp B U i ( z = ) ) where i is the current agent number and B is the intensity of choice parameter that controls the ease bywhich fixed point is reached (as specified in [3]). A successful base case validation has seen test results (see Figure 2 where average Z count value isplotted versus depth of the simulation) line up qualitatively with results from the more traditional ABMsimulation given in [1]. In particular, for high values of p (that is, high probability of toxicity), weobserve the expected result when the initial state contains a mixture of negligent and diligent agents: asharp drop in Z , corresponding to a sharp switch in average approach (i.e., more banks decide to perform0 Implementation of aPort-graph Model for Finance Name of Rule Description requesttobuy Sends a request-to-buy message to a random bank B changingthe name of this node to PB ( PotentialBuyer ).A copy of the rule:beginanalysis Computes profitability U ( ) , U ( ) of PB , generatinga node Theta with attribute
DeltaU1U0 = U ( ) − U ( ) .Computation in the algorithm tab is as follows: T heta . U = − A . p tox ( − Z . z ) − A . c valT heta . U = ( − A . p tox )( − A . c val ) − A . ddcostT heta . DeltaU1U0 = T heta . U − T heta . U Z in node Z. The new value in Z is ( Z ∗ ( k − ) + z ( PB )) / k .Computation in the algorithm tab is as follows: Z . z = (( Z . z ∗ ( Z . numofagents − )) + B . z ) / Z . numofagents Table 1:
RewriteRules .Ene 21
Name of Rule Description followresult Applies if
DeltaU1U0 ≥ follow node if more profitable to not do a full risk analysis.Arrow-node Application Condition:If Theta . DeltaU1U0 ≥ DeltaU1U0 < deviation node if more profitable to do a full risk analysis(Similar to followresult ).followdecision Transfers asset and prepares for a new transaction (i.e. cleansup after the decision negligence rule), updating bank’s attribute z ,updating the Change counter if necessary.deviationdecision Transfers asset and prepares for a new transaction (i.e. cleansup after the decision to deviate from the negligence rule), updatingbank’s attribute z , updating the Change counter if necessary(Similar to followdecision ).change Sets the
Change counter back to 0 if greater than 0.Computation in the algorithm tab is as follows:
Change . change = Change . sumofchange = Table 2:
RewriteRules
Entity Attribute Description
Buyer (B/PB) Payoff (payoff) Returns from re-selling an asset.Bank/Potential z Indicates whether or not,as a rule, the institutionperforms independent risk analysesBank ID (b id) Bank identifierAsset Current Value (c val) Cost of purchasing an assetProbability An asset is toxic if the borrowersof Toxicity (p tox) of the underlying loans arelikely to default or are in defaultActualised Toxicity Current toxicity level(a tox)Perception (pe) External rating of the assetby rating agenciesDue Diligence Cost Full cost of an independent(ddcost) risk assessmentChange change Change in bank approachSum of change Sums all changes in a current cycle(sumofchange)z Represents the global average zNumber of Iterations Counter that keeps track ofZ (numofiterations) AllTrade iterationsNumber of Agents Variable that keeps track of(numofagents) number of banksTheta U1 Profitability of being negligentU0 Profitability of being diligent.DeltaU1U0 Difference between U1 and U0.
Table 3:
NodesandAttributes
Entity Ports Description
Bank O (Owns) Edges attached to this port highlightassets owned by the bankC (Contacts) Communication channel with another bankAsset OB (Owned by) Connects the asset to its current ownerZ EN (Environment) Global entity that tracks current average sentimentPotentialBuyer O (Owns) Links to assets owned by the bankC (Contacts) Communication channel with another bankGE (Generates) Declares a relationship with an analysis nodeChange CH (change) Counter that keeps track of behaviour changesTheta PB (Produced by) Entity that produces this computation helper
Table 4:
Portsineachkindofnode .Ene 23independent analysis), which in turn will generate stability. An illustration of this can be seen in Figure 2cand notice that given high due diligence costs Figures 2b and 2e highlight a negligent approach whereasFigures 2c and 2h reflect the favouring of a diligent approach. However, even for high toxicity, if theinitial state is a set of negligent agents, the model reaches equilibrium without switching approach asseen in Figure 2l. (a) Low Toxicity, High DueDiligence Cost,Mixture of Dili-gent and Negligent Banks (b) High Toxicity, High DueDiligence Cost, Mixture ofDiligent and Negligent Banks (c) High Toxicity, Low DueDiligence Cost, Mixture ofDiligent and Negligent Banks (d) Low Toxicity, Low DueDiligence Cost, Mixture ofDiligent and Negligent Banks(e) High Toxicity, High DueDiligence Cost, Diligent Banks (f) Low Toxicity, High DueDiligence Cost, Diligent Banks (g) Low Toxicity, Low DueDiligence Cost, Diligent Banks (h) High Toxicity, Low DueDiligence Cost, Diligent Banks(i) Low Toxicity, High DueDiligence Cost, NegligentBanks (j) High Toxicity, High DueDiligence Cost, NegligentBanks (k) Low Toxicity, Low DueDiligence Cost, NegligentBanks (l) High Toxicity, Low DueDiligence Cost, NegligentBanks
Figure 2:
ExperimentResults. (y-axis: Count of the number of negligent banks. The intersection of x and y axesin the case of a starting universe of purely diligent banks corresponds to the co-ordinates (0,0) as opposed to (11,0)in the case where we begin with negligent banks. Curves tending upwards reflect a negligent equilibrium result)
Fundamentally, general purpose agent-based simulation tools and platforms like JAS, Netlogo, Agent-Builder, Swarm, MASON, Repast, SeSAm, GAMA and INGENIAS Development Kit, support an im-perative object-oriented approach to model development, facilitating the modular approach to coding.EMERALD and JADE middleware integrate a declarative approach but without any visualization sup-port. Other tools and languages like Stratego, Maude and ELAN [8] support a pure term-writing approachwhich in the case of Maude is augmented by probabilistic features. What can we do in our chosen ap-proach that we could not have achieved using existing solutions cited? The visual, declarative nature ofgraph transformation systems are welcome in the cases where users seek to primarily focus on describ-ing what the system should accomplish in terms of problem domain versus the how, and maintain strongconceptualization support that can subsume the details of spatial and topological constraints.We have shown that strategic port-graph rewriting provides a basis for the design and implementationof a multi-level graph model able to capture the inner workings of the sub-prime secondary securitisationmarket in a manner that reflects the aforementioned rational negligence phenomenon and that providesoptional operational support.We observed that a declarative approach is much easier to program and maintain, and the incrementalmanner in which development was approached (e.g. coarse-grained rules tested before finer optimiza-tions), in addition to the modular nature of development, eliminated many coding bugs. Interactingwith the system was not convoluted in anyway and being able to view the states generated by each rulewithin the resulting derivation tree was useful in addition to being able to view nodes within the tree thatmaintained specific properties.In future, we hope to further develop the hierarchical model to be able to capture all details of thefull securitisation life-cycle and cater for more dynamically to changing parameters. References [1] Kartik Anand, Alan Kirman & Matteo Marsili (2013):
Epidemics of rules, rational negligence and marketcrashes . TheEuropeanJournalofFinance 19(5), pp. 438–447, doi:10.1080/1351847X.2011.601872.[2] Nneka Ene, Maribel Fern´andez & Bruno Pinaud (2017):
Attributed Hierarchical Port Graphs and Applica-tions . In: ProceedingsFourthInternationalWorkshoponRewritingTechniquesforProgramTransformationsandEvaluation,WPTE@FSCD2017,Oxford,UK,8thSeptember2017., pp. 2–19, doi:10.4204/EPTCS.265.2.[3] J.Doyne Farmer, M. Gallegati, C. Hommes, A. Kirman, P. Ormerod, S. Cincotti, A. Sanchez &D. Helbing (2012):
A complex systems approach to constructing better models for managing finan-cial markets and the economy . The European Physical Journal Special Topics 214(1), pp. 295–324,doi:10.1140/epjst/e2012-01696-9.[4] Maribel Fern´andez, H´el`ene Kirchner & Bruno Pinaud (2017):
Strategic Port Graph Rewriting: an InteractiveModelling Framework . Research Report, N/A. Https://hal.inria.fr/hal-01251871.[5] Juan de Lara, Esther Guerra, Artur Boronat, Reiko Heckel & Paolo Torrini (2014):
Domain-specific discreteevent modelling and simulation using graph transformation . SoftwareandSystem Modeling 13(1), pp. 209–238, doi:10.1007/s10270-012-0242-3.[6] Charles Ka Yui Leung & Thomas A. Lubik:
Introduction: Dynamic Stochastic General Equilibrium Modellingand the Study of Asia-Pacific Economies . doi:10.1111/j.1468-0106.2012.00579.x.[7] Sheri Markose, Yang Dong & Bewaji Oluwasegun (2008):
An Multi-Agent Model of RMBS, Credit Risk Trans-fer in Banks and Financial Stability: Implications of the Subprime Crisis . http://jasss.soc.surrey.ac.uk/18/1/11.html .Ene 25 [8] Narciso Mart-Oliet, Jos Meseguer & Alberto Verdejo (2005): Towards a Strategy Language for Maude . Elec-tronicNotesinTheoreticalComputerScience 117, pp. 417 – 441, doi:10.1016/j.entcs.2004.06.020. Proceed-ings of the Fifth International Workshop on Rewriting Logic and Its Applications (WRLA 2004).[9] Jason Vallet, H´el`ene Kirchner, Bruno Pinaud & Guy Melanc¸on (2015):