miUML Metamodel Class Subsystems Interface / mint.miUMLmeta.td.10
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
View only
 
 
Still loading...
ABCDEFGHIJKLMNOPQRST
1
Call (organized by subsystem)Parameters & examples (see also comments in code)Return ValueDescriptionStatusRequested byReply to requestComments / Issues
2
[ ] = may be omitted, x | y = choose x or yYour nameMy responseAny comments or issues you may have with requested or existing features
3
Class
4
UI_new_classname, alias, subsys, domain, [cnum], [id name], [id type]
ex: 'Dog', 'D', 'Main', 'Application'
ex: 'Dog Owner', 'DO', 'Main', 'Application', 27, 'Name', 'Name'
cnumCreates a new Class. Since a Class requires at least one Identifier, one must be created with the Class. If an Identifier Attribute name and Type are supplied, they will be used. If either or both values are not specified, system defaults will be used. Ordinarily, each new Class is automatically numbered within its Subsystem's numbering range. The user may optionally supply a desired number. If this number is not already in use, or outside the Subsystem numbering range, it will be applied to the new Class.
Tested OK
5
UI_set_classname, domain, [new name], [new alias], [new cnum]noneChanges the value of a Class's name, alias and cnum depending on values provided.Tested OK
6
UI_delete_classclass, domain, [force]noneRemoves an existing Class. If force is false, this command fails if the Class participates in any Relationships. If true, the Relationships will be deleted also.
Tested OK
7
Identifier
8
UI_add_attr_to_idattr, class, domain, [id number]id numberAdds an Attribute to an Identifier in the same Class. If the Identifier is referenced by any other Class, a corresponding Referential Attribute is added to each Reference. If specified, the ID number must already exist. If it is not specified, a new Identifier will be created with the next higher sequence number. ID numbers are always ordered, 1..n with no gaps in the sequence and there must always be a primary ID (numbered 1).Tested OK
9
UI_remove_attr_from_idattr, class, domain, id numbernoneRemoves an Attribute from an Identifier and the Identifier as well if this was the last component Attribute. Fails on a single attribute identifier (SAI) when there is no other Identifier in the Class. When an Identifier is deleted, the remaining Identifier numbers are resequenced.Tested OK
10
UI_delete_idid number, class, domainnoneDeletes an Identifier (and all of its Identifier Attributes). Fails if this is the only Identifier in a Class.Tested OK
11
Attribute
12
UI_new_ind_attrname, class, domain, typenoneCreates a new Independent Attribute (not derived or referential) in the specified Class.Tested OK
13
UI_set_attr_nameold name, class, domain, new namenoneChanges the name of an existing Attribute.Tested OK
14
UI_delete_attrattr, class, domainnoneRemoves an existing Attribute. (SAI/MAI = Single/Multiple Attribute Identifier)

Fails under the following conditions

Attribute is an SAI and the only Identifier of the Class.

Attribute is an SAI, not the only Identifier of the Class and participates in a Referential Role (as the To side).

If the Attribute is part of an MAI and participates in a Referential Role, the Referential Role will be deleted, leaving its Relationship intact, But the Referential Attribute on the from side will be deleted. If that Referential Attribute is itself an Identifier Attribute, then it too may be deleted subject to the fail conditions above. If any Referential Attribute meets those conditions and cannot be deleted, the entire transaction will fail.
Tested OK
15
UI_set_native_attr_typeattr, class, domain, typenoneChanges the data type (Constrained Type) of a Native (non-referential) Attribute.Tested OK
16
Relationship
17
UI_new_binary_assocactive class, passive class, subsys, domain, [rnum], [formalizing perspective:'P'], [active mult:'1'], [active cond:false], [active phrase:'phrase'], [passive mult:'1'], [passive cond:false], [passive phrase:'phrase'], [assoc class], [*assoc alias]

* If the assoc class does not yet exist, an alias must be supplied.

ex: 'Aircraft', 'On Duty Pilot', 'Aviation', 'Flight Management', NULL, NULL, '1', false, 'is flying', '1', true, 'is being flown by'

ex: 'Student', 'Course', 'Course Management', 'School', 307, NULL, 'M', true, 'is taking', 'M', true, 'is being taken by', 'Registration', 'REG'
rnumCreate a new Binary Association. If an Association Class is specified it will be used to formalize the Association. If the Association Class does not exist, it will be created. If it must be created, then there must be an alias provided. Returns the assigned Relationship Number.
Tested OK
18
UI_new_unary_assocclass, subsys, domain, [rnum], [mult], [cond], [phrase], [assoc class], [assoc alias]

