Skip to content

"join" and "size-window"  #110

@omidkhodatars

Description

@omidkhodatars

I tried to combine the two feature "join" and "size-window" but it failed .
the code can be compiled with the previous version of thingml but the result is not correct

(** The new version still not working properly ver ThingML 0.7.0.201606071315 org.thingml.eclipse.feature.feature.group SINTEF-9012)

import "datatype.thingml"   
thing HighTemperatureDetection {
    // auto-generated message definition
    message joinCEP (temp : float, pressure : float);
    message temperatureSensor (id : integer, temp : float);
    message temperatureSensorCEP (id : integer, temp : float, msg : string);
    message PressureSensor (id : integer, pressure : float);
    //auto-generated port definition

    internal port eventPort {
    sends  joinCEP, temperatureSensor, temperatureSensorCEP, PressureSensor

    receives  joinCEP, temperatureSensor, temperatureSensorCEP, PressureSensor
    }
    //find stream query
    stream joinStream @TTL "250"
    from res : [ t : eventPort?temperatureSensor ::buffer 1 by 1 
     & p : eventPort?PressureSensor ::buffer 1 by 1 
     -> joinCEP (t.temp, p.pressure) ] 
    select  var ntemp:float = res.temp, var npressure:float = res.pressure
    produce eventPort!joinCEP(ntemp, npressure)
    //auto-generated statechart-------------------------------
    statechart CEPstatechart init Base {      
        state Base {
              on entry do
              //input events simulation 
              eventPort!temperatureSensor(10 , 51)
              eventPort!PressureSensor(10 , 51)
              eventPort!temperatureSensor(11 , 52)
              eventPort!PressureSensor(10 , 52)
              eventPort!temperatureSensor(12 , 15)
              eventPort!PressureSensor(10 , 15)
              eventPort!temperatureSensor(13 , 53)
              eventPort!PressureSensor(10 , 53) 
              end

              internal event jcep: eventPort?joinCEP
                action do
                print 
                "generated join- temp :"+jcep.temp+", pressure : "+jcep.pressure  + "\n "

                end                     
        }   
    }


} // End of thing
//auto-generated configuration 
configuration HighTemperatureDetectionCfg 
    {   
    instance my_instance: HighTemperatureDetection
    //connector my_instance.receivePort => my_instance.sendPort 
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions