UNPKG

jsmf-check

Version:

Constraints language and verification for JSMF models

43 lines (34 loc) 1.48 kB
"use strict"; 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 }