Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-5227

FIWARE.Question.Tech.Data.CEP.CEP's sequence detection‏

    Details

    • Type: Monitor
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:

      Description

      Created question in FIWARE Q/A platform on 02-09-2015 at 14:09
      Please, ANSWER this question AT http://stackoverflow.com/questions/32353269/ceps-sequence-detection

      Question:
      CEP's sequence detection‏

      Description:
      In developing for Fiware's Proton CEP, I came across an issue with Sequence event detection. I'll take advantage of DoSAttack example project, that comes with the software, to explain the issue.

      I make two main changes to an original copy of DoSAttack:

      -One is to make ExpectedCrash event have 3 more variables. This way I can log to DoSAttackTRConsumer file the 3 values that triggered it.

      -Then I also change the Cardinality Policy of the Agent from Single to Unrestricted. This way the event can be triggered several times in a row, as TrafficReports come in (this may be a source to the issue).

      I test this result and I find it works ok. I can see in the log that the values that trigger detection are the sequence of 3 values that arrived just before the event, after the first three events have arrived.
      This, taking into account that the test beeing made on those 3 values still remains the original example test: (TR3.volume>1.50* TR2.volume AND TR2.volume>1.50 * TR1.volume).

      The issue arrises if I make the test be just (TR3.volume>1.50* TR2.volume), for example, then CEP doesn't hold TR1 correctly. Now TR1 is the same as TR2, so cep loses "memory" of this value.
      Going a step further, I make the test, just the condition (3>2) which is always true and should trigger a detection on any event that arrives. In this case, as events arrive, all TR1, TR2 and TR3 are the same and CEP has no memory of past values, even though the agent is of Type: Sequence.

      The desired application would be for the CEP to recieve 22 readings as a sequence of input events and analyse only the 1st, 8th, 15th and 22nd values of this sequence, at each value that enters. But I find I can't make CEP remember the values correctly unless I'm testing all of them explicitly in the Condition view-box.

      What would be the correct way to analyse the 1st, 8th, 15th and 22nd values that arrived, evaluating each time a new one arrives?

      Here is the specificatin of DoSAttack, after altering it:

      {"epn":{"events":[{"name":"TrafficReport","attributes":[

      {"name":"volume","type":"Integer","dimension":0}

      ]},{"name":"ExpectedCrash","attributes":[

      {"name":"Cost","type":"Double","dimension":0}

      ,

      {"name":"TR1","type":"Integer","dimension":"0"}

      ,

      {"name":"TR2","type":"Integer","dimension":"0"}

      ,

      {"name":"TR3","type":"Integer","dimension":"0"}

      ]}],"epas":[{"name":"IncreasingTraffic","epaType":"Sequence","context":"3MinAfterStartUp","inputEvents":[

      {"name":"TrafficReport","alias":"TR1","consumptionPolicy":"Consume","instanceSelectionPolicy":"First"}

      ,

      {"name":"TrafficReport","alias":"TR2","consumptionPolicy":"Consume","instanceSelectionPolicy":"First"}

      ,

      {"name":"TrafficReport","alias":"TR3","consumptionPolicy":"Consume","instanceSelectionPolicy":"First"}

      ],"computedVariables":[],"assertion":"3>2","evaluationPolicy":"Immediate","cardinalityPolicy":"Unrestricted","internalSegmentation":[],"derivedEvents":[{"name":"ExpectedCrash","reportParticipants":false,"expressions":{"Cost":"10","TR1":"TR1.volume","TR2":"TR2.volume","TR3":"TR3.volume"}}],"derivedActions":[]}],"contexts":{"temporal":[{"name":"3MinAfterStartUp","type":"TemporalInterval","atStartup":true,"neverEnding":false,"initiators":[],"terminators":[

      {"terminatorType":"RelativeTime","terminationType":"Terminate","relativeTime":"180000"}

      ]}],"segmentation":[],"composite":[]},"consumers":[{"name":"SysTemCrashConsumer","type":"File","properties":[

      {"name":"filename","value":"/opt/tomcat10/sample/DoSAttack_PredictedCrash.txt"}

      ,

      {"name":"formatter","value":"json"}

      ,

      {"name":"delimiter","value":";"}

      ,

      {"name":"tagDataSeparator","value":"="}

      ,

      {"name":"SendingDelay","value":"1000"}

      ],"events":[

      {"name":"ExpectedCrash"}

      ],"actions":[]},{"name":"DoSAttackTRConsumer","type":"File","properties":[

      {"name":"filename","value":"/opt/tomcat10/sample/DoSAttack_TrafficReport.txt"}

      ,

      {"name":"formatter","value":"json"}

      ,

      {"name":"delimiter","value":";"}

      ,

      {"name":"tagDataSeparator","value":"="}

      ,

      {"name":"SendingDelay","value":"1000"}

      ],"events":[

      {"name":"TrafficReport"}

      ],"actions":[]}],"producers":[{"name":"TrafficReportFileProducer","type":"File","properties":[

      {"name":"filename","value":"/opt/tomcat10/sample/DoSAttackScenarioJSON.txt"}

      ,

      {"name":"pollingInterval","value":"1000"}

      ,

      {"name":"sendingDelay","value":"1500"}

      ,

      {"name":"formatter","value":"json"}

      ,

      {"name":"delimiter","value":";"}

      ,

      {"name":"tagDataSeparator","value":"="}

      ],"events":[]}],"actions":[],"name":"DoSAttack"}}

      The producer file, DoSAttackScenarioJSON.txt, is still the original one, unaltered:

      {"Name":"TrafficReport", "volume":"1000"} {"Name":"TrafficReport", "volume":"1600"} {"Name":"TrafficReport", "volume":"2500"}

      If you do include more values than 3 you can see that the issue propagates.

      If you need more information let me know.

      Thank you

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        2h 59m 1 Backlog Manager 10/Nov/15 3:04 AM
        In Progress In Progress Answered Answered
        2h 59m 1 Backlog Manager 10/Nov/15 6:04 AM
        Answered Answered Closed Closed
        10h 14m 1 Manuel Escriche 10/Nov/15 4:18 PM
        fla Fernando Lopez made changes -
        Fix Version/s 2021 [ 12600 ]
        mev Manuel Escriche made changes -
        HD-Enabler CEP [ 10869 ]
        HD-Chapter Data [ 10838 ]
        mev Manuel Escriche made changes -
        Summary FIWARE.Question.Tech.CEP's sequence detection‏ FIWARE.Question.Tech.Data.CEP.CEP's sequence detection‏
        mev Manuel Escriche made changes -
        Summary [fiware-stackoverflow] CEP's sequence detection‏ FIWARE.Question.Tech.CEP's sequence detection‏
        mev Manuel Escriche made changes -
        Assignee Tali Yatzkar Haham [ tali ]
        mev Manuel Escriche made changes -
        Resolution Done [ 10000 ]
        Status Answered [ 10104 ] Closed [ 6 ]
        Hide
        backlogmanager Backlog Manager added a comment -

        2015-11-10 06:05|UPDATED status: transition Answered| # answers= 1, accepted answer= True

        Show
        backlogmanager Backlog Manager added a comment - 2015-11-10 06:05|UPDATED status: transition Answered| # answers= 1, accepted answer= True
        backlogmanager Backlog Manager made changes -
        Status In Progress [ 3 ] Answered [ 10104 ]
        Hide
        backlogmanager Backlog Manager added a comment -

        2015-11-10 03:05|UPDATED status: transition Answer| # answers= 1, accepted answer= True

        Show
        backlogmanager Backlog Manager added a comment - 2015-11-10 03:05|UPDATED status: transition Answer| # answers= 1, accepted answer= True
        backlogmanager Backlog Manager made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        backlogmanager Backlog Manager made changes -
        Field Original Value New Value
        Component/s FIWARE-TECH-HELP [ 10278 ]
        Hide
        backlogmanager Backlog Manager added a comment -

        2015-11-10 00:05|CREATED monitor | # answers= 1, accepted answer= True

        Show
        backlogmanager Backlog Manager added a comment - 2015-11-10 00:05|CREATED monitor | # answers= 1, accepted answer= True
        backlogmanager Backlog Manager created issue -

          People

          • Assignee:
            TALI Fabiana Fournier
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: