All Downloads are FREE. Search and download functionalities are using the official Maven repository.

vidmoten.miuml-jaxb.0.3.1.source-code.miuml-metamodel.xsd Maven / Gradle / Ivy

Go to download

Contains miUML metamodel schema and xuml-tools extensions schema and generates JAXB classes from those schemas.

There is a newer version: 0.6
Show newest version


	
		
			
				

This schema describes the information of a miUML model in xml form. The schema is created directly from the miUML class diagrams available at http://www.miUML.org.

The same terminology is used and the superclass heirarchies are being implemented where possible.

To reduce verbosity in xml compliant with the schema attributes are preferred over elements when convenient.

Every relationship on the class diagrams should eventually appear in this document in the documentation annotations on types or elements.

Some classes and relationships from the metamodel may add no data to this schema. There existence may be purely to represent uniqueness constraints on the data which is outside the scope of the schema. The miUML approach is to provide a program/service to perform this sort of validation. All relationships that are identified as not being required in the schema should eventually be mentioned in documentation annotations so that it is clear they have been considered.

Subsystems to be considered by this schema include:

  • Domain Subsystem
  • Class and Attribute Subsystem
  • Relationship Subsystem
  • State Subsystem
  • Polymorphism Subsystem
  • Formalization Subsystem
  • Type Subsystem
  • Required Referential Identifier Subsystem
Used to configure defaults for creating new domains. R708 CommonType R7. The enclosing domain is the Client domain Extension point for miuml tools When this attribute is missing the alias should be assumed to be the same as the Name field. R4 R708 DomainType R1 R17 R4 R7c R13 When this attribute is missing the alias should be assumed to be the same as the Name field. R3 R3 Number has been made optional because it is not required to uniquely refer to an Element within a Domain in the schema. R16. Only ConstrainedLoop is modeled as a specialization of SpanningElement. Xsd does not support multiple inheritance so DomainType is modeled via an optional Element attribute on ConstrainedType. Lineage is used only for validation thus does not appear in this schema. R16 R17 Note that as per the miuml metamodel documentation (Relationship Subsystem Class Diagram Notes) the order of the relationships listed below is not important. It is a set of relationships. R160 R14. R160 is for uniqueness purposes only and so is not in the schema. R23 to SpecializedClass and NonSpecializedClass has been collapsed into Class because this distinction is captured by GeneralizationReferences/SpecializationReferences on the attributes of the class. R14 R20 R500 Extension point for miuml tools Schema xml consumers (model compilers/viewers/editors/validators/documenters) will not always require this field so it can be omitted. Schema xml consumers (model compilers/viewers/editors/validators/documenters) will not always require this field and if they do the value should be considered to default to the Name attribute. R22 Extension point for miuml tools R21 R24 R21 R31 R25 R26 has not been represented in the schema because it's use depends on a formula language for derived attributes. Such a language has not yet been defined in miUML (April 18 2012). R25 R30 R30 R100. R103,R102,R118,R117 add uniqueness constraints only and thus do not appear in this schema. R101, minOccurs=2 represents the relationships R116,R117,R118 (Minimal Partition) R103 R100 R119, R120 R119 R123 R119 R124 R125 Removed Side attribute because some subclasses do not required it, e.g. ActivePerspective and PassivePerspective R110 Represents the R104 specialization group because schema does not support multiple inheritance. R121 R121 R105 R105 R21,R31,R32 If this attribute is not used then its value is assumed to be the name of the enclosing attribute making the reference. R120,R152. TReference and PReference via R153 have been collapsed into AssociativeReference. Differentiation is via the Class attribute. R152 This should only be required for reflexive binary associations. R152 R152 R714

Models R708 Domain Type + Common Type. When a type is particular to a domain then it should have a local name property (that may be the same name as the name which should be unique across all domains). When this attribute is omitted the LocalName is assumed to be the same as the Name.

The operator part of the Type subsystem is not modeled because it will not be used till a processing language is developed. For this reason R712,R713,R716 R718,R719,R720 have not been modeled in this schema.

Schema does not support multiple inheritance so R16+R17 is modelled using this optional attribute. A ConstrainedType is only an Element if it is a DomainType. Even if the ConstrainedType is a DomainType the element number is still an optional attribute.
R714 R700 R717. All atomic types are based on an unconstrained type of the same name. For example the constrained Real with precision and upper and lower bounds is based on the mathematical domain R of real numbers (without constraints). R700 R703 R704 R703 R705 R706 R706 R706 R706 R706 R715 R707 R706 R510 Extension point for miuml tools This field is optional because for many consumers this field can be ignored or generated. R510 R503 R565+R550+R558+R561+R560, R565+R550+R557+R554+R560 R503+R505+R506 R502 R513 Extension point for miuml tools R502 R507 Note that the EventID might be a LocalEffectiveSignallingEvent on the enclosing class or it might be the EventID of an Inherited Effective Event from a superclass. The possibility of namespace clashes in this case forces the use of an Event ID rather than just the event Name for unique identification. More on event inheritance is yet to be done in this schema. A large portion of the Polymorphism Subsystem has been collapsed by the relationship of Event to Event Signature. The collapsed portion serves validation purposes only. R563 R562 R562 Dave Moten simplified the definition of StateModelParameter because parameter typing is intimately related to Action Language which has not been defined for miUml yet (28 May 2012). Dave chose to do this also to enable model compilers that may not implement a miUml Action Language but rather map state model signatures to methods in a platform language like java in the case of xuml-tools. R566 R567+R554+R560 R508 R568+R554 Extension point for xuml-tools. For example documentation against attributes, classes would be placed in an Extension element.




© 2015 - 2025 Weber Informatics LLC | Privacy Policy