text:
|Numķro de publication
|Type de publication
|Numķro de demande
|Date de publication
|5 oct. 2010
|Date de dķp¶t
|9 juil. 2008
|Date de prioritķ
|21 mars 2001
|╔tat de paiement des frais
|Autre rķfķrence de publication
|Numķro de publication
|David L. Huelsman, Sharon E. Love, Douglas M. Mair
|Cessionnaire d'origine
|Huelsman David L, Love Sharon E, Mair Douglas M
|Exporter la citation
|BiBTeX, EndNote, RefMan
|Citations de brevets (72), Citations hors brevets (39), Rķfķrencķ par (2), Classifications (6), ╔vķnements juridiques (4)
|Liens externes: USPTO, Cession USPTO, Espacenet
The present application is a continuation of and claims priority to U.S. patent application Ser. No. 11/710,972, filed Feb. 27, 2007, which is a continuation of U.S. patent application Ser. No. 10/101,154, filed Mar. 20, 2002, now U.S. Pat. No. 7,188,091, which is a non-provisional of U.S. provisional patent application Ser. No. 60/278,655, filed Mar. 21, 2001, all of which we incorporate by reference.
This invention relates to rule processing, but more specifically, to an apparatus that captures and/or that executes a set of rules to automatically provide a decision or advice relative to that decision.
Decision automation, or automated rule processing as it is sometimes called, provides a decision, tests a condition of satisfiability, and/or confirms compliance of a set of rules or conditions—whether those rules or conditions involve conduct of a business or operation of a system or process. Decision automation applies to an activity (business or non-business) requiring the application of rules or criteria to obtain a result, and includes decision support, workflow management, process automation, and multidimensional data analysis. Generally, a rule is characterized as a relationship between or among parameters and/or attributes, as well as a relationship between or among rules themselves. A single-dimensional rule usually expresses a single relationship, condition, or requirement. A multi-dimensional rule, however, embraces many single-dimensional rules or rule components and is satisfied, valid, or complied with when all components thereof are simultaneously valid, satisfied, or complied with for a given set of input parameters. Decision automation is useful to implement complex or multidimensional rules having too many interrelated parameters, attributes, or rule components for convenient or ready human implementation.
Mathematically, satisfiability of a rule may be determined using propositional logic by solving the model or function ƒ(m,n) of m multi-valued inputs and n outputs expressed in canonical form. Decision automation can be applied to deterministic problems directed to product configuration or provisioning, process or system control, certain forms of traffic routing, financial management, building or facilities management, needs analysis, manufacturing, order processing, service provisioning, decision support, product verification, product or service compliance, and other areas where decisions may be made using propositional logic. A specific application of decision automation is providing sales guidance or choice narrowing when dealing with complex or interrelated products and services, such as cross-selling or up-selling, having a combinatorial exploded number of features, attributes, properties, and/or interrelationships that is too demanding (e.g., too numerous or complex) for manual or mental assessment. Software installation wizards also use rule processing or decision automation to automatically determine which among many software components to install in a computing system according to user desirability and/or hardware parameters. Such installation rules are determined a priori by a subject matter expert to alleviate this burden on a less-experienced end-user.
Another application of decision automaton lies in an area where expert or knowledge-based systems guide a user to select among interrelated variables or parameters having complex interrelationships. To validate evacuation routes or a selection of safety measures to be taken, for example, decision automation may also be applied to emergency management of a large facility having a combinatorial exploded number of life-threatening situations in response to various sensors (e.g., fire, flooding, environmental hazard, life support monitors, etc.). Artificial intelligence also employs decision automation to draw inferences from basic parameters, relations, or facts, but stores rules as syntactical programming code. Short of decision automation, but simply to determine satisfaction of a set of design requirements, modeling has been proposed to test functionality of definition systems as finite state machines, e.g., formal verification or model checking of computerized hardware, commercial software, and embedded software systems for chipsets, hard drives, modems, cell phones, consumer appliances, and the like. While some degree of success has been met with hardware and embedded software, model checking for formal verification of commercial software presents many challenges due to an intractably large number of finite states.
Historically, decision automation was achieved using a decision tree representative of rules or relations between parameters where the tree provided various routes or branches leading to an output, e.g., satisfiability or compliance, under all possible input scenarios or parameters. To automate determination of an output, a computer processor systematically and methodically sequenced through branches of the tree under a given set of input parameters. As the number of input parameters grew linearly, the branches in the decision tree grew exponentially. The processing time required to sequence through all possible scenarios grew proportionally to the number of branches (exponentially), sometimes to a point exceeding acceptable processing time of the processor. Very often, computation for all input scenarios, regardless of their relevance, had to be computed to the end for all possible input parameters before a determination was ultimately made. For example, the combination of fifty parameters each having 50 values amounts to 5050 possible scenarios, which number is virtually impossible to process within acceptable time limits even using the fastest available processing speeds. With currently available processor clock speeds, run times of many prior decision automation systems became unacceptably long as the number of rule permutations or input criteria exceed two to three thousand. The problem was solvable, but required an inordinate amount time, which in classical mathematical terms, is known as an NP complete problem.
In addition to encountering NP complete problems, prior decision automation methods and systems used syntactic programming code or algorithm syntax to build a decision tree to obtain a decision. This had several drawbacks. First, it required skilled computer programmers to design and create code to build the decision tree based on a given set of rules about a subject matter of which they may have little knowledge. Consequently, if the subject matter expert did not possess programming skills, both a programmer and a subject matter expert had to jointly build the decision tree in order to automate rule processing. This was often expensive, inconvenient, and time-consuming. Second, modification of a decision tree with many convoluted paths was expensive, time-consuming, and difficult to debug since programming errors that inevitably occurred were not readily apparent or had an unintended impact on other parts of the decision automation system. The latter problem is exacerbated in a dynamic, real-life business environment where rules, relationships, attributes, parameters, etc. vary unpredictably due to changing circumstances and events.
Further, the output of prior decision automation systems is usually limited to providing an indication of compliance, satisfiability, or acceptance under a given set of input parameters that defined a multidimensional rule. No "advice" is provided when the result proves noncompliant. For purposes of design of complex systems, behavioral observation or testing thereof, a need for conflict or selection advice, or for other reasons, it is desirable to provide an indication of which component(s) of a multidimensional rule invoked a conflict and what parameters, if any, could be changed to render all components of the rule simultaneously compliant or satisfied. Prior systems failed to provide such advice for a large-scale system, e.g., a system having more than 2000 or 3000 variables. In order to process such "what if" scenarios, prior systems laboriously attempted to reprocessed all possible input conditions to find a result, which reprocessing often exceeded the capacity of the decision automation system to determine the decision within acceptable time limits. Thus, prior systems proved ineffective in complex multidimensional rule environments.
A system disclosed in WIPO Publication No. WO 99/48031 by Moller, et al. addresses at least some of the aforementioned problems by providing a database that maps possible outcomes of a propositional logic rule in accordance with given input scenarios. This reduced execution times typically required of microprocessors to implement algorithmic rule processing. In addition to its mode of capturing and manipulating rules, one limitation of the Moeller et al. system is a lack of flexibility to determine "what if" scenarios, i.e., selection or conflict advice.
Case tools are also known in the art to provide automatic translation of business rules into programmatic code, but use of case tools still requires code-writing for rule maintenance, which makes it difficult to implement in usual and customary business environments. For example, subject matter experts and data entry personnel could not easily implement them in their business.
In view of the foregoing, it is desirable to provide a system that expresses, captures, and manipulates complex business or other rules for subsequent processing without using programmatic code or algorithmic syntax.
It is further desirable to provide a way for subject matter experts (non-programmers) to utilize and implement automation of complex rules that are too complicated or numerous for practicable human handling.
It is also desirable to provide a rule processing apparatus or system that is easily updated or modified to adapt to rapidly changing business environments or changing circumstances.
It is also desirable to enhance decision automation by providing messages or calculations, as well as a selection of messages and calculations, in association with a rule determination.
By virtue of providing conflict and selection advice along with rule processing, the present invention enables a user to assess various "what if" feedback scenarios that is particularly useful for system design purposes.
The present invention is also useful to provide a result when encountering a combinatorial exploded number of permutations of interrelated rules or outcomes.
The present invention also aims to use propositional logic to express rules as data in a way to provide rule capture, rule manipulation, and extremely fast processing of a complex, multidimensional rule.
According to an aspect of the present invention, a system that provides rule processing includes (i) a rule entry system to define/enter attributes, enumerations, and/or relationships thereof representative of an overall rule to be automated (herein also called "maintenance"); (ii) a rule packaging system to produce a representation of the rule in a form suitable for propositional logic manipulation, e.g., preferably reducing a representation of the rule to a reduced canonical form suitable for manipulation as a zero-suppressed binary decision diagram (Zdd); and/or (iii) an execution engine that executes the packaged rule by applying a series of user inputs to the representation, e.g., the prime Zdd, to determine a result that may also include conflict and selection advice to guide the user to achieve rule compliancy or satisfaction. Elective events, such as the display of messages or the performance of calculations, may optionally be packaged along with the prime rule or components thereof and presented during execution to help guide the user when choosing among possible selections. The invention enables determination of a complex rule having a combinatorial exploded number of rule components, or a combinatorial number of possible outcomes, exceeding computational capacity of present day computing systems.
Other features and aspects of the invention will become apparent upon review of the following description taken in connection with the accompanying drawings. The invention, though, is pointed out with particularity by the appended claims.
During the rule entry/definition process, a subject matter expert or user typically identifies and defines relationships, attributes, attribute enumerations, etc., characterizing the rule or components thereof, while data entry personnel enters other associated information. Rules are expressed as propositional logic statements. Rule maintenance includes, for each rule or rule component (e.g., polynomial factor), designating logically asserted ("include") or non-asserted ("exclude") relationships between user-defined attributes or enumerations thereof at appropriate locations of a two-dimensional or multidimensional relational grid, table, or matrix representing each rule component. For condensed database storage of rules as data and rapid retrieval, the preferred method also includes ordering, grouping, and indexing components of the overall rule and converting a representation thereof to a reduced canonical polynomial for storage in a memory. Without a need for programmatic coding, currency of the rules can be maintained by repeating the rule entry process when known relationships or parameters thereof change.
In accordance with another aspect of the invention, messages, calculations, or other elective events are associated with various conditions or outcomes of rule processing. The system 1 also performs procedure 35 that associates elective events with various logic conditions so that messages may be communicated to an end-user or calculations may be performed for the end-user to assist in automated rule processing. Rule definitions may further include the identity of relationships between logic outcomes of one or more rule components, on one hand, and the invocation of messages or calculations, on the other hand. Procedure 36 of rule entry system 1 orders components or elements of a model logic function representative of the overall complex rule and translates them to a reduced canonical form. Finally, the system 1 implements procedure 37 that stores a condensed canonical polynomial representation of the overall rule in respective database records of a master table or database.
Attributes of an exemplary rule Model, e.g., a complex multidimensional rule, described for purposes of this disclosure include a complex rule based on material, pressure, pH and thickness, which are set forth in the following Attribute Table.
Attribute Table
0-25 mm
25-50 mm
50-75 mm
This example, though, is not intended to limit the scope of application of the invention. For purposes of illustration, a subject matter expert defined rule components or relationships as follows:
Material and Pressure rule:
Material and pH rule:
Pressure and Thickness rule:
Material, Pressure, pH and Thickness rule:
In addition, the subject matter expert has also defined the following exemplary calculations used by the exemplary rules in the following manner:
Neoprene uses CalcN if valid
Silicone uses CalcS if valid
Rubber uses CalcR if valid
High Pressure uses CalcH if valid
Further, the subject matter expert, developed the following exemplary messages that may be communicated to an end user when the following conditions occur:
Neoprene uses MessN if invalid
Silicone uses MessS if invalid
Rubber uses MessR if invalid
Rule packaging system 2 preferably includes software routines to perform procedures 38 and 39 that effect accessing database records of the reduced canonical polynomial representing the rule components and proceeds by constructing zero-suppressed binary decision diagrams (Zdds) for the respective rule components of the database records. Binary decision diagrams are a form of logic propositional expression that has been recently developed in the art. In accordance with the present invention, zero-suppressed binary decision diagrams have been found particularly useful for rule representation and manipulation because they inherently characterize real-life scenarios for business and engineering applications having various "don't care" conditions or scenarios relative to many combinations of attributes, enumerations, properties, or relationships thereof. In prior decision tree analyses, each scenario had to be tested regardless of relevancy, and therefore, these prior systems needlessly wasted computation time or were unable to process a rule to a result within acceptable time limits. According to the present invention, though, use of Zdds for rule processing eliminates needless computation and has tremendously sped automation of very large scale systems having many orders of magnitude of possible outcomes or rule permutations.
Procedure 39, in essence, generates a series of factors of the canonical polynomial that may be separately executed to produce a result for a given rule component or sub-part of the overall prime rule. Those factors, or rule components, are broken down into "include" rules, "exclude" rules, attribute relations, and elective events Zdds are created for each of these components. Other components, as well, may be included in the rule definition.
Optionally, rule packaging system 2 may perform post-processing operations 40 to facilitate subsequent execution of the prime rule. In cases where any of the Zdds are overly large or complex, they may be re-ordered to reduce the number of nodes or paths. This step further increases the ability to handle very large scale, complex rules.
After the Zdd components are generated and/or post-processed, rule packaging system 2 implements a procedure 41 to form a prime Zdd by logically combining an include Zdd, an exclude Zdd, an AttrRels Zdd, and an Elective Events Zdd. The prime Zdd, which is stored in a memory at procedure 42, represents the overall or prime rule to be process. In response to user inputs, the prime Zdd produces a result, as well as messages and calculations. In should be noted that the overall or prime Zdd may be defined to include all or a portion of the component Zdds, depending on the design of the system or method. For example, if an overall or prime rule is defined to have only "include" components, then the prime Zdd need not have "exclude" components. Likewise, if no elective events are designed into the method or system, then the prime or overall Zdd will not have such a Zdd component. However defined, the prime or overall Zdd represents the business or engineering rule to be process. In response to user inputs, the prime Zdd will produce a result, and optionally, messages and calculations.
Execution preferably comprises applying end-user inputs against pre-packaged Zdds representative of the overall rule in order to produce a result, i.e., an indication of satisfiability or compliancy, as well as selection and conflict advice in response to a failure of satisfiability or compliancy. The result, selection advice, or conflict advice may be accompanied by a display of messages or the performance of a calculation, logic or otherwise, and communicated to the end user.
Rule Entry & Maintenance
Using stock diagrams, e.g., diagrams with blank legends, automatically generated by a user interface of system 1 during the rule maintenance process, a subject matter expert develops a series of relationship diagrams characterizing the rule to be automated by specifying the appropriate labels, e.g., attributes or names, to be included in the legends. In effect, attribute relationships are also being defined during this process. During rule entry, these diagrams may be displayed on a computer monitor while data entry personnel or experts use a "point and click" input device to define rule components in the grids by clicking the appropriate locations of the grids. Placing an exclude "X" term 51 a in the exclude rule component diagram of
Each rule represented in
To create records of master database 72, the terms of the relational diagrams 62, 64, 66, and 68 are given a signature, input address, and validity assignment in respective records 72 a through 72 o of database table 72, which is stored in a memory for subsequent access. Ordering of attributes and enumerations in table 70 associated with the specified attributes and enumerations is arbitrary, but once given, defines the signatures and input addresses of records of database table 72. Using left-to-right ordering across table 70, the signature in database table 72 associated with the term 63 for the neoprene-pressure rule of diagram 62 is "1100," which signifies the presence of a valid relationship (e.g., include or exclude) between neoprene "1" and high pressure "1" and a "don't care" relationship for pH "0" and thickness "0." Similarly, using the vertical ordering of the code specified in table 70, the input address associated term 63 of the neoprene-pressure rule diagram 62 becomes "3300," which signifies relative ordering of the enumerations of the neoprene "3" and pressure "3" attributes and "don't care" for pH "0" and thickness "0." The assignment of "zero" in the validity column of the neoprene rule 62 indicates an exclude rule assignment. In a similar fashion, the signature, input address, and validity assignments are provided for each asserted term of the rule components expressed in diagrams 64, 66, and 68 thereby to define in reduced canonical form in table 72 a prime rule embracing multiple rule components. Rule components expressed in the form of component diagrams 62, 64, 66, and 68 may be converted to database table 72 using conventional programming techniques. In accordance with an important aspect of the invention, the system accesses records 72 a through 72 o to create and manipulate Zdds representing the respective components of the prime rule to be automated.
Rule Packaging
Packaging transforms a prime rule, which includes all rule components of interest, to an executable form. According to an important aspect of the invention, use is made of Zdds for rule processing because this form of rule representation accounts for the many "don't care" scenarios that customarily occur in many combinatorial exploded business and engineering systems. The nature, character, and manipulation of Zdds and similar diagrammatic propositional logic rule representations are described in "Zero-suppressed BDDs for set manipulation in combinatorial problems," S. Minato, Proc. 30th ACM/IEEE DAC, pp. 272-277, June 1993.
A prime Zdd, an elective Zdd, XML data, and supporting web documents are preferably created during rule packaging. The prime Zdd represents the overall, complex, or prime rule having multiple rule components. The elective Zdd represents elective events to be invoked when certain conditions occur. XML data and supporting web documents assist in generating and presenting the various user interfaces locally or remotely via a network
A zdd (or z-bdd, or zero-suppressed bdd) is an OBDD (Ordered Binary Decision Diagram) that is further reduced by eliminating all nodes whose high legs go to zero. An Ordered Binary Decision Diagram is a special type of Directed Acyclic Graph (DAG). Zdds are especially efficient at manipulating sets of minterms, i.e., terms represented by selections in rule component diagrams 62, 64, 66, and 68. Nodes of a zdd can be reordered to further reduce the size of the diagram. In addition, reordering helps avoid traversing the same node more than once in order to reduce execution time when zdds are extremely large. Using special programming techniques such as dynamic programming and caching, it is possible to avoid many of these problems.
Zdds may be constructed using logical operations between two or more Zdds, which returns a result Zdd. Zdds may also be synthesized by directly linking chains of nodes to represent a result of many separate logical operations. Construction can be scaled up to handle very complex rules. Synthesis, however, can be much faster than construction when rule construction involves a large number of highly repetitive operations.
The synthetic method described in the appended pseudocode of creating a zdd starts at the largest index in the Index Table (set forth below), which also happens to be at the bottom of the zdd, and works its way up the zdd. The synthetic method uses a zdd "one" function and synthetically AND'ing in each term in a minterm to create a zdd representing a rule component. As it goes up the zdd it applies the specific synthetic operation to that node. Using this method, it is easy to build a chain of AND operations in one pass, whereas using the logic construction method requires passing each member of the AND chain. Each pass, of course, takes greater than linear time to process. As later described in this disclosure, a "Selection Term For Group" is created in a synthetic fashion. The zdds preferably have an order with "missing" node locations where the level of a node present in the zdd corresponds to its index position. Empty levels having no nodes represent suppressed "zeros" or "don't cares." This ordering, however, is not required.
Ordering of attributes, enumerations, etc. is arbitrarily assigned during rule development. Rules express relationships between sets of enumerations grouped into attributes. When speaking of a logic function implied by one or more rules, enumerations are called "terms" (as in a "term" of a logical expression). When constructing a zdd each enumeration (term) of the example described herein is identified by a specific numeric "index," set forth in the following index table:
Index Table
0-25 mm
26-50 mm
Enumerations of an attribute are mutually exclusive (i.e., a particular pH cannot be both acidic and basic). Groups, therefore, specify the exclusive relationship between terms. The concept of grouping is used throughout construction and execution to enforce exclusivity between group members. Group types are either elective or prime, and are used when building a selection term for the elective zdd. Prime groups correspond to attributes.
Logic operations are used during creation and execution of the zdds. Standard functions include AND (intersect) and OR (union). A AND function is used between two sets of zdd nodes to find the nodes or paths in common between the groups. An OR function is used to find a total set of zdd nodes and paths between two zdd groups. Since zdds contain sets of minterms, the union/intersection nomenclature to refer to zdd functional operations is more appropriate.
An overall rule model comprises at least a prime zdd and an elective zdd. The prime zdd is packaged from respective sets of include rules and exclude rules, i.e., rule diagrams 62, 64, 66, and 68 (
Include zdds contain rules with combinations that go together (i.e., combinations that are valid) but are not effective for containing rules with combinations that do not go together (i.e., combinations that are invalid). In an exemplary situation where a product can be built with 300 sizes and 200 colors, resulting in 60,000 possible combinations, all combinations are valid together except for three. That means that there are 59,997 valid combinations and three invalid combinations.
According to an aspect of the present invention, rules may be re-stated either as an include rule or an exclude rule in a way to minimize the number of nodes in a corresponding zdd representing the rule. Storing invalid combinations, e.g., the three invalid combinations, requires OR'ing the exclude rules together, rather than AND'ing. In this case, fewer actual nodes result from the operation but one encounters the same pathological ordering problem when storing the logic function in a standard (include) zdd. This is because the 59,997 "don't care" nodes are explosively multiplied by the OR operation. However, in this case, the "don't care" nodes add no actual information and can be eliminated. Thus, in accordance with an aspect of the present invention, the structure of the exclude zdd is changed to suppress or eliminate the "don't care" nodes representing "don't care" scenarios in business or engineering applications to advantageously achieve a reduced size with no loss of information.
Thus, the include zdd and exclude zdds are constructed differently and, during execution, each of them is separately traversed without regard to the other. This, according to another important aspect of the invention, permits separate creation, manipulating, and re-ordering to further simplify very complex rules that would other have a large number of nodes.
After creating the Zdds, they are persisted to permanent storage to be subsequently retrieved during execution. Zdds are preferably persisted using a format that includes header information, variable ordering information, and node information, as depicted in
Building an Include Zdd
When building an include zdd, the relevant attributes define the rule being built. Other attributes are seen as "don't care" (DC) with respect to the relevant rule. Explicitly building (referencing) the "don't cares" is not necessary for the include zdd due to inclusion of an attribute relationship zdd in the prime rule. The attribute relationship zdd defines how the attributes are interrelated. Unrelated attributes can then be processed as "don't cares" during execution.
As shown in
Similarly, minterm 86 representing the relationship {3,9} signifies a valid condition for the combination of low pressure and a thickness of 25-50 mm. Its zdd is constructed in the same or a similar fashion from nodes 84 and 85, along with results 87 a and 87 b. Since the combination is valid, node 85 has a solid line to "one" box of 87 a. The entire pressure-thickness rule has eight minterms {3,8}, {3,9}, {3,10}, {4,8}, {4,9}, {4,10}, {5,9}, and {5,10}, which represent the eight entries in the rule diagram 66 of
Building an Exclude Zdd
A first "exclude" rule, relation, or minterm 93 of material/pressure rule component (diagram 62 (
Building an Attribute Relationships Zdd (AttrRels)
Referring to
When building the AttrRels zdd 100, two extra terms corresponding to groups 110 and 112 are added to the Index Table, one term to designate an "include" relationship and a second term to designate an "exclude" relationship. The remaining groups 114-117 correspond to the group demarcations in the Index Table. During execution, these terms advantageously allow separation of "include" attribute relationships from the "exclude" attribute relationships to guide an end user during the selection process when developing his or her "terms of interest" to satisfy a complex rule.
Unlike the include zdd and exclude zdd, terms of the AttrRels zdd represent attributes (i.e., groups) rather than enumerations. For "include" rule diagrams 64 and 66 of
Thus, construction of the "include" attribute relations zdds 102 and 104 for the material/pH and pressure/thickness rules is rather straightforward. The "include" AttrRels zdd is constructed from minterms {0, 2, 5} and {1, 3, 5}, where "5" is added to indicate an "include" rule. The "exclude" AttrRels zdd is constructed from minterms {0,1,4} and {0,1,2,3,4}, where "4" indicates an "exclude" rule.
Prime Zdd Post Processing
After constructing the include zdd and exclude zdd, paths common to both include and exclude zdds may optionally be removed from the include zdd without loss of information. This renders the include zdd smaller and makes execution faster. Removing these paths from the include zdd avoids extraneous processing of traversing those paths during the execution of the zdd. As an example, if a rule is added to the "exclude" zdd precluding the combination of the material neoprene and the pressure 50-75 mm (i.e., index 2 and index 10), then any combination containing both neoprene and 50-75 mm (index 2 and index 10) in the "include" zdd can be removed regardless of other combinations in the rule. Thus, another aspect of the invention concerns searching for and removing paths in the include zdd that contains the "excluded" combination. Therefore, valid combinations {2,5,10} and {2,10,15}, and {2,8,10,30} can be removed from the include zdd because they each contain "2" and "10". In this hypothetical scenario, these terms don't add any value to the include zdd.
Prime zdd post processing also removes unnecessary information from the include zdd to enhance the end user's experience of selection advice by flagging combinations as incompatible selections in the special case where the end user has made no actual selection for one or more related attributes (i.e. has a pending choice). The following pseudocode describes how the prime Zdd is constructed:
IncludeZdd = the zdd with all the include paths.
ExcludeZdd = the zdd with all the exclude paths.
// Caution: This function must be called on non-reordered zdds.
Function RemoveTotallyExcluded(IncludeZdd, ExcludeZdd)
Zdd tNext, eNext, r
If ExcludeZdd == 1 Then return 0
If ExcludeZdd == 0 Then return IncludeZdd
If IncludeZdd == 0 or IncludeZdd == 1 Then return IncludeZdd
If (index(ExcludeZdd) < index(IncludeZdd)) Then
r = RemoveExcluded(IncludeZdd, Lo(ExcludeZdd))
Else If (index(IncludeZdd) == index(ExcludeZdd)) Then
tNext = RemoveExcluded(High(IncludeZdd), High(ExcludeZdd))
eNext = RemoveExcluded(Lo(IncludeZdd), Lo(ExcludeZdd))
r = MkZ(index(IncludeZdd), tNext, eNext)
tNext = RemoveExcluded(High(IncludeZdd), ExcludeZdd)
eNext = RemoveExcluded(Lo(IncludeZdd), ExcludeZdd)
r = MkZ(index(IncludeZdd), tNext, eNext)
End If
Return r
End Function
Model = data for the model.
Function ConstructPrimeZdd(Model)
// Comment: Construct the Include
PrimeIncludeZdd = 1
For each include rule in a Model
RuleZdd = 0
For each minterm in rule
MintermZdd = 1
For each term in mintermc
Synthetically add the term to MintermZdd
Next term
RuleZdd = RuleZdd or MintermZdd
Next minterm
PrimeIncludeZdd = PrimeIncludeZdd and RuleZdd
Next rule
// Comment: Construct the Exclude
PrimeExcludeZdd = 0
For each exclude rule in a Model
For each minterm in rule
MintermZdd = 0
For each term in minterm
MintermZdd = MintermZdd or term.
Next term
RuleZdd = RuleZdd or MintermZdd
Next minterm
RuleZdd = RuleZdd or MintermZdd
PrimeExcludeZdd = RuleExcludeZdd or PrimeZdd
Next rule
// Comment: Construct the AttrRels
AttrRelsZdd = 1
For each rule in a Model
If rule is an include rule then
MintermZdd = include term
MintermZdd = exclude term
End if
For each attr in rule
Add attr to MintermZdd
Next attr
AttrRelsZdd = AttrRelsZdd and MintermZdd
Next rule
PrimeIncludeZdd = RemoveTotallyExcluded(PrimeIncludeZdd,
// Comment: Reorder and persist the zdd's
ReorderAndPersist PrimeIncludeZdd
ReorderAndPersist PrimeExcludeZdd
ReorderAndPersist AttrRelsZdd
End Function
Elective Zdd Structure
Elective events are actions that occur in response to end-user selections of "terms of interest" and/or prime advice, the objective being to trigger certain events when making certain selections. Elective events may effect the display of messages and/or the performance of calculations to be used with a particular outcome or result.
Since DC's are not present in the elective zdd 136 an alternate select function, SelectE, may be used. The selection term zdd used by the SelectE function is built in light of the structure of the elective zdd.
In addition to the prime, message and calculation groups 114-115 and 122-128, a new group 129 called validity is added to the elective zdd group 120. Group 129 allows the user to specify different behaviors based on the validity of the prime. Elective events can be set up to show Message1 if the selected combination is valid, or Message2 if the combination is invalid. The value of prime validity is determined during processing and interpretation of prime advice.
Pseudocode for building the elective zdd is as follows:
Model = data about the model.
Function ConstructElectiveZdd(Model)
ElectiveZdd = 0
For each rule in Model
If rule has an ElectiveEvent
For each ElectiveEvent in rule
MintermZdd = 1
// Comment: Make sure to include the validity or invalidity term.
For each term in ElectiveEvent
MintermZdd = MintermZdd and term
ElectiveZdd = ElectiveZdd or MintermZdd
End if
End Function
Execution Engine
The rule execution engine according to an aspect of the invention preferably implements a validity algorithm and an advice algorithm. The validity algorithm contains an irredundant, reduced representation of the multidimensional prime rule in a specialized, addressable table format and uses Zdds, or a representation thereof, to deterministically process an input vector, i.e., user selections, comprising input parameters of a complex rule. Generally, a binary decision diagram is a reduced, ordered, rooted, directed acyclic graph of the logic function ƒ(m, n) that is well-suited to characterize a deterministic rule. Although preferred, the invention need not employ zero-suppressed diagrams. Related binary or logical representations, such as BDDs, BMDs, MBDD, or other graphical diagrams or logic representations may be used in accordance with the teachings herein.
In one embodiment, a local or remote server runs the execution engine. Also, a client device may run the execution engine. In a client-server environment, rule entry, packaging, and execution are preferably divided between client and server devices according to needs of the application. In most cases, however, the set of zdds representing the overall rule model is small enough to run on a typical client computer, e.g., a conventional desktop, laptop, or palm-type computing device, and may be downloaded from a remote server, e.g., Internet server, by the end-user just prior to execution. When the execution engine starts, a microprocessor of the execution terminal effects loading of pre-packaged zdds, obtains inputs (i.e., terms of interest) from a user, begins execution, and provides an output, preferably on a computer monitor. The output may comprise visual and/or audio indications, and preferably includes an indication of satisfiability along with an indication of conflict and/or selection advice after traversing the user-specified inputs through the pre-packaged prime zdd representing the overall rule model.
The Include Advice module 152 carries out steps including, for each selection group derived from the user inputs, making a selection term for the group (MSTFG) by calling a routine that uses the selection terms and groups to synthetically create an include traversal zdd that is used to extract information from the Include zdd 146 and AttrRels zdd 145. Using the temporarily generated include traversal zdd, Include Advice module 152 effects traversal of the pre-packaged Include zdd 146 and AttribRels zdd 145 to produce "include" advice 148. The Exclude Advice module 154 carries out steps including, for each selection group derived from the user inputs, making a selection term for the group (MSTFG) by calling a routine that uses the selection terms and groups to synthetically create another traversal zdd that is used to extract information from the pre-packaged Exclude zdd 147. Using the same end-user selections, Exclude Advice module 154 generates a temporary exclude traversal zdd and effects traversal of the pre-packaged zdd data 147 to produce "exclude" advice 149.
Include Advice 148 produced by module 152 and Exclude Advice 149 produced by module 154 are NOR'ed by the execution system at step 151 to produce overall advice 153 and validity advice 155. Meanwhile, module 156 generates information useful for providing a selection of elective events, i.e., messages and/or calculations, associated advice results should this feature be included in the application. Elective Advice module 156 builds the elective terms to be supplied to the ElectiveSelect routine in order to produce Elective Advice 158 that is supplied to an Advice Interpretation module 157. Module 157 generates selection and conflict advice, as well as effecting display of messages and results of calculations, that guides or assists the end-user. In addition, a reduction operation ReduceX is used to remove any combinations that are more than one click ahead.
Validity of the overall rule model is preferably based on a current set of terms of interest selected by the end-user. If the user-selected terms of interest are compatible with each other and every attribute that doesn't have a current selection has at least one possible term, then the overall rule model is valid. Otherwise the overall rule model is considered to be invalid. In
Since conflict and selection advice are immediately provided to the end user, the execution engine advantageously provides a design tool when developing desired configuration of a complex product, service, facility, etc. having a combinatorial exploded number of possible combinations, many of which are "don't care" scenarios.
When the execution engine produces an invalid result, advice function 150 (
If any of the selected terms of interest produces a conflict, conflict advice from Interpretation module 157 (
If an attribute name of dropdown menus 165-167 has an "X" icon instead of a checkmark next to a name attribute, then it is totally invalid and no choice of enumerations for that attribute will resolve the conflict. In many applications, however, no distinction may be drawn between simple, correctable conflict advice and total conflict advice, and the end user is simply notified that a conflict exists for the given attribute.
To invoke elective events along with rule processing, such as a display of a message or the performance of a calculation, the execution engine uses the elective zdd described in connection with
Execution Example
The illustrated example of
Group-Index Table
0-25 mm
25-50 mm
50-75 mm
Exemplary Step by Step Execution Method
Include Advice:
Exclude Advice:
Build the Exclude MSTFG
Exclude advice returns: 2, 5
NOR'ing with include advice removes 2 from the include advice.
Interpreting Prime Advice:
The resulting terms with "+" signs are: 0, 1, 3, 4, 6, 7, 9, 10.
Group 0 has {0, 1}, Group 1 has {3, 4}, Group 2 has {6, 7}, Group 3 has {9, 10}. There is a conflict between groups 1 and 3 because the selected terms are invalid. This conflict is resolvable by choosing a plus index from either group. Overall validity is FALSE because the selection terms are not included in the result terms.
Elective Advice:
Build the MSTFG using the terms from the prime advice and the validity term.
Perform the ElectiveSelect routine to find the elective terms.
Building an MSTFG Zdd
Chart 230 of
Interpreting elective advice and triggering elective events are now described. As previously indicated, elective events control the display of messages and the execution of calculations. In some cases it may be sufficient to merely select or deselect a particular message/calculation for display/execution. In the general case, it is preferable to allow elective events to control selection from several alternative texts of a message or from several alternative expressions of a calculation. The simple select/deselect case is but a special scenario of the more general selection-among-alternates case. The maintenance or rule entry tool supports a general, selection-among-alternates case by allowing multiple text messages to be maintained for each message and multiple expressions to be maintained for each calculation.
Since there are multiple alternate texts/expressions for messages/calculations, situations may arise where elective advice calls for several of the alternatives to be displayed/executed simultaneously. Since only one of the alternatives can be displayed/executed at any one time, elective priority is established between the alternatives. The alternative text/expression with the lowest priority value is displayed/executed. Priority values may be associated with the respective messages and/or calculation and entered during rule entry to achieve this purpose.
Optional Embodiments
In the simple case, an expression of a calculation is selected for execution through elective advice, the expression is executed, and the result returned and communicated to the user when appropriate. In the more general case, it may be preferable to allow the result of one calculation to be used in the computation of another calculation, and the subsequent result used as well, and so on, recursively. This creates dependencies between calculations which, in turn, force execution of calculations in a particular sequence so as to obtain the proper or intended result. A proper execution sequence is easily obtained by arranging the various references in a dependency tree and performing a depth-first ordering or topological sort within the dependency tree. Calculation sequencing may be performed during the packaging step to achieve this purpose. Further, circularity of reference can be easily detected through this same ordering mechanism. Since computation of a set of circularly referenced calculations cannot be accomplished, the model maintenance tool checks for circularity as each reference is entered. Depth-first ordering or topological sort algorithms are well described in several standard software engineering texts (see "Fundamentals of Data Structures" by E. Horowitz & S. Sahni, Computer Science Press, Inc. ISBN 0-914894-20'X Copyright 1976 pp 310-315).
Making selections is easily achieved. The illustrated example shows selections for pH, pressure, and thickness being set using a conventional drop-down list (
In addition, for some inputs, particularly inputs of numeric values, a user may desire to enter a specific numeric or alphabetic value rather than select a choice from a list of parameters or enumerations. In the case of thickness for example, the user may wish to enter the value "22." This scalar input value can be used to determine the correct selection of a segmented range by comparing the scalar value with minimum and maximum values for each of the thickness selections embedded among the pre-defined thickness enumerations. In the case of an entry "22," the input module 140 (
For some inputs, the user may wish to enter a set of values and execute a calculation to determine the desired selection. For instance, a user may wish to enter the circumference and width of an oval cross section and have a calculation determine the corresponding thickness. Input module 140 (
The exemplary rule and processes therefore described herein provide a basis for extending application of the invention to the provisions of business and engineering products and services, generally. Automation of large-scale and/or small-scale systems may take advantage of the rule processing techniques of the invention, Use of terms such as attributes, enumerations, parameters, etc. to describe a rule is not made in the restrictive sense but is intended to include a broad range of properties or characteristics associated with a rule. Even though directed acylic graphs such as binary decision diagrams are preferred for rule representation, they are in no way limiting to the type of rule representation or manipulation embraced by the invention. For example, a method or system that emulates relations between attributes and enumerations, and relations between attributes, to provide an indication of satisfiability or advice to achieve satisfiability according to the teachings herein falls within the scope of the present invention. Accordingly, the invention includes such software emulations and systems predicated on the teachings herein. Also, an overall or prime rule to be automated may be predicated only on one type of rule component or sub-part, and need not be segmented or processed as an include rule or rule component, or an exclude rule or rule components.
Execution Engine Pseudocodes
Description: This routine builds a zdd that will be used in subsequent
select operations. It uses the set of terms, groups, related groups
and the flags to build the tree for different situations. For example,
when selecting terms from the elective zdd, don't cares are not used.
This routine also takes into account when
Groups = The set of groups for this tree.
Terms = The set of terms for this tree.
GroupOfInterest = The group to be excluded on this tree.
UseDontCares = True if Don't cares should be added.
RelatedGroups = Set of groups related to current group.
Result = The new selection term tree that will be used by
Select (or SelectElective)
Function MakeSelectionTermForGroup(Groups, Terms, GroupOfInterest,
UseDontCares, RelatedGroups)
Result = 1;
// TODO: Major work needed in here ...
For each var in Zdd from last to first
group = GetGroupOfVar(var)
If group <> GroupOfInterest then
If group is in Groups then
If group is in RelatedGroups then
If group has a term then
If GroupOfInterest is not specified then
MSTFG = MKz(var, MSTFG, zero) // Elective only
MSTFG = MKz(var, MSTFG, MSTFG)
End If
Else If groupType = 1 then
MSTFG = MKz(var, MSTFG, MSTFG) // Message group
End If
MSTFG = MKz(var, MSTFG, MSTFG)
End If
If UseDontCares then MSTFG = MKz(var, MSTFG, MSTFG)
End If
If UseDontCares then MSTFG = MKz(var, MSTFG, MSTFG)
End If
Return MSTFG
End Function MakeSelectionTermForGroup
Prime = The prime zdd.
Groups = The set of groups to be considered.
Terms = The set of terms to be considered.
Result = The resulting set of terms.
Function Advice(Prime, Groups, Terms)
FoundInclude = SelectionInclude(PrimeInclude, AttrRels, Terms,
FoundExclude = SelectionInclude(PrimeExclude, Terms, Groups)
Result = FoundInclude NOR FoundExclude
Return Result
End Function Advice
PrimeInclude = The prime include zdd.
Groups = The set of groups to be considered.
Terms = The set of terms to be considered.
AttrRels = The attributes relations zdd.
Result = Set of terms from the Include Zdd that match this selection.
Function SelectionInclude(PrimeInclude, AttrRels, Terms, Groups)
For each Group in Groups
Term = GetTermForGroup(Terms, Group)
RelatedGroups = SelectionRelated(AttrRels, Term, Group)
SelectTerm = MakeSelectionTermForGroup(Groups, Terms, −1,
true, RelatedGroups)
IncludeAdvice = Select(PrimeInclude, SelectTerm)
Result = Result + GetAdviceForGroup(Group)
Next Term
Return Result
End Function
AttrRels = The attribute relationships zdd.
Group = The set of groups to be considered.
Result = Set of terms from the Exclude Zdd that match this selection.
Function SelectionInclude(AttrRels, Group)
RelTerms = MakeSelectionTermForGroup(AllGroups, Group, −1,
true, RelatedGroups)
Result = Intersect(AttrRels, RelTerms)
Return Result
End Function
PrimeExclude = The prime include zdd.
Groups = The set of groups to be considered.
Terms = The set of terms to be considered.
Result = Set of terms from the Exclude Zdd that match this selection.
Function SelectionExclude(PrimeExclude, Terms, Groups)
SelectTerms = MakeSelectionTermForGroup(Groups, Terms, −1,
true, RelatedGroups)
ExcludeAdvice = SelectE(PrimeExclude, SelectTerm)
Result = ReduceX(ExcludeAdvice, SelectTerms)
Return Result
End Function
Elective = The elective zdd.
Groups = The set of groups to be considered.
Terms = The set of terms to be considered.
AdviceTerms = Terms from prime advice (optional)
Result = Set of terms that match this selection.
Function ElectiveSelect(Elective, Groups, Terms, AdviceTerms)
AddPrimeOptionsToTerms(Groups, Terms, AdviceTerms)
SelectTerm = MakeSelectionTermForGroup(Groups, Terms, −1, false)
RT = SelectE(Elective, SelectTerm)
//Add all unique indexes in r to the result list.
Result = GetUniqueIndexesFromTree(RT, −1)
Return Result
End Function ElectiveSelect
Prime = Prime Zdd.
TermTree = Term to select against.
Function Select(Prime,TermTree)
if TermTree = 1 then return Prime
if TermTree = 0 then return 0
if Prime = 0 or Prime = 1 then return Prime
if var(TermTree) < var(Prime) then
if high(TermTree) = low(TermTree)
return Select(Prime, high(TermTree))
return 0
else if var(TermTree) = var(Prime)
return MKz(var(Prime), Select(low(Prime), low(TermTree)),
Select(high(Prime), high(TermTree)))
else if var(Prime) < var(TermTree)
return Select(low(Prime), TermTree)
End Function Select
Elective = Elective Zdd.
TermTree = Term Zdd to select against.
Function SelectE(Elective, TermTree)
if TermTree = 1 then return Elective
if TermTree = 0 then return 0
if Elective = 0 or Elective = 1 then return Elective
if var(TermTree) < var(Elective) then
if high(TermTree) = 1
return 0
return SelectE(Elective, high(TermTree))
else if var(TermTree) = var(Elective)
return MKz(var(Elective), SelectE(low(Elective), TermTree),
SelectE(high(Elective), high(TermTree)))
else if var(Elective) < var(TermTree)
return SelectE(low(Elective), TermTree)
End Function SelectE
|Brevet citķ
|Date de dķp¶t
|Date de publication
|27 avr. 1990
|18 mai 1993
|Bachman Information Systems, Inc.
|System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems
|16 janv. 1991
|5 avr. 1994
|Walker-Estes Corporation
|Mixed-resolution, N-dimensional object space method and apparatus
|28 juin 1991
|10 mai 1994
|International Business Machines Corporation
|Method and system for product configuration definition and tracking
|10 janv. 1994
|22 nov. 1994
|Eaton Corporation
|Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms
|12 avr. 1993
|19 nov. 1996
|Hitachi, Ltd.
|Method and apparatus for aiding of designing process
|13 juil. 1994
|13 mai 1997
|Unisys Corporation
|Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
|8 mars 1995
|23 dķc. 1997
|Amado; Carlos Armando
|Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
|23 oct. 1995
|28 avr. 1998
|Calico Technology, Inc.
|Method and apparatus for automatic and interactive configuration of custom products
|18 ao¹t 1995
|8 sept. 1998
|Vlsi Technology, Inc.
|Automatic synthesis of integrated circuits employing boolean decomposition
|18 dķc. 1996
|15 sept. 1998
|New York University
|Conditional transition networks and computational processes for use interactive computer-based systems
|17 sept. 1996
|1 dķc. 1998
|Bt Squared Technologies, Inc.
|Methods and systems for user interfaces and constraint handling configurations software
|18 mars 1996
|2 mars 1999
|Pantheon Solutions, Inc.
|System and method for creating configurations using templates
|15 oct. 1996
|30 mars 1999
|The Regents Of The University Of California
|Predictive event tracking method
|14 dķc. 1995
|8 juin 1999
|Viewlogic Systems, Inc.
|Circuit design methods and tools
|29 dķc. 1995
|13 juil. 1999
|Sapient Solutions, Llc
|Computer based system for monitoring and processing data collected at the point of sale of goods and services
|30 mars 1998
|5 oct. 1999
|Siebel Systems, Inc.
|Method, and system for product configuration
|29 dķc. 1997
|16 nov. 1999
|Beologic A/S
|Interactive configuration via network
|10 mars 1997
|14 dķc. 1999
|Trilogy Developmetn Group, Inc.
|Method and apparatus for configuring systems
|17 sept. 1997
|18 janv. 2000
|Tenfold Corporation
|Method and system for database application software creation requiring minimal programming
|9 mars 1998
|29 fķvr. 2000
|I2 Technologies, Inc.
|Method and apparatus for optimizing constraint models
|29 ao¹t 1997
|7 mars 2000
|The Boeing Company
|Computer-based method of structuring product configuration information and configuring a product
|12 nov. 1997
|16 mai 2000
|Netscape Communication Corporation
|Smart configurator
|4 nov. 1997
|13 juin 2000
|The Standard Register Company
|Forms order entry system
|6 nov. 1998
|19 dķc. 2000
|Nec Usa, Inc.
|Method for verification of RTL generated from scheduled behavior in a high-level synthesis flow
|26 janv. 1998
|30 janv. 2001
|Dell Usa, L.P.
|Generation of a compatible order for a computer system
|12 nov. 1998
|1 mai 2001
|Sourcefinder, Inc.
|System and method for creating, generating and processing user-defined generic specs
|23 avr. 1998
|3 juil. 2001
|Christopher Spooner
|Computer architecture using self-manipulating trees
|3 mai 1999
|20 nov. 2001
|Motorola, Inc.
|Method and apparatus for integrated circuit design verification
|6 avr. 1998
|4 dķc. 2001
|Microsoft Corporation
|Methods and apparatus for building a support vector machine classifier
|30 juin 1999
|19 fķvr. 2002
|Citibank, N.A.
|Automated system and method for customized and personalized presentation of products and services of a financial institution
|7 oct. 1999
|7 mai 2002
|International Business Machines Corporation
|Method and apparatus for creating and manipulating a compressed binary decision diagram in a data processing system
|2 sept. 1999
|14 mai 2002
|Sun Microsystems, Inc.
|Method and apparatus for optimizing real functions in Boolean domain
|4 janv. 1999
|28 mai 2002
|Corel Inc.
|System and method for determining a path in a graphical diagram
|19 sept. 1997
|23 juil. 2002
|Bull S.A.
|Method of automated proving for unrestricted first-order logic
|21 avr. 1999
|27 ao¹t 2002
|Lucent Technologies, Inc.
|Virtual logic system for solving satisfiability problems using reconfigurable hardware
|7 juin 1995
|11 fķvr. 2003
|Microsoft Corporation
|Compiler and method for automatically building version compatible object applications
|19 ao¹t 1998
|4 mars 2003
|Ensys, Inc.
|Method for representing synoptic climatology information in a class-object-attribute hierarchy and an expert system for obtaining synoptic climatology information
|4 ao¹t 1999
|18 mars 2003
|Mdsi Software Srl
|System and method for creating validation rules used to confirm input data
|8 mars 2000
|29 avr. 2003
|The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of The University Of Oregon
|Satisfiability algorithms and finite quantification
|26 ao¹t 1999
|20 mai 2003
|Thinkanalytics Ltd
|Method and apparatus for knowledge discovery in databases
|15 oct. 2001
|22 juil. 2003
|International Business Machines Corporation
|Object oriented rule-based expert system framework mechanism
|20 avr. 1999
|18 nov. 2003
|Cisco Technology, Inc.
|Method and apparatus for organizing, storing and evaluating access control lists
|22 juin 2000
|2 dķc. 2003
|Cisco Technology, Inc.
|Cascading associative memory arrangement
|31 ao¹t 2000
|25 mai 2004
|Ncr Corporation
|Rule based expert system for consumer preference
|9 oct. 2001
|21 sept. 2004
|Hewlett-Packard Development Company, L.P.
|Rule based compatibility module
|14 oct. 2003
|29 mars 2005
|Cisco Technology, Inc.
|Information searching device
|13 fķvr. 2001
|4 oct. 2005
|Freescale Semiconductor, Inc.
|Design analysis tool for path extraction and false path identification and method thereof
|8 nov. 2000
|1 nov. 2005
|Matsushita Electric Industrial Co., Ltd.
|IP base LSI designing system and designing method
|14 ao¹t 2003
|3 janv. 2006
|Sap Aktiengesellschaft
|Method and system for automatically generating selection conditions in a product configuration system
|19 juil. 2002
|13 juin 2006
|Resolutionebs, Inc.
|Method and apparatus using automated rule processing to configure a product or service
|12 janv. 2001
|31 oct. 2006
|Synopsys, Inc.
|Simulation-based functional verification of microcircuit designs
|22 janv. 2002
|6 mars 2007
|Sprint Communications Company L.P.
|Product incompatibility system
|19 juil. 2002
|8 sept. 2009
|Huelsman David L
|Method and system for capturing business rules for automated decision procession
|28 dķc. 2000
|11 oct. 2001
|Tuatini Jeffrey Taihana
|Rules processing system
|30 nov. 2000
|30 mai 2002
|Kim Kyu Dong
|System and method for automating a process of business decision and workflow
|2 fķvr. 2001
|20 juin 2002
|Reps Thomas W.
|Method for representing information in a highly compressed fashion
|16 janv. 2001
|18 juil. 2002
|International Business Machines Corporation
|Searching for counter-examples intelligently
|11 dķc. 2000
|8 ao¹t 2002
|Intel Corporation
|Method and system for formal verification of a circuit model
|13 fķvr. 2001
|15 ao¹t 2002
|Abadir Magdy S.
|Design analysis tool for path extraction and false path identification and method thereof
|30 nov. 2001
|7 nov. 2002
|Jakob Lichtenberg
|Method of configuring a product
|16 ao¹t 2001
|28 nov. 2002
|Hyungwon Kim
|Method and system for synthesizing a circuit representation into a new circuit representation having greater unateness
|25 juin 2003
|15 juil. 2004
|Bart Munro
|Method to facilitate a search of a database utilizing multiple search criteria
|19 juil. 2002
|16 sept. 2004
|Huelsman David L.
|Method and system for capturing business rules for automated decision procession
|20 mars 2002
|23 dķc. 2004
|Huelsman David L.
|Method of providing decision automation
|28 sept. 2004
|14 avr. 2005
|Huelsman David L.
|Rule processing method, apparatus, and computer-readable medium to generate valid combinations for selection
|28 sept. 2004
|19 mai 2005
|Huelsman David L.
|Rule processing method, apparatus, and computer-readable medium to provide improved selection advice
|10 nov. 2005
|17 mai 2007
|Symbol Technologies, Inc.
|Voice activated rapid deployment for mobile computers
|4 janv. 2006
|12 juil. 2007
|Microsoft Corporation
|RFID device groups
|9 juin 2006
|20 dķc. 2007
|Intelleflex Corporation
|Rfid-based security systems and methods
|16 mars 1999
|23 sept. 1999
|Array Technology Aps
|A database useful for configuring and/or optimizing a system and a method for generating the database
|3 ao¹t 2000
|15 fķvr. 2001
|Mdsi Mobile Data Solutions, Inc.
|System and method for creating validation rules used to confirm input data
|19 mars 2003
|2 oct. 2003
|Resolutionebs, Inc.
|Rule processing system and method
|"Array". Microsoft Computer Dictionary, Fifth Edition. May 1, 2002.
|Aloul, F., M. Mneimneh, and K. Sakallah "ZBDD-Based Backtrack Search SAT Solver" International Workshop on Logic Synthesis (IWLS), New Orleans, Louisiana, pp. 131-136, 2002 http://www.eecs.umich.edu/~faloul/.
|Aloul, F., M. Mneimneh, and K. Sakallah "ZBDD-Based Backtrack Search SAT Solver" International Workshop on Logic Synthesis (IWLS), New Orleans, Louisiana, pp. 131-136, 2002 http://www.eecs.umich.edu/˜faloul/.
|Anderson, An Introduction to Binary Decision Diagrams, University of Denmark, Oct. 1997, pp. 8-11.
|Beck, M., et al., Enabling Full Service Surrogates Using the Portable Channel Representation, Proceedings of the Tenth International Conference on World Wide Web, Apr. 2001, pp. 376-385.
|Bryant, Binary Decision Diagrams and Beyond, Enabling Technologies for Formal Verification, IEEE, 1995, pp. 236-243.
|Cabodi, et al., Symbolic Traversals of Data Paths with Auxilary Variables, IEEE, 1994, pp. 93-96.
|Cosnard, et al., Automatic Task Graph Generation Techniques, Proceedings of the Twenty-Eighth Hawaii International Conference on System Sciences, Vo. 2, Jan. 3, 1995, pp. 113-122.
|Cugola, G, et al., Exploiting an event-based infrastructure to develop complex distributed systems, Proceedings of the 20th International Conference on Software Engineering, Apr. 1998, pp. 261-270.
|Ejnioui, et al., Design Partitioning on Single-chip Emulations Systems, Thirteenth International Conference on VLSI Design, Jan. 3, 2000, pp. 234-239.
|European Patent Office; PCT/US2007/079793; International Preliminary Report on Patentablility; Mar. 2009.
|European Patent Office; PCT/US2007/079793; International Search Report and Written Opinion; Feb. 7, 2008.
|European Patent Office; PCT/US2007/079797; International Preliminary Report on Patentablility; Mar. 2009.
|European Patent Office; PCT/US2007/079797; International Search Report and Written Opinion; Feb. 7, 2008.
|European Patent Office; Supplemental Search Report, EP 03716683.2; Jul. 2, 2010; 3 Pages.
|F. Somenzi: CUDD:CU Decision Diagram Package; http://vlsi.colorado.edu/~fabio/CUDD/nodel.html, site visited Jun. 11, 2009.
|F. Somenzi: CUDD:CU Decision Diagram Package; http://vlsi.colorado.edu/˜fabio/CUDD/nodel.html, site visited Jun. 11, 2009.
|Gottlob, et al., The complexity of acyclic conjunctive queries, 39th Annual Symposium on Foundations of Computer Science Proceedings, Nov. 8, 1998, pp. 706-715.
|Jacobi et al; Generating Prime and Irredundant Covers for Binary Decision Diagrams; Design Automation, 1992; Proceedings 3rd European Conference; Mar. 1992; pp. 104-108.
|Kurihara, et al., BDD Encoding for Partial Order Constraints and its Application to Expert Systems in Software Verification Domains, 2000 IEEE International Conference on Systems, Man, Cybernetics, vol. 3, Oct. 8-11, 2000, pp. 2062-2067.
|Minato S. "Zero Suppressed BDDs and their Applications"; International Journal on Software Tools for Technology Transfer; vol. 3 No. 2.; pp. 156-170; Year: 2001.
|Minato, S., Representations of Discrete Funtions, Chapter 1, Graph-Based Representations of Discrete Functions, Sasao and Fujia, ed.s, 1996, Kluwer Academic Publishing, pp. 1-23.
|Minato, Zero-Suppressed BDDs for Set Manipulation in Combinatorial Problems, Proceedings of the 30th Conference on Design Automation, Jul. 1993, pp. 272-277.
|Mishchenko, Alan. "An Introduction to Zero-Suppressed Binary Decision Diagrams" 2001, Jun. 8, Department of Electrical Engineering Portland State;University. pp. 1-15.
|Moller, J., HR Andersen, H Hulgaard, "Product Configuration over the Internet presented at",The 6th INFORMS Conference on Information Systems and Technology, Nov. 3-4, 2001, Miami Beach, Florida.
|Moller, Jesper, "Configuration and E-commerce", IFORS Jul. 2002.
|Panda, et al., Symmetry Detection and Dynamic Variable Ordering of Decision Diagrams, Proceedings of the 1994 IEEE/ACM International Conference on Computer-Aided Design, Nov. 1994, pp. 628-631.
|Stolowitz Ford Cowger LLP; Listing of Related Cases; May 24, 2010; 2 Pages.
|USPTO; File History U.S. Appl. No. 10/101,151 to Huelsman et al., filed Mar. 20, 2002; Part II, Apr. 2005 through Nov. 2008.
|USPTO; File History U.S. Appl. No. 10/101,151 to Huelsman, et al., filed Mar. 20, 2002; Part I, Mar. 2002 through Feb. 2005.
|USPTO; File History U.S. Appl. No. 10/198,098 to Huelsman et al. filed Jul. 19, 2002.
|USPTO; File History U.S. Appl. No. 10/198,100 to Huelsman et al., filed Jul. 19, 2002.
|USPTO; File History U.S. Appl. No. 10/198,100 to Huelsman et al., filed Jul. 19, 2002; Aug. 2009.
|USPTO; File History U.S. Appl. No. 11/527,638 to Huelsman et al., field Sep. 27, 2006; Aug. 2009.
|USPTO; File History U.S. Appl. No. 11/710,972 to Huelsman et al., filed Feb. 27, 2007.
|USPTO; File History U.S. Appl. No. 11/941,062 to Huelsman et al. filed Nov. 15, 2007.
|USPTO; File History US Patent Application No. 101,154 to Huelsman et al., filed Mar. 2, 2002.
|USPTO; PCT/US2003/08265; International Search Report and Preliminary Examination Report; Aug. 13, 2003.
|Yang, Optimizing Model Checking Based on BDD Characterization,Thesis, Carnegie Mellon U.,May 1999, pp. 9-11.
|Brevet citant
|Date de dķp¶t
|Date de publication
|29 fķvr. 2012
|9 juil. 2013
|Umm Al-Qura University
|Timing verification method for circuits
|20 janv. 2010
|29 juil. 2010
|Kabushiki Kaisha Toshiba
|Workflow system and method of designing entry form used for workflow
|Classification aux ╔tats-Unis
|Classification internationale
|Classification coopķrative
|Classification europķenne
|9 juil. 2008
Owner name: VERDE SABOR ASSETS, L.L.C., DELAWARE
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RESOLUTION EBS, INC.;REEL/FRAME:021215/0906
Effective date: 20070619
|20 mars 2012
|Certificate of correction
|26 mars 2014
|Fee payment
Year of fee payment: 4
|4 dķc. 2015
Owner name: MINERAL LASSEN LLC, NEVADA
Free format text: MERGER;ASSIGNOR:VERDE SABOR ASSETS, L.L.C.;REEL/FRAME:037210/0330
Effective date: 20150811


text:
Weekender -- Don't Let Summer Fly By
Once August arrives, summer has a way of speeding past, so if you're looking to make the most of these last few weekends before Labor Day, SocialFlight's app and website provide plenty of opportunities. In Stow, Massachusetts, this weekend, you can camp under your airplane's wing at the private Crow Island airport. The annual summer cookout will provide you with food, friends and a spring-fed freshwater pond for swimming. For Midwesterners, the Post Air Airport in Indianapolis also is hosting an annual fly-in, featuring classic airplanes, classic cars, Young Eagles rides and lunch, at a beautiful private airport. SocialFlight has more details plus contact info if you want to camp.
Farther west, flyers can spend a weekend at the EAA Chapter 292 annual fly-in at Independence State Airport in Oregon. Free housing is offered, and visitors can see a World War I-era DeHavilland and other aircraft, plus cars, on display. A barbecue is set for Friday and meals all day Saturday, and you can take a tour of the local wineries. Advance registration is recommended; details are posted on SocialFlight. In Groveland, California, the Pine Mountain Lake Aviation Association is hosting a historical aircraft display, as they do on the third Saturday of every month. SocialFlight lists events at airports around the country every day, and will also show you places nearby to visit while you're in the area.

subset: commoncrawl


text:
My Nonprofit Reviews
Review for Iraq And Afghanistan Veterans Of America Inc, New York, NY, USA
As an advocate for veterans and all of the multiple problems they face when they return to civilian life, Iraq and Afghanistan Veterans of America is one of the best. Their ability to lobby Congress is outstanding and tireless. Best of all, it is veterans working for veterans. The slogan 'We've Got Your Back' means just that.
Their daily blog keeps me aware of what is happening in Afghanistan, Iraq, the Military establishment, and Congress. That's more than I get from the media.
And any donation is followed by an acknowldegement. Your donation does not disappear into an organistional 'black hole'.
I would recommend this organization to any person who wishes to help those veterans who gave and sacrificed so much and have returned to both a painful and uncertain future.
More Feedback
I've personally experienced the results of this organization in...
Through this organization I have come to be more aware of the needs of Iraq and Afghanistan veterans. I have used this knowledge to write to the President and Congress on behalf of these veterans and their needs.
If I had to make changes to this organization, I would...
If I had to make changes to this organization, I would do nothing. They know better than I do what are the needs of Iraq and Afghanistan veterans. Some entity has to respond to the multiple needs of these men and women. The military is not exactly doing a stellar job. We went into both wars not thinking about the consequences and how those consequences would be met.


text:
Thundering hooves of crazy horses,
The dark look of red clouds,
A lonesome call from an eagle,
All set in for a restless night.
The horses enter the canyon,
And the clouds fade away.
A rising moon in the distance,
Gives birth to the stars of night.
The stars give light,
With the moon by their side,
While a fire turns to embers,
An owl calls out to say goodnight.
There's a legend about the owl,
When it calls out in the twilight.
For there's an open door,
Not even out of sight.
A candle in the window flickers,
Then turns dark and cold.
Through an open door lit by the moon and stars,
There's a lady.
The lady's alone now,
Or maybe not.
She lies in a pool, a pool of her own,
Made by the men on the crazy horses.
Under the dark red clouds,
They rode down into the canyon
With a drunken call to each other,
All set in for a restless night.


text:
Blue Ridge Lookout
|[ Sizes: Orig | Small | Thumb ]
Blue Ridge Lookout, Tulare County, CA
Blue Ridge was an early day cooperative lookout between the Forest Service and CDF. The steel tower was manufactured by Airmotor Company, is 60 feet tall and was constructed in 1930. Sitting on top is a 7x7 foot observation only cab. A separate residence was built below the tower in 1930 with a garage added in 1931.
This lookout is currently not being utilized and is closed to the public.
[ Post a Comment ]
Rate This Image
Current Score: 71.06%
Log In To Vote
[ View 1 Votes | Post Comment ]
Blue Ridge (Mountain/Rock)
tarol's Image Gallery
Fire Lookouts (Album)
Towers on tops (Album)
Sequoia National Forest Fire Lookouts (List)


text:
Gabrielle Kaufmann-Kohler
Program director
- Professor of Law at the University of Geneva
Professor, Geneva University Law School; Director, Geneva LLM in International Dispute Settlement (MIDS), joint program of the Graduate Institute of International and Development Studies and Geneva University; Co-Director, Center for International Dispute Settlement (CIDS); Partner, Lévy Kaufmann-Kohler, Geneva.
Practices in international commercial and investment arbitration. Acted in over 200 international arbitrations, mainly as arbitrator. Appears on numerous institutional arbitration panels (including ICC, ICSID, AAA, LCIA, SIAC, CIETAC) and conducts arbitrations under the rules of all major institutions. Chaired the ad hoc Division at the Olympic Games from 1996 until 2000. Regularly ranked among the top arbitrators worldwide.
Currently teaches classes on international commercial and investment arbitration. Current research projects on "Conflicts of norms in international arbitration". Past research projects include "Fundamental and legal theoretical aspects of international arbitration", "Arbitration & ... economics, philosophy, sociology", "Transnational arbitration in China", and multidisciplinary research on online dispute resolution (IT and law).
Honorary President of the Swiss Arbitration Association and President from 2001 to 2005. Member of ICCA's Governing Board, HKIAC Advisory Board, President of FIAA Board; former member of ICC Court, LCIA Court, AAA Board. Member of Swiss delegation to UNCITRAL Working Group II and Commission on transparency in investment arbitration (2010-2013).
Numerous publications in the area of her specialization (full list available on www.lk-k.com Selected recent writings and speeches include:
- International Arbitration: Law and Practice in Switzerland, Oxford University Press, 2015 (co-author Antonio Rigozzi), pp. 577
- Multiple proceedings in international arbitration: Plague or blessing? The Asian Arbitration Lecture, Singapore 2015 (available on www.lk-k.com)
- The transnationalization of national contract law by the international arbitrator, in Liber Amicorum Jean-Michel Jacquet, Lexis Nexis, Paris, 2013, pp. 107-120
- Commercial arbitration before international courts and tribunals - Reviewing abusive conduct of domestic courts, Annual Arbitration Lecture, 2011, American University, Arbitration International, 2013, pp. 153-173
- Diplomatic protection and investment arbitration: Dangers from non-disputing state party submissions? In Boisson de Chazournes/Kohen/Viñuales (Eds.), Diplomatic and Judicial Means of Dispute Settlement, Martinus Nijhoff, 2013, pp. 305-324
- Interpretive Powers of the NAFTA Free Trade Commission - Necessary Safety Valve or Infringement of the Rule of Law? In IAI Series on International Arbitration nº 7, Fifteen Years of NAFTA Chapter 11 Arbitration, Frédéric Bachand and Emmanuel Gaillard (Eds.), Juris Publishing New York, 2011, pp. 175-194
- Soft Law in International Arbitration - Codification and Normativity, Journal of International Dispute Settlement (JIDS) 2010, pp. 283-299
- Is Consistency a Myth? In IAI Series on International Arbitration nº 5, Precedent in International Arbitration, Yas Banifatemi (Ed.), Juris Publishing, 2008, pp. 137-147
- Arbitral Precedent: Dream, Necessity, or Excuse?, Freshfields Lecture 2006, Arbitration International 2007, p. 357


text:
Thank you Mr Chairman,
I represent the Royal National Institute of Blind People (RNIB), which works to serve the 2 million people with sight loss in UK.
As part of this work, RNIB has a library of some 40,000 books in audio, large print and Braille, which we distribute to reading disabled people.
Most accessible books are made by specialist organisations like ours, even in cases where publishers provide licenses or the source files. These specialist organisations have limited resources, and are very often charities.
It should be noted that we cannot even use all our funds to make accessible books! We provide many vital but costly services, such as emotional support and employment advice.
It is therefore vital that we can share books across borders, to pool our scant resources and make more books accessible.
However, such efforts are frustrated currently by the national nature of copyright exceptions for reading disabled people where these exist, and indeed the lack of such exceptions in two thirds of the world's countries.
For example, currently, books made available to reading disabled people in the USA are mainly not available to the UK's reading disabled population. Bookshare in the USA has some 40,000 books and only around 5,000 are available to its UK members. Bookshare endeavours to obtain licenses from publishers, but these are not always forthcoming and take time to arrive.
It therefore often uses the USA's copyright exception, the Chafee amendment, to make the works accessible. But that law does not permit those books to be shared with other English speaking countries. In the UK RNIB therefore has to transcribe the same books Bookshare makes, at great cost.
Imagine the waste of resources as several English speaking countries' specialist organisations such as RNIB all spend thousands of pounds, dollars and Euros making the same Harry Potter book available, to name but one title!
When RNIB in the UK first campaigned for a national exception to copyright law, rights holders opposed it on the grounds that it would undermine their businesses. Later, they softened their stance and now six years have passed since the exception became law. It has helped us to provide books to reading disabled people, and has not, despite the fears expressed back then, undermined rights holders' businesses.
Much can be done to improve the "book famine" faced by reading disabled people through our cooperation with rights holders, and by publishers themselves publishing more works in formats that reading disabled people can read.
But it cannot logically be argued that all books can be made accessible to all people at all times thanks to such co-operation. For the many cases where organisations like RNIB have to do the work ourselves, as we do now most of the time, the treaty proposed by Brazil, Ecuador and Paraguay would provide a minimum legal framework within which we can alleviate the book famine. As such it is a vital means of ensuring that reading disabled people can enjoy their right to read, and I urge all member states to support it.


text:
I-Play Launches Dr. Lynch: Grave Secrets Today
October 23, 2008
New Interactive Seek-And-Find Mystery Title By Award-Winning Game Designer Jane Jensen Available Now
I-play, the world's leading multi-platform casual games publishing company and a division of Oberon Media, today announced the launch Dr. Lynch: Grave Secrets at Casual Connect Kyiv 2008. Dr. Lynch: Grave Secrets is a hair-raising seek-and-find adventure game with challenging investigations and mind-boggling puzzles that has gamers examining suspicious characters in an effort to unveil another supernatural media hoax.
"Jane Jensen is a prolific storyteller and one of the foremost game designers in the industry," said Don Ryan, COO, Oberon Media, I-play's parent company. "With Dr. Lynch: Grave Secrets, Jane and the team have once again created a game with breathtaking scenes, interesting plot twists and thrilling discoveries all wrapped up in a suspicious secrecy that will have mystery buffs and adventure gamers puzzled for hours."
Created by the award-winning team of game designer Jane Jensen (Women's Murder Club: Death in Scarlet, Agatha Christie: Death on the Nile), Dr. Lynch: Grave Secrets is filled with curious characters, potentially paranormal activity and sordid secrets. The game is set in the beautiful English countryside, with gamers taking on the role of Dr. Lynch, a veteran psychologist who has dedicated his career to debunking the paranormal.
With 28 haunting locations and 14 challenging investigations, users can find hidden objects, solve puzzles and explore a village reluctant to give up the healthy tourism this "haunting" has delivered. Dr. Lynch: Grave Secrets is a bone-chilling adventure where myth, mystery and a healthy dose of skepticism converge. The game is available now for PC download at www.iplay.com, as well as other major casual games portals.


text:
Health Centers
Health Forums
Ask a Doctor
Sign Up
Email or Display Name
Remember Me
Forgot your password?
Medical Questions
Conditions and Diseases
Orthopedics Forum
hurts knee is stiff
Must Read
What is osteoporosis?
Think you might be experiencing bone loss? Check out this Intro to Osteoporosis and evaluate your risk for developing bone weakness. ...
Read more >>
Osteoporosis Causes and Risk Factors
Although bone mass loss is normal as we age, some people are more at risk of developing osteoporosis than others. Are you at risk? More here....
Read more >>
Osteoporosis Symptoms
Do you have severe back pain? Do your bones break frequently or with little pressure? You might be experiencing osteoporosis. Found out more here....
Read more >>
Conditions and Diseases
Hurts to sing
head hurts when shaken
Oral thrush--chest now hurts
Knee Hurts Sometimes - result of injury...
Ankle Pain - cracks with steps, hurts to...
Can an mri tell if I have a past injury?
Related Topics
Outer labia hurts during intercourse
pelvic area hurts
penis pee hole hurts
July 31st, 2008
I tripped and fell hard (falling forward) a week ago today. My left knee was INCREDIBLY hurt. Oddly enough, though, I've had NO swelling, bruising, or discoloration of any kind. It IS getting better (no, I wasn't seen at the doc).
The "pain" at first was such that I couldn't fully extend my knee straight, nor could I bend it. As of now, 7 days, I can walk on it, I can mostly straighten it out, and if I do so slowly, can ALMOST bend it fully (like if I bent down to pick up something off the floor). The pain which WAS mostly on the outer side of my knee, seems to now be more on the backside of my knee.
Is it a "good sign" that there's healing going on because the pain isn't as bad? It still feels very stiff. If I keep it straight, bending it hurts, and vice versa.
Well, that's it. I'm a busy mom, and student....who took a very hard fall with instant pain. I'm trying to "wait this out." It's "manageabe pain." So, I'm inclined to think it will improve with time. True? Advice anyone?
Never had knee issues before, by the way......
Did you find this post helpful?
You marked this post as helpful!
I changed my mind
bad knee
before the fall
Quick Reply
Sign up for FREE weekly health tips!
Do you live in Canada?
Sign up here.
Ask a doctor
Type your medical question here
Featured Experts
Shafi Ullah Khan
Internal Medicine
Suleman Muhammad
Cardiology, General and Family Medicine
eHealthPedia Articles
Bursitis Causes and Risk Factors
Bursitis Diagnosis
Bursitis Symptoms
Bursitis Treatment
Search eHealthForum for
Learn About Us
Contact Us
About Us
Advertise With Us
Privacy Policy
Cookie Policy
Terms of Use
Get Help
Ask a Doctor
Getting Started
Join In
Sign Up
Find People
Free Medical Forms
Community Guidelines
Do More
Become an Expert
Become a Partner
RSS Feeds
Thank you for the quick response to my medical question! It helped me greatly. - Jennifer
The site is not a replacement for professional medical opinion, examination, diagnosis or treatment. Always seek the advice of your medical doctor or other qualified health professional before starting any new treatment or making any changes to existing treatment. Do not delay seeking or disregard medical advice based on information written by any author on this site. No
health questions
and information on eHealth Forum is regulated or evaluated by the Food and Drug Administration and therefore the information should not be used to diagnose, treat, cure or prevent any disease without the supervision of a medical doctor. Posts made to these forums express the views and opinions of the author, and not the administrators, moderators, or editorial staff and hence eHealth Forum and its principals will accept no liabilities or responsibilities for the statements made.
Health Disclaimer
This page was last updated on Nov 21, 2017.
© 2017 eHealthForum.com


text:
Program helps Mass. veterans rejoin civilian life
GARDNER, Mass.—When military servicemen and women leave their duty, readjusting to civilian life can be difficult.
Even more daunting can be transitioning into a postsecondary educational setting, according to veterans Jason Catalano and Brian Laprise, co-presidents of the Veterans Group, a local chapter of the national Student Veterans Association at Mount Wachusett Community College.
At the college's Center of Excellence for Veteran Student Success, veterans are assisted in that transition, as well as given a haven to connect with other folks like themselves.
"It allows the veterans to have a place to go that's away from the normal academic life," said Catalano, 32, of Leominster, a second-year business student and U.S. Army veteran. "Most of the answers for anything school-related can be found here. I know personally it helps take away a lot of the stresses because as veterans, we're usually at a different place in our life than other students that are here, so it's nice to be around like-minded individuals that are in similar stages."
"I can't relate necessarily to the 18-, 19-, 20-year-old students fresh out of high school who haven't been the places I've been and seen the things that I've seen, and they don't really understand me and I can't really understand them," said Laprise, 32, of Gardner, a second-year criminal justice student and a U.S. Navy veteran.
The setting allows those who have already navigated the waters of the transition, such as Catalano and Laprise, to give guidance and support to newer veterans just coming in.
In addition to these aspects, the center also offers unlimited printing, smart pens, laptops, tablets and other technology for veterans to use, according to Kristine Larkin, assistant program director of the center, as well as a program to which current students can donate their books for future veterans to use.
The Center of Excellence for Veteran Student Success is only one of 15 nationwide, funded by a grant from the U.S. Department of Education. It serves 222 veteran students, a number that is expected to rise to 350 next year, Larkin said, with the return of those serving in Iraq and Afghanistan.
Catalano and Laprise are able to go to school through the Post-9/11 GI Bill, through which they also receive additional coverage for living expenses because they are registered as full-time students.
Up until last August, veterans who were going to school full time would receive the same amount for living expenses each month, whether the semester was in session or during school breaks.
Now, they say, the amount they get is prorated based on the days they spend in school -- if there is holiday or school break, which are beyond the veterans' control, they get less money for that month. Unless they take summer courses, they don't get their benefits during that time. Also, finals week doesn't count.
"We did what we were supposed to do and now we're not getting what we were promised," Laprise said.
Because of this change, they are facing uncertainty as to how much they get paid and when. Catalano says there have been delays of up to a month or two, which he believes is due to the number of veterans using the services and the U.S. Department of Veteran Affairs having to sort through the differing schedules of the various schools. He expects the situation to only get worse as more Iraq and Afghanistan veterans take advantage of the benefits.
"What allowed me to go to school was the initial program. I was able to say, `OK, this is how much I'm going to get a month, I can make school work for me and my family, without impacting us negatively, and get a degree.' If it was the way it is now, I would not be in school," Catalano said. "Going a month or two without pay, here and there, that's a big impact."
He worries the changes will dissuade future veterans from pursuing degrees and cause others to give up on programs they've already begun.
"There are a lot of us, myself included, that are thinking about leaving school now so that I can go and get a job and know that I can have a steady income, because I can't depend on this anymore. I can't live not knowing what I'm going to get paid," Laprise said.
Another issue is that if a veteran decides to drop out of school during the semester, the tuition is no longer covered by the benefits and the veteran becomes responsible for the cost.
During a roundtable discussion last week at MWCC, which included local state representatives and senators, as well as Lt. Gov. Timothy Murray and Commissioner of Education Richard Freeland, state officials were surprised to learn of this issue -- and the veterans say they were even more surprised to find out they had no idea about it.
Catalano, Laprise and Larkin all agree that awareness is key to bringing about change, and they hope if it can't be achieved on the national level, maybe something can be done first on the state level.
Larkin said helping veterans to obtain higher paying jobs would lead to more taxes for the state and create a "win-win situation if we all just work together."


text:
Separate names with a comma.
Discussion in 'Network: North' started by 93Chevy, Feb 18, 2011.
The appropriate treat for a day like today...
I have a Scag Cheetah, nice machine for sure. Fast, comfortable and cuts well. Not familiar with Grasshopper and no idea where the closest dealer is.
Posted via Mobile Device
We run 3 snapper pro 72".
Cutting dry grass this afternoon -- an event that has not happened in a long time.
I will be demoing a Gravely Prostance 61 next week. From the reviews I have seen here, I expect it to work very well. There are baggers available from grass gobbler and accelerator, but I don't know if your looking for ZTR or a walker, etc. The gravely Rep was able to to find me an elusive 61 prostance and it is being shipped to my dealer here for a demo. I will report back on it next week...
Ztr for sure. Im thinking of.buying a stander in a year or 2.
Posted via Mobile Device
I'm SO sick and effing tired of standing under trees waiting for the rain to slow down...
Posted via Mobile Device
1:20 pm: seeking shelter under a tree again.
Posted via Mobile Device
3:50 pm: waiting out the rain yet again. Yay.
Posted via Mobile Device
Did a landscape overhaul today, 6 shrubs, 1 tree and 6 yards of rubber mulch (@ $255 cost per yard no less).
Posted via Mobile Device


text:
America and Russia: An Historic Moment
War creates unexpected alliances, and in the war on terrorism none has been more surprising than the growing closeness between America and Russia. For the first time in our lives, a chance exists to forge deep strategic, economic, and cultural ties between these former enemies. President Bush and President Vladimir V. Putin should grab the opportunity when they meet for a summit on Nov. 12. A U.S.-Russian alliance is of such historic scope that it could shape world events beneficially for years to come. Indeed, the war on terrorism and a U.S.-Russian pact to fight it might well define much of the early 21st century.
The chances of a deal are good. Unlike his predecessors, Putin is not coming to Washington with a begging bowl, but with real assets. In America's battle with Islamic fundamentalists, Russia can offer geography, energy, and a willingness to fight terrorism. Its 11-time-zone land mass borders the Middle East and Central Asia. Oil output is second only to Saudi Arabia's, with huge reserves. Its KGB, which acted through the Stasi in East Germany (where Putin was stationed) to finance terrorism in the cold war, still retains good intelligence contacts. Russia has expertise in bioterrorism--with deep knowledge of anthrax. And it has for centuries battled Islamic expansionism on its southern flank.
Russia also holds the key to Bush's plan to ditch the Anti-Ballistic Missile Treaty and build a new missile-defense system. If the U.S. and Russia can agree to a sharp cut in the number of nuclear warheads each side holds, to 1,500, Putin will sign on. The Europeans have said they will follow suit. This would be a big win for Bush.
America also has plenty of chips to bring to the table. Putin desperately needs investment and technology to modernize his country's economy. The U.S. can offer this and more. It can help Russia get into the World Trade Organization, which would integrate it into the global economy and put pressure on Russian companies to drop their corrupt ways and adopt modern modes of operation.
A U.S.-Russian alliance would change global geopolitics. It would end the Chinese attempt to cozy up to Russia to bolster its power vis-à-vis America. It would elevate Russia's status to the U.S. as perhaps the most important country in Europe after Britain. It might even mean the eventual transformation of NATO from a military to a political organization that Russia would join.
Throughout its history, Russia has vacillated between East and West--torn between joining an open world system and retreating into continental isolationism, between Western democratic values and traditional authoritarianism. Even now, there are strong forces within Russia opposing Putin's rapprochement with the West. After the fall of communism, the U.S. and Russia stumbled badly in their efforts to find common ground. Now both countries have a second chance. Bush and Putin should seize it and make history.


text:
Nevada Senator Harry Reid issued the following statement after President Barack Obama nominated Thomas Perez to be the nation's next Labor Secretary. Perez currently serves as Assistant Attorney General for the Civil Rights Division of the U.S. Department of Justice:
"I applaud President Obama for nominating Thomas Perez to head the Labor Department. Perez has already showed his commitment to defending the American dream and upholding every American's civil liberties, and his professional background makes him qualified for a job vital to our economy and the growth of the middle class. He is pragmatic and a believer in consensus who works equally well with CEOs and labor leaders. But it is also his life story, growing up the son of immigrants in upstate New York, that has given him an understanding of the realities facing American families and how decisions made in Washington impact them.
"Mr. Perez is highly qualified and deserves a speedy confirmation. Few public servants have fought as hard to protect the rights and freedoms enshrined by the Constitution as Mr. Perez. I hope Senate Republicans will put partisanship aside and look at his record and values in an objective manner."
Source: http://www.reid.senate.gov/newsroom/pr_031813_reid_statement_on_nomination_of_thomas_perez_to_head_labor_department.cfm


text:
The Swiss Peasant
The Swiss Peasant by Caesar Malan.
A peasant woman was left in the ruins of the Swiss village of Baynes, after a flash flood ruined it. The destruction from the flood serves as a backdrop for the verse, Proverbs 10:29b, "Destruction shall come upon the workers of iniquity;" yet, 2 Peter 3:9, "he is not willing that any should perish, but that all should come to repentance." The woman recalled a visitor once who told her of Christ, but she maintained that salvation was by good works. Reverend Malan then related to her Jesus' gift of salvation by grace.
Coming soon!!