All Downloads are FREE. Search and download functionalities are using the official Maven repository.

templates.timeinterval.xml Maven / Gradle / Ivy

The newest version!
@@@program xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"@@@
 @@@repeat id="tis"@@@
	@@@saveto@@@
		@@@file overwrite="yes"@@@
			@@@v@@@output@@@/v@@@/phat/agents/automaton/timeIntervals/@@@v@@@tisName@@@/v@@@TIA.java@@@/file@@@
@@@text@@@
package phat.agents.automaton.timeIntervals;

import phat.agents.automaton.FSM;
import phat.agents.automaton.*;
import phat.agents.automaton.activities.*;
import phat.agents.automaton.conditions.*;
import phat.agents.automaton.tasks.seq.*;
import phat.agents.automaton.TimeIntervalAutomaton;
import phat.agents.automaton.Transition;
import phat.agents.Agent;
import phat.PHATInterface;

public class @@@v@@@tisName@@@/v@@@TIA extends TimeIntervalAutomaton {

    public @@@v@@@tisName@@@/v@@@TIA(Agent agent, String name) {
        super(agent, name);
        setMetadata("SOCIAALML_ENTITY_ID", "@@@v@@@tisName@@@/v@@@");
        setMetadata("SOCIAALML_ENTITY_TYPE", "@@@v@@@tisType@@@/v@@@");
        //setMetadata("SOCIAALML_ENTITY_TYPE", "@@@v@@@tisDesc@@@/v@@@");
    }
	
	@Override
	public void initSubAutomaton() {
		FSM fsm = new FSM(agent, 1,"FSM-@@@v@@@tisName@@@/v@@@TIA");
		@@@repeat id="activities"@@@ActivityAutomaton @@@v@@@actName@@@/v@@@Activity = new @@@v@@@actName@@@/v@@@Activity(agent, "@@@v@@@actName@@@/v@@@");
		@@@/repeat@@@
                @@@repeat id="params"@@@@@@v@@@actName@@@/v@@@Activity.setMetadata("@@@v@@@varName@@@/v@@@", "@@@v@@@value@@@/v@@@");
		@@@/repeat@@@
                @@@repeat id="conditions"@@@AutomatonCondition @@@v@@@condId@@@/v@@@ = @@@v@@@condInst@@@/v@@@;
                @@@/repeat@@@
    	@@@repeat id="firstActivity"@@@fsm.registerStartState(@@@v@@@actName@@@/v@@@Activity);
    	@@@/repeat@@@
        @@@repeat id="regCondTrans"@@@
        {
            @@@repeat id="regTrueTrans"@@@            
            Transition @@@v@@@actSource@@@/v@@@To@@@v@@@actTarget@@@/v@@@Transition = 
    			new Transition(@@@v@@@condInst@@@/v@@@, @@@v@@@actTarget@@@/v@@@Activity);    	    	
            fsm.registerTransition(@@@v@@@actSource@@@/v@@@Activity, @@@v@@@actSource@@@/v@@@To@@@v@@@actTarget@@@/v@@@Transition);@@@/repeat@@@
            @@@repeat id="regFalseTrans"@@@            
            Transition @@@v@@@actSource@@@/v@@@To@@@v@@@actTarget@@@/v@@@Transition = 
    			new Transition(new NegateCondition(c), @@@v@@@actTarget@@@/v@@@Activity);    	    	
            fsm.registerTransition(@@@v@@@actSource@@@/v@@@Activity, @@@v@@@actSource@@@/v@@@To@@@v@@@actTarget@@@/v@@@Transition);@@@/repeat@@@
        }@@@/repeat@@@
    	@@@repeat id="regTrans"@@@fsm.registerTransition(@@@v@@@actSource@@@/v@@@Activity, @@@v@@@actTarget@@@/v@@@Activity);
    	@@@/repeat@@@
        @@@repeat id="regLastActivityRep"@@@
        fsm.registerFinalState(@@@v@@@finalActivity@@@/v@@@Activity);@@@/repeat@@@
    	// DoNothing due to no activity defined
    	@@@repeat id="noActivities"@@@Automaton doNothing = new DoNothing(agent, "DoNothing due to no activity defined");
    	doNothing.setFinishCondition(new TimerFinishedCondition(0, 0, 1));
    	fsm.registerStartState(doNothing);
    	fsm.registerFinalState(doNothing);@@@/repeat@@@
    	
    	addTransition(fsm, true);
	}
        @@@repeat id="setDefaultState"@@@
        public Automaton getDefaultState(PHATInterface phatInterface) {
            return new @@@v@@@defState@@@/v@@@Task(agent, "@@@v@@@defState@@@/v@@@");
        }@@@/repeat@@@
}
@@@/text@@@
	@@@/saveto@@@
	@@@/repeat@@@   
@@@/program@@@




© 2015 - 2025 Weber Informatics LLC | Privacy Policy