ns2 project in Queensland

ns2 project in Queensland

        ns2 project in Queensland when all instances have been received, tokens representing the unredacted instances are reported back to the source BRPs or ns2 project in Queensland broadcast to all BRPs for firing. This depends on whether the database is fragmented or replicated. In our initial implementation, we use the latter  scheme, for simplicity. This achieves “redact-all-possible” metarule semantics. This is deterministic and independent of ns2 project in Queensland instance generation order and MRP processing order.

      This method ns2 project in Queensland scales with respect to the metarules. Even better performance may be extracted under some simple compile time optimizations, e.g, suppressing the transmission ns2 project in Queensland of “apparently relevant” instances which do not really have any possibility of matching the target metarule because of the presence of “inappropriate” constants. Such conditions can be determined at cornpile tirne and incorporated into the mapping tables at each BRP that direct the flow of generated instances to the MRP, one for each ns2 project in Queensland metarule. The LPM scheme features a metarule processor at ns2 project in Queensland each site,  paired with each base rule processor.

      The scheme is outlined as follows.Each site runs a restricted version of a rule program in a BRP, as usual, as well as a “coupled” MRP, that processes instances as they are generated using the two-phase algorithm, in pipeline fashion.The scheme is optimistic in the following sense. It relies on the generation of instances at each site such that a good fraction of redactions will take place by processing only the ns2 project in Queensland local instance D H ,  remote instances will not be needed. The unredacted instances are passed on to a “global” MRP for a final global filtering phase if needed. The ns2 project in Queensland global MRP also operates on the two-phase principle.  

ns2 project in South Australia

ns2 project in South Australia

      ns2 project in South Australia the algorithm then simply returns to the top of the WHILE Otherwise, in step 6, the current instance is used to ns2 project in South Australia index into all possible WF roots that may be satisfied because of this instance. This set is computed using the existing HTBLs. Constants are propagated from the roots of each ns2 project in South Australia WF tree to its branc,hes, as well as from the current instance.

      If matches are found by a constrained search against the IRs, the corresponding ns2 project in South Australia roots are redac.ted by removing the root instance from its IR and deleting all HTBL entries in loop. In this section we outline various approaches to processing metarules ns2 project in South Australia in a distributed setting. In early experiments with PARADISER, the performance of metarule processing using a single metarule processor and several base rule processors  showed that even when base rule processing was balanced, the metarule ns2 project in South Australia processing tends to be the bottleneck in overall system performance.

     This pointed to the need for distributing the metarule processing as well. Here we outline three possible approaches. The FDM scheme is specified as follows  For each metarule, designate an MRP. We assume that processors are available on demand. Otherwise, some ns2 project in South Australia processors will be chosen to process multiple metarules .As instances are generated at each base rule processing site, they are sent to the MRPs for which they are ns2 project in South Australia relevant by first consulting the CMRT augmented with processing site information. As instances arrive at an MRP, they are processed by the two-phase ns2 project in South Australia algorithm described above, in pipeline fashion.

ns2 project in wellington

Ns2 project in wellington

 

 

      Ns2 project in wellington the basic job of the MRP is to report back to each of the sites which of the instances generated by that site ns2 project in wellington should be fired. To accomplish this, the MRP executes the procedur In the algorithm, the DEQrJErJE operation in step 1 has the obvious meaning. In step  the function IS-FREE ns2 project in wellington determines if the current instance is a free instance according to the definition given ns2 project in wellington earlier.

If the current instance is free, the CONTINUE directive “short-circuits” the WHILE loop by skipping the remainder of the body and returning to the top. This ns2 project in wellington happens for free instances whic,h are not redactable. Otherwise, the algorithm proceeds to insert the current instance in the appropriate instance relation  a new ns2 project in wellington WF tree is created with the current instance at the root. The tree contains as many branches as there are applicable metarules that may redact the current instance. Each branch ns2 project in wellington contains all the LHS conditions of the metarule it, represents as lists of conditional expressions. The root and all the c,onditional expressions are hashed into appropriate HTBL ns2 project in wellington structures for subsequent fast access.

This is the action of the MAKE-WF-TREE function. In step , the function FOUND-MATCH tests each branch ns2 project in wellington of the WF tree for the current instance by first propagating the constants in the current instance to each conditional expression, and then carrying out a constrained search of the IRs to ns2 project in wellington  determine if the LHS of any relevant metarule is satisfied. If any branc.h is satisfied, the WF tree representing the current instance is REDACTED, by destroying the WF structure and removing the entry for the current instance in its IR, as well as clearing all HTBL entries resulting from the creation of the WF tree.

 

ns2 project in dunedin

