A language for Internet of Things systems modeling in Melange

iot2

package fr.inria.diverse.iot

language Idl4Emf {
  syntax "/IDL/model/IDL.ecore"
  exactType Idl4EmfMT
}

language ActivityDiagram {
  syntax "/AD/model/ActivityDiagram.ecore"
  with org.xtext.activitydiagram.semantics.*
  exactType ActivityDiagramMT
}

language Lua {
  syntax "/Lua/model/Lua.ecore"
  with org.xtext.lua.semantics.*
  exactType LuaMT
}

// Assembling a new modeling language for internet
// of things systems modeling from an interface
// description language, an activity diagram, and 
// the Lua programming language
language IoT {
  syntax "/IoT/model/IoT.ecore"
  slice Idl4Emf on ["OperationDef", "PrimitiveDef"]
  merge Lua renaming { "lua" to "iot2" }
  merge ActivityDiagram renaming { "ad" to "iot2" }
  with fr.inria.diverse.iot2.OpaqueActionAspect
  with fr.inria.diverse.iot2.OperationDefAspect
  with fr.inria.diverse.iot2.ExpressionAspect
  exactType IoT2MT
}

The archive file containing the Eclipse workspace used for the case study can be downloaded here: SLE15.tar.gz.