jsmf-check
Version:
Constraints language and verification for JSMF models
43 lines (34 loc) • 1.48 kB
JavaScript
;
var JSMF = require('jsmf');
var SimplifiedUML = new JSMF.Model("SimplifiedUML");
var ModelElement = new JSMF.Class("ModelElement", undefined, {name: String});
var AssociationEnd = new JSMF.Class("AssociationEnd", ModelElement, {mult: Number});
var Association = new JSMF.Class("Association", ModelElement, {}, {
associationEnds: {type: AssociationEnd, cardinality: 2, opposite: 'association', composite: false}
});
var Class = new JSMF.Class("Class", ModelElement);
var Interface = new JSMF.Class("Interface", Class);
Class.setReference('implements', Interface, -1, 'isImplementedBy', false);
Class.setReference('dependsOn', Interface, -1);
Class.setReference('associationEnd', AssociationEnd, -1, 'class', false);
var MMI = new JSMF.Model("ClientServer");
var Client = JSMF.Class.newInstance("Client", Class);
var Server = JSMF.Class.newInstance("Server", Class);
var MMO = new JSMF.Model("ClientProxyServer");
var Proxy = JSMF.Class.newInstance("Proxy", Class);
SimplifiedUML.setModellingElements([ModelElement, Interface, Class, Association, AssociationEnd]);
MMI.setModellingElements([Client, Server]);
MMO.setModellingElements([Client, Proxy, Server]);
module.exports = {
SimplifiedUML: SimplifiedUML,
ModelElement: ModelElement,
Class: Class,
Interface: Interface,
Association: Association,
AssociationEnd: AssociationEnd,
MMI: MMI,
Client: Client,
Server: Server,
MMO: MMO,
Proxy: Proxy
}