public void addTime(double time)
 {
     Trigger trigger = new Trigger("time");
     TimeEvent te = new TimeEvent("time");
     LiteralReal lValue = new LiteralReal(time);
     te.When = lValue;
     trigger.MEvent = te;
     eventQueue.Add(trigger);
     restart();
 }
Example #2
0
        public void addTimeEvent(XElement timeNode, Package pkg)
        {
            string type;

            type = timeNode.Attribute("{http://schema.omg.org/spec/XMI/2.1}type").Value;
            if (type == null) type = timeNode.Attribute("{http://www.omg.org/spec/XMI/20131001}type").Value;

            if (type != "uml:TimeEvent")
            {
                return;
            }

            string id = timeNode.Attribute("id").Value;

            TimeEvent timeEvent = new TimeEvent(id);

            XElement when = timeNode.Element("when");
            if (when != null && when.Element("expr") != null)
            {
                string timeExp = when.Element("expr").Attribute("value").Value;
                LiteralReal time = new LiteralReal(timeExp);
                timeEvent.When = time;
            }
            /* add in package*/
            _events.Add(id, timeEvent);
        }