Created
January 16, 2015 09:47
-
-
Save maxleiko/a8a1754b78a14ed596f2 to your computer and use it in GitHub Desktop.
Kevoree MM v6 proposal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//KMF_VERSION=4.8.1 | |
//VERSION=6.0.0-SNAPSHOT | |
class org.kevoree.Model { | |
@contained | |
nodes : org.kevoree.Node[0,*] | |
@contained | |
channels : org.kevoree.Channel[0,*] | |
@contained | |
groups : org.kevoree.Group[0,*] | |
@contained | |
namespaces : org.kevoree.Namespace[0,*] | |
} | |
class org.kevoree.Node : org.kevoree.Instance { | |
@contained | |
components : org.kevoree.Component[0,*] | |
@contained | |
networks : org.kevoree.NetworkInfo[0,*] | |
subNodes : org.kevoree.Node[0,*] oppositeOf host | |
host : org.kevoree.Node oppositeOf subNodes | |
groups : org.kevoree.Group[0,*] oppositeOf nodes | |
} | |
class org.kevoree.Component : org.kevoree.Instance { | |
@contained | |
inputs : org.kevoree.Port[0,*] | |
@contained | |
outputs : org.kevoree.Port[0,*] | |
} | |
class org.kevoree.Group : org.kevoree.Instance { | |
nodes : org.kevoree.Node[0,*] oppositeOf groups | |
} | |
class org.kevoree.Channel : org.kevoree.Instance { | |
ports : org.kevoree.Port[0,*] oppositeOf channels | |
} | |
class org.kevoree.Namespace : org.kevoree.NamedElement { | |
@contained | |
typeDefinitions : org.kevoree.TypeDefinition[0,*] | |
} | |
class org.kevoree.PortType : org.kevoree.NamedElement {} | |
class org.kevoree.TypeDefinition : org.kevoree.NamedElement { | |
@id | |
version : String | |
@contained | |
dictionaryType : org.kevoree.DictionaryType | |
@contained | |
metaData : org.kevoree.Value[0,*] | |
abstract : Bool | |
deployUnits : org.kevoree.DeployUnit[0,*] | |
superTypes : org.kevoree.TypeDefinition[0,*] | |
} | |
class org.kevoree.ComponentType : org.kevoree.TypeDefinition { | |
@contained | |
inputs : org.kevoree.PortType[0,*] | |
@contained | |
outputs : org.kevoree.PortType[0,*] | |
} | |
class org.kevoree.GroupType : org.kevoree.TypeDefinition {} | |
class org.kevoree.NodeType : org.kevoree.TypeDefinition {} | |
class org.kevoree.ChannelType : org.kevoree.TypeDefinition {} | |
class org.kevoree.Port : org.kevoree.NamedElement { | |
channels : org.kevoree.Channel[0,*] oppositeOf ports | |
} | |
class org.kevoree.Dictionary { | |
@contained | |
values : org.kevoree.Value[0,*] | |
} | |
class org.kevoree.FragmentDictionary : org.kevoree.Dictionary,org.kevoree.NamedElement {} | |
class org.kevoree.Value : org.kevoree.NamedElement { | |
value : String | |
} | |
class org.kevoree.DictionaryType { | |
@contained | |
attributes : org.kevoree.DictionaryAttribute[0,*] | |
} | |
enum org.kevoree.DataType { | |
Byte | |
Short | |
Int | |
Long | |
Float | |
Double | |
Boolean | |
Char | |
String | |
} | |
class org.kevoree.DictionaryAttribute : org.kevoree.TypedElement { | |
optional : Bool | |
datatype : org.kevoree.DataType | |
fragmentDependant : Bool | |
defaultValue : String | |
} | |
class org.kevoree.TypedElement : org.kevoree.NamedElement { | |
genericTypes : org.kevoree.TypedElement[0,*] | |
} | |
class org.kevoree.DeployUnit : org.kevoree.NamedElement { | |
@id | |
version : String | |
@id | |
hashcode : String | |
@contained | |
filters : org.kevoree.Value[0,*] | |
url : String | |
requiredLibs : org.kevoree.DeployUnit[0,*] | |
} | |
class org.kevoree.NamedElement { | |
@id | |
name : String | |
} | |
class org.kevoree.NetworkInfo : org.kevoree.NamedElement { | |
@contained | |
values : org.kevoree.Value[0,*] | |
} | |
class org.kevoree.Instance : org.kevoree.NamedElement { | |
@contained | |
dictionary : org.kevoree.Dictionary | |
@contained | |
fragmentDictionary : org.kevoree.FragmentDictionary[0,*] | |
@contained | |
metaData : org.kevoree.Value[0,*] | |
started : Bool | |
typeDefinition : org.kevoree.TypeDefinition | |
} |
There is minor change for the new .file i will do it next week :-)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add meta-data for groups so that tools such as the editor can have a guess on what protocol to use to communicate with them.
Something like the platform meta-data "javascript", "node", etc.. but with "ws", "tcp", "udp", "webrtc", etc..