ALE

Action Language for EMF

Action Language for EMF

ALE is a language to make Ecore metamodels executable. Concretely, ALE allows to “re-open” the EClasses from Ecore metamodels to implement existing EOperations and weave new features or new operations.

Main features of ALE include:

Breathe life into your metamodels!

ALE make it easy to address a wide range of activities related to model elements manipulation. This includes activities such as:

Open-class mechanism

behavior fsm.dummy.implementation;

open class FSM {

	State currentState;
	String currentEvent;

	override void execute(EList<String> events) {
		'Start'.log();
		self.currentState := self.initialState;
		for(event in events) {
			self.currentState.execute();
			self.currentState := 
				self.currentState.transitions
					->select(t | t.event = self.currentEvent)
					->first();
		}
		'End'.log();
	}

}