ex: select UI_new_unary_assoc(
'Territory', 'Main', 'App', NULL,
'M', false, 'borders',
'Border', 'BORD'
);

The Association Class, Border, does not previously exist, so its alias 'BORD' must be supplied.
rnumCreate a new Unary Association. If an Association Class is specified, it will be used to formalize the Association. If the Association Class does not exist, it will be created. If it must be created, then there must be an alias provided.

If the multiplicity is Mx an Association Class must be specified.

All Unary Associations are reflexive and thus apply to only one Class. But not all reflexive associations are Unary. A binary reflexive defines two Perspectives. This refexive example is NOT unary since the roles are different on each side of the Association.

Employee <-1--works for - hires--c->> Employee : Binary Association

Now here is a Unary Association example:

Territory <<--borders-/Border : Unary Association (with Association Class)

A Territory (in the game of Risk) must be adjacent to one or more other Territories. It is Unary since there is only one Symmetric Perspective, many unconditional.
Tested OK
19
UI_new_generalizationsuperclass, superclass alias, {subclasses}:array, {subclass aliases}:array, subsys, domain, [rnum]

ex: UI_new_generalization(
'Connector', NULL, array[ 'Valve', 'Pump' ], array[ 'V', 'P' ], 'Main', 'App'
);
In the above example, the Connector class already exists, so no superclass alias is provided. Two new Classes will be created for the Subclasses, so their aliases are required.
rnumCreates a new Generalization. A new Class will be created for each supplied name that does not match an existing Class. An alias must be supplied for each Class that does not already exist. Any alias provided for an existing class will be ignored.

Any newly created Superclass will be assigned the system default identifier attribute.

Any newly created Suclass will be created with a Reference to the Superclass which will also play the role as a Required Referential ID. An existing Subclass will take on a Required Referential ID in addition to its other Identifiers.

Example Usage where superclass exists already, and 2 of three subclasses are new:

rnum = UI_new_generalization( 'Fruit', NULL, array[ 'Apple', 'Pear', 'Melon' ],
array[ 'A', NULL, 'M' ], NULL, 'Main', 'Nutrition' )

Since the 'Pear' subclass already exists, no alias is provided. There must always be the same number of elements in the name and alias arrays.
Tested OK
20
UI_delete_relationshiprnum, domainnoneDeletes a Relationship, removing each supporting Reference. If a Formalizing Class would be left without any ID Attributes a new default ID will be inserted in the Formalizing Class. If any Referential Attribute formalizing the Relationship to be deleted is itself referenced in some other Relationship, the Referential Attribute will be converted to an Independent Attribute with the same Name and Type.Tested OK
21
UI_set_rnumnoneIn Progress
22
UI_set_phrasenew phrase, rnum, 'A' | 'P' | 'S' , domainnoneChanges the phrase text on the specified side of an Association.Tested OK
23
UI_set_multrnum, 'A' | 'P' | 'S', domain, [new mult], [new cond], [assoc class name, [assoc alias] ]
note: at least one of new mult or new cond must be set (they cannot both be null)
noneChanges the multiplicity of an Association Perspective. This will change the underlying Referential Attributes and Required Referential Identifiers. When changing from a non-associative 1x:1x or 1x:Mx to an Mx:Mx, an Association Class must be specified. The alias is required if the Association Class will be newly created. Conditionality may be supplied also. If it is omitted, NULL, then it is not changed.Tested OK
24
Loop
25
UI_new_looprnum array, domain
ex: array[ 6, 2, 13 ], 'Gas Distribution'
ex: array [ 4 ], 'Air Traffic Control' -- R4 must be a reflexive Association
loop element numberCreates a new Constrained Loop from an array of Rnums in the specified Domain. The Relationships must already exist and must form a closed loop. An element number will be generated for the Constrained Loop which can be used later to modify or delete it.Tested OK
26
UI_delete_looploop element number, domainnoneDeletes an existing Constrained Loop.Tested OK
27
28
29
30
31
32
Request calls below
33
UI_
34
UI_
35
UI_
36
UI_
37
UI_
38
UI_
39
UI_
40
UI_
41
UI_
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Loading...
 
 
 
UI Actions
UI Queries
Loose Ends