Ns2 project in Dunedin

 

     Ns2 project in Dunedin each child node  contains the conditions necessary for the corresponding conditional expression to be true, and a ns2 project in dunedin flag indicating whether it has been found true. The root node, which represents the potentially redactable instance on the RHS, is trivially true, since only by ns2 project in Dunedin receiving a complete instance could the WF structure be initialized; thus it does not appear in the list of conditional expressions.

     The structure is called a Wait-For structure, indicating that it is “waiting for” the instances necessary to redact the instance stored at itjs root. WF ns2 project in Dunedin structures are accessed through hash tables, one for each rule. As an instance of some rule r arrives, it is hashed into the hash table HTBL(T) that is specific to  HTBL(r) ns2 project in Dunedin holds pointers to the WF structures for each instance of . The hash tables are created such that the corresponding hash functions are defined on the attributes relevant to ns2 project in Dunedin metarule matching. An access-efficient representation of the metarules. This table holds information on the freeness of rule instances.

      A rule instance is ns2 project in Dunedin free if the corresponding base rule does not appear on the RHS of any metarule. Thus, free instances will never be subject to redaction, and are ignored by the MRP. The CMRT also contains information on the relevance of various rule instance classes to the matching of ns2 project in Dunedin each metarule in the user program. As noted above, all sites send rule instances to the MRP as they are generated. Rule instances are collected in a queue read by the MRP. When ns2 project in Dunedin a site is done generating rule instances, it, puts a message ns2 project in dunedin SENTALL on the queue, and the MRP tracks the receipt of this message from all sites to determine when all instances have been received.

ns2 project in christchurch

Ns2 project in christchurch

         Ns2 project in Christchurch this synchronization is strictly not necessary; in general, redactions may occur as soon as a metarule is mat,ched. Thus, base rule ns2 project in Christchurch and metarule evaluations may be pipelined. This observation motivaks the development of the centralized two-phase Match/Tag-Fire scheme in the rest of this section. The basic ns2 project in Christchurch algorithm can be extended to the distributed case as well. We outline various distributed schemes t8hat may utilize t,he basic two-phase ns2 project in Christchurch pipeline processing method in the next, section.

In the basic centralized version ns2 project in christchurch of tthe algorithm, all sites send their rule instance as they are generated to the MRP. The goal is to have the metarule processing at the MRP nearly ns2 project in Christchurch completed by the time the last instance is received from the slowest site. This is called “two-phase rnetarule processing” , outlined in and is discussed below. There ns2 project in Christchurch is one IR for each rule in the rule program. The relation scheme for an IR is obtained by conjoining the schema of the relations referenced on the LHS of the rule. As instances of base rules are received by the MRP, they are stored in the appropriate IR. For each ns2 project in Christchurch instance received at the MRP, a structure is created to represent the set of all metarules that are capable of redacting that instance.

This is called a “Wait-For”  structure, and can be viewed as a tree. The instance in question is at the root, and each child node represents ns2 project in Christchurch the LHS conditions of,a relevant metarule, represented as a list of conditional expressions that appear in the metarule. Since this is a metarule, a conditional expression is applied to instance relations as opposed to base relations.

ns2 project in auckland

Ns2 project in Auckland

      Ns2 project in Auckland we need not recompile and reconfigure the object level system, only the metarule system. Third, as discussed in , it may be required in order for incremental update through metarules to be performed correctly. The operational ns2 project in Auckland semantics of PARULEL suggests a natural decomposition of overall processing into three separate phases, namely, match, redact, and fire. 

      Our proposed implmentation seeks to ns2 project in Auckland remove the separation between object-level rule matching , which produces rule instances, and the subsequent filtering of these instances using the metarules , into a ns2 project in Auckland single “pipelined” process. Thus, the obvious three-phase Match-Redact-Fire cycle is replaced by a of a set of metarules, is to be evaluated against a database D. Each of multiple distributed sites has its own copy of the entire database D, and its own copy of ns2 project in Auckland  the entire production rule program, where some or all of the rules have ns2 project in Auckland been modified to be constrained on certain attributes .

     Thus, site i has, such that  where B is the operator that applies a set of rules against the database D. A naive, centralized approach to handling the matching of metarules against a database of production ns2 project in Auckland rule instances is as  All sites match base rules, and send resulting ns2 project in Auckland  instances to a queue read by a single, centralized nietarule processing (MRP) site. MRP gathers all instances from all sites.MRP matches all instances against ns2 project in auckland the set ofMRP reports back to appropriate sites which inmet arules. stances are firable. Clearly, under ns2 project in Auckland the naive approach, the MRP cannot proceed until all instances have been received from all base rule matching sites.

ns2 project in sydney

Ns2 project in Sydney

 

       Ns2 project in Sydney this idea is rather simple and al-lows for an easy metarule implementation by using the object level rule ns2 project in Sydney matc,her verbatim. However, this is probably inefficient since it forces the object level system to execute various phases of metarule evaluation and ns2 project in Sydney object level evaluation alternately through the rule evaluator. Essentially the rule evaluator is used to simulate the metarules. We should seek more efficient implementations than this approach suggests. Rather ns2 project in Sydney  than trying to compile metarules away in terms of the object level system, metarules might be processed as a separate body of code and data structures.

       This is the approach we adopt in PARADISER, and we describe this approach as a “twophase” metarule processing ns2 project in Sydney algorithm in the next two sections. We provide both centralized and distributed ns2 project in sydney versions of this method in some detail. Here the idea is that the object level system carries out its normal operation producing instances that are sent to the metarule matcher as messages. Data structures similar to those used in the network matchers are used to ns2 project in Sydney evaluate metarules.

      It is dearly an eager approach, and is designed especially for distributed evaluation cases. Why might this be a better approach than folding metarules into the object level system directly as outlined above since it incurs expensive instance communication overhead First, there may be no choice if one is using a distributed computing ns2 project in Sydney environment. Communication is a necessity and thus separating the metarule implementation from the object level implementation is more than sensible. Second, one ns2 project in sydney may wish to run a different set of metarules against the same object level rules.

