aminePlatform.engines.synergy.interpreter
Class SynergyCGOperations

java.lang.Object
  extended byaminePlatform.util.cg.CGOperations
      extended byaminePlatform.engines.synergy.interpreter.SynergyCGOperations
All Implemented Interfaces:
AmineConstants, SynergyTypeConstants

public class SynergyCGOperations
extends CGOperations
implements SynergyTypeConstants

Title: SynergyCGOperations

Description: SynergyCGOperations extends CGOperations by overriding relations matching, to allow the matching (and especially maximalJoin of CG in the context of Synergy; with Synergy relations (in, out, grd, next)

Copyright: Copyright (c) Adil KABBAJ, 2004-2009


Field Summary
 
Fields inherited from class aminePlatform.util.cg.CGOperations
animation, bindContext, conceptsMatched, lexicon, relationsMatched, surfaceMatching
 
Fields inherited from interface aminePlatform.kernel.SynergyTypeConstants
ADD_IDENT, ADD_TYPE, AND_IDENT, AND_TYPE, ARITHMETIC_IDENT, ARITHMETIC_OPERS, ARITHMETIC_TYPE, ASSIGN_IDENT, ASSIGN_TYPE, BOOLEAN_IDENT, BOOLEAN_OPER_IDENT, BOOLEAN_OPER_TYPE, BOOLEAN_OPERS, BOOLEAN_TYPE, CG_IDENT, CG_TYPE, DATA_IDENT, DATA_TREATMENT, DATA_TYPE, DIF_IDENT, DIF_TYPE, DIV_IDENT, DIV_TYPE, DIVD_IDENT, EQUAL_IDENT, EQUAL_TYPE, FUNC_TYPE, FUNCTION_IDENT, GRD_IDENT, GRD_RELTYPE, GRD1_IDENT, GRD1_RELTYPE, GRTEQ_IDENT, GRTTHAN_IDENT, IN_IDENT, IN_OUT_IDENT, IN_OUT_OPERS, IN_OUT_TYPE, IN_RELTYPE, INF_IDENT, INF_TYPE, INFEQ_IDENT, INFEQ_TYPE, INT_IDENT, INT_TYPE, LAZY_IDENT, LAZY_TYPE, LESSEQ_IDENT, LESSTHAN_IDENT, LIST_IDENT, LIST_TYPE, MINUS_IDENT, MUL_IDENT, MUL_TYPE, MULT_IDENT, NEXT_IDENT, NEXT_RELTYPE, NOT_IDENT, NOT_TYPE, NOTEQ_IDENT, NOTEQ_TYPE, NOTEQL_IDENT, NUMBER_DATA, NUMBER_IDENT, NUMBER_TYPE, OBJECT_IDENT, OBJECT_TYPE, OPER_TYPE, OPERATION_IDENT, OR_IDENT, OR_TYPE, OUT_IDENT, OUT_RELTYPE, PLUS_IDENT, PRIMITIVE_FUNCTIONS, PROC_TYPE, PROCEDURE_IDENT, PROCESS_IDENT, PROCS_TYPE, READ_IDENT, READ_TYPE, REAL_IDENT, REAL_TYPE, RELATIONAL_IDENT, RELATIONAL_OPERS, RELATIONAL_TYPE, RELATIONS, SQRT_IDENT, SQRT_TYPE, STRING_IDENT, STRING_TYPE, SUB_IDENT, SUB_TYPE, SUP_IDENT, SUP_TYPE, SUPEQ_IDENT, SUPEQ_TYPE, SYN_REL_RELTYPE, SYN_TYP_RELTYPE, SYNERGY_DATA, SYNERGY_IDENTIFIERS, SYNERGY_OPERATIONS, SYNERGY_REL_IDENT, SYNERGY_TREATMENT, SYNERGY_TYPE_IDENT, TREATMENT_IDENT, TREATMENT_TYPE, TYPE_ARITHMETIC_OPERS, TYPE_BOOLEAN_OPERS, TYPE_IN_OUT_OPERS, TYPE_PRIMITIVE_FUNCTIONS, TYPE_RELATIONAL_OPERS, WRITE_IDENT, WRITE_TYPE
 
Fields inherited from interface aminePlatform.util.AmineConstants
ANALOGY, B_ASSIGN, B_DSPLY_WT_DELAY, B_DSPLY_WTT_DELAY, B_TRIGGER, B_WTT_DSPLY, BLOCK_BACKWARD_PROPAGATION, BLOCK_FORWARD_PROPAGATION, CANON, CGIF, CGRAPHIC, CHECK_PRECONDITIONS, COMPARE, COMPOSED_GOAL, CONCEPT_TYPE_IDENT, CONTEXT, COVERED_BY, CPLTE_CONTRACT, DEFINITION, EQ_OR_MORE_SPCFQ, EQUAL, EXPAND, FALSE_FOCUS_LIST, FUNCTIONAL, GENERALISE, GENERALIZE, HAVE_AN_INTERSECTION, ID_ADD, ID_DIV, ID_EQ, ID_INF, ID_IS, ID_MESSAGE, ID_MUL, ID_NOT, ID_NULL, ID_OPER_AND, ID_OPER_OR, ID_SUB, ID_SUP, IN_ACTIVATION, IN_MODE, IN_MODE2, INDIVIDUAL, INDIVIDUAL_IDENT, INTEGRATED, IS_CANONIC, KEY_GLOBAL_RULE, LC_ADD, LC_AMINE_BOOLEAN, LC_AMINE_DOUBLE, LC_AMINE_INTEGER, LC_AND, LC_BOOLEAN, LC_CG, LC_CLOSE_BRKT, LC_CLOSE_PARENT, LC_CLOSE_SET, LC_COMMA, LC_COMMA_SEMI, LC_CONCEPT, LC_CONSTRUCTOR, LC_CS, LC_CUT, LC_DIFF, LC_DIV, LC_DOUBLE, LC_DSBL_BKWRD_PRPGTN, LC_DSBL_FRWRD_PRPGTN, LC_EOF, LC_EQ, LC_FOUR_POINTS, LC_IDENTIFIER, LC_IF, LC_INF, LC_INTEGER, LC_INTEROG, LC_IS, LC_JAVA_OBJECT, LC_LEFT_ARROW, LC_LIST, LC_NULL, LC_OPEN_BRKT, LC_OPEN_PARENT, LC_OPEN_SET, LC_OPER_AND, LC_OPER_OR, LC_POINT, LC_RELATION, LC_RGHT_ARROW, LC_SEMI_COMMA, LC_SET, LC_STAR, LC_STATE, LC_STRING, LC_SUB, LC_SUP, LC_TERM, LC_TWO_POINTS, LC_VAR_LIST_CONSTRUCTOR, LC_VARIABLE, LF, MAXIMAL_JOIN, MORE_GENERAL, MORE_SPECIFIC, NOTHING_TO_INTEGRATE, OPERS_WITH_RSLT, OUT_MODE, OUT_MODE2, PARTIAL_CONTRACT, PARTIAL_SUBSUME, PRJCT_OPERS, PROJECT, READ, READ_SENTENCE, RELATION_TYPE_IDENT, S_AND, S_BOOLEAN, S_CG, S_CLOSE_BRKT, S_CLOSE_PARENT, S_CLOSE_SET, S_COMMA, S_CONCEPT, S_CONSTRUCTOR, S_CUT, S_DIFF, S_DOUBLE, S_EOF, S_EQUAL, S_EXPAND, S_FALSE, S_FOUR_POINTS, S_GENERALISE, S_GENERALIZE, S_IDENTIFIER, S_IF, S_INTEGER, S_INTEROG, S_IS, S_IS_CANONIC, S_LEFT_ARROW, S_LIST, S_MAXIMAL_JOIN, S_OPEN_BRKT, S_OPEN_PARENT, S_OPEN_SET, S_POINT, S_RGHT_ARROW, S_SEMI_COMMA, S_SOURCE, S_SPECIALIZE, S_STATE, S_STRING, S_SUBSUME, S_SUBSUME_WITH_RESULT, S_SUPER, S_TARGET, S_TERM, S_THIS, S_TRUE, S_TWO_POINTS, S_UNIFY, S_VARIABLE, SITUATION, SPECIALIZE, STEADY, SUBSUME, SUBSUME_WITH_RSLT, TRIGGER, UNCOMPARABLE, UNIFY, VAR_SUPER, WAIT_ASSIGNMENT, WAIT_END_OF_ASSIGNMENT, WAIT_PRECONDITIONS, WAIT_VALUE
 
Constructor Summary
SynergyCGOperations()
           
SynergyCGOperations(BindingContext bindContext)
           
SynergyCGOperations(BindingContext bindContext, boolean coerce, boolean relaxType)
           
 
Method Summary
protected  boolean matchRelations(byte matchOperation, java.lang.Object[] relations1, java.lang.Object bindInf1, java.lang.Object[] relations2, java.lang.Object bindInf2, boolean areIncomeRelations)
          scan the list relations1 for all the relations that are not matched already (by looking at relationsMatched) and search corresponding relations in relations2 to match them.
 
Methods inherited from class aminePlatform.util.cg.CGOperations
analogy, analogy, analogy, animateConcept, animateRelation, bagInclusion, clearCorefMatchL, compare, compareCG, completeContract, completeContract, contractTypeDefinition, contractTypeDefinition, contractTypeDefinition, contractTypeDefinition, contractTypeDefinition, copyWithMapping, coveredBy, coveredBy, coveredBy, eqMatchConc, equal, equal, equal, expand, expand, finalize, generalise, generalise, generalise, generalize, generalize, generalize, generalize, getCoerceDesignator, getConceptsMatched, getCorefMatchL, getLexicon, getMatchedConcept1, getMatchedConcept2, getOntology, getRelaxType, isCanonic, isInDescr, match, match, matchConcept, maximalJoin, maximalJoin, maximalJoin, minimalGeneralize, nameOfOper, operInByte, partialContract, partialContract, project, project, setCoerceDesignator, setCorefMatchL, setLexicon, setOntology, setRelaxType, sleep, specialize, specialize, specialize, specializeByExpansion, specializeByExpansion, stopAnimation, subsume, subsume, subsume, subsumeWithResult, subsumeWithResult, subsumeWithResult, surfaceGeneralize, unify, unify
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynergyCGOperations

public SynergyCGOperations()

SynergyCGOperations

public SynergyCGOperations(BindingContext bindContext)

SynergyCGOperations

public SynergyCGOperations(BindingContext bindContext,
                           boolean coerce,
                           boolean relaxType)
Method Detail

matchRelations

protected boolean matchRelations(byte matchOperation,
                                 java.lang.Object[] relations1,
                                 java.lang.Object bindInf1,
                                 java.lang.Object[] relations2,
                                 java.lang.Object bindInf2,
                                 boolean areIncomeRelations)
scan the list relations1 for all the relations that are not matched already (by looking at relationsMatched) and search corresponding relations in relations2 to match them. Note : Since we consider only functional CG we assume that if two relations have the same relation type, then they should match, except for GENERALIZE.

Overrides:
matchRelations in class CGOperations