ns2 project in perth

Ns2 project in perth

 

       Ns2 project in perth the semantics of metarules dictates that when there are two or more conflicting rule instances, some particm lar ns2 project in perth instance should be redacted. Can we define a total ordering over rule instances and use lazy matching ns2 project in perth at the network nodes applied to instances so that only the single rule instanc,e that would be fired is generated and those that would be redacted would not even be generated? The answer is no. Preference here is not dependent upon lexicographic sort of ns2 project in perth a totally ordered WM as in OPS5.

     Preference here meansprogrammer supplied preference based upon arbitrary conditions on bound values in instances that are dynamically ns2 project in perth computed and that, may not define a total ordering. It is unlikely that lazy match will be effective in systems with set-oriented semantics as described here. Our goal is to compute and execute as many instances, and thus as many working memory transactions, in ns2 project in perth a single inference cycle as possible.

     We do not seek to compute a single firable rule as quickly as possible in a single inferenc,e c,yc.le by reducing the ns2 project in perth amount of irrelevant match work as in lazy evaluation. Rather, we attempt ns2 project in perth to make all match work as relevant as possible by eliminating conflicting rule instances according to a set of user specified metarules. Another possible metarule implementation discussed in  is as follows. We compile the rnetarules into object level rules while rewriting the object level rules mentioned in the metarules. Here, the object level rules are changed so ns2 project in perth that they always fire but assert an “instance’ object in the object level WM. Metarules match against these instance objects, and when a metarule fires, its actions are not redactions, but the RHS actions of the rules that they would have allowed to fire.

ns2 project in melbourne

Ns2 project in melbourne

 

      Ns2 project in Melbourne the first technique consists of compiling metarules into the object level matcher. This means that if one ns2 project in melbourne is using a RETE  or TREAT discrimination net matcher, for example, one can compile the metarule tests into the network. At the network nodes where final instance tokens are ns2 project in melbourne generated, one can insert additional test nodes, compiled from the metarules, and ns2 project in melbourne thus inhibit certain instances from proceeding onward to the firing mechanism, i.e., redact them.

      This is practical when considering main memory based systems. Instances can simply ns2 project in melbourne be treated like any othertoken in this case If aggregate metarules are supported, however, we have several problems. First, the network nodes storing instance tokens will likely grow very large especially when computing aggregate ns2 project in melbourne metarules. The performance of memory based systems would degrade significantly.

     Second, an ‘Laggregate condition” to be tested at these nodes will have to be inhibited until all ns2 project in melbourne  instances have been computed. Thus, some means of determining when the match is completed and all instances have been computed is needed. This approach is ns2 project in melbourne essentially the same as the one proposed in . Now let’s consider base metarules for a moment in this context. The approach is very straight.forward. How might it be more intelligent Lazy tnatching works for OPS5 because it is possible to define a ns2 project in melbourne total ordering over WM elements. Match runs faster since it stops searching for instances once one is found. The computed instance is guaranteed to be the same instance chosen ns2 project in melbourne from an eager computation. In metarule matching, one can presumably stop as soon as one instanc. e is found too. But this is not the case.

ns2 project in brisbane

Ns2 project in brisbane

       Ns2 project in Brisbane but one cannot determine apriori what a metarule programmer might actually specify . Object level rule ns2 project in Brisbane matching may be lazy, as in nLEAPS, or eager as in PARULEL and SOAR. In the case of lazy evaluation, one would expect the matcher to produce the instances that would be ns2 project in Brisbane fired after metarule redactions without generating the instances that would be redacted.

     However, this is im-practical, since for an instance to be redacted, it must be matched and ns2 project in brisbane bound in the LHS of a metarule and participate in conditional expressions between other rule instances. Indeed, a single instance may participate in many different ns2 project in Brisbane metarules and thus may be matched against a number of instances generated by different object-level rules. This implies that the “redactable instances” must be generated and ns2 project in Brisbane tested in the LHS of the metarule along with other rule instances.

    Thus, lazy evaluation is not an appropriate evaluation strategy since it seeks to generate only one instance at a time. Furthermore, for languages with set-oriented semantics, lazy ns2 project in Brisbane evaluation would necessarily require repeated invocation to generate a stream of instances to saturation before proceeding to fire those instances, lazy evaluation would be a ns2 project in Brisbane step in the most inner loop of an eager evaluation computation. Thus, it is difficult to see how lazy matching can be folded into the object level match phase, or ns2 project in Brisbane whether it is desirable at all. The metarule matching method that one adopts is influenced by the considerations cited above. In the rest of this paper, we ns2 project in Brisbane attempt to enumerate specific feasible techniques and briefly outline their characteristics.