Metaobjectfacility(MOF) Specification
Total Page:16
File Type:pdf, Size:1020Kb
MetaObjectFacility(MOF) Specification Version 1.4 April 2002 Copyright 1997-1999, DSTC (Cooperative Research Centre for Enterprise Distributed Systems Technology) Copyright 1997-1999, Electronic Data Systems Copyright 1997-1999, IBM Corporation Copyright 1997-1999, International Computers Limited Copyright 1997-1999, Objectivity, Inc. Copyright 2002, Object Management Group Copyright 1997-1999, Oracle Corporation Copyright 1997-1999, Platinum Technology, Inc. Copyright 1997-1999, Rational Software Corporation Copyright 1997-1999, System Software Associates Copyright 1997-1999, Unisys Corporation The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed any computer software to the specification. PATENT The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights. OMG shall not be responsible for identifying patents for which a license may be required by any OMG specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OMG specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. NOTICE The information contained in this document is subject to change without notice. The material in this document details an Object Management Group specification in accordance with the license and notices set forth on this page. This document does not represent a commitment to implement any portion of this specification in any company's products. WHILE THE INFORMATION IN THIS PUBLICATION IS BELIEVED TO BE ACCURATE, THE OBJECT MAN- AGEMENT GROUP AND THE COMPANIES LISTED ABOVE MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR PARTICULAR PURPOSE OR USE. In no event shall The Object Management Group or any of the companies listed above be liable for errors contained herein or for indirect, incidental, special, consequential, reliance or cover damages, including loss of profits, revenue, data or use, incurred by any user or any third party. The copyright holders listed above acknowledge that the Object Management Group (acting itself or through its designees) is and shall at all times be the sole entity that may authorize developers, suppliers and sellers of computer software to use certification marks, trademarks or other special designations to indicate compliance with these materials. This document contains information which is pro- tected by copyright. All Rights Reserved. No part of this work covered by copyright herein may be reproduced or used in any form or by any means--graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems--without permission of the copyright owner. RESTRICTED RIGHTS LEGEND. Use, duplication, or disclosure by government is subject to restrictions as set forth in subdivision (c) (1) (ii) of the Right in Technical Data and Computer Software Clause at DFARS 252.227.7013 OMG®and Object Management are registered trademarks of the Object Management Group, Inc. Object Request Broker, OMG IDL, ORB, CORBA, CORBAfacilities, CORBAservices, COSS, and IIOP are trademarks of the Object Management Group, Inc. X/Open is a trademark of X/Open Company Ltd. The UML logo is a trademark of Rational Software Corp. ISSUE REPORTING All OMG specifications are subject to continuous review and improvement. As part of this process we encourage readers to report any ambiguities, inconsistencies, or inaccuracies they may find by completing the Issue Reporting Form listed on the main web page http://www.omg.org, under Documents & Specifications, Report a Bug/Issue. TableofContents Preface. ix 1. MOF Usage Scenarios . 1-1 1.1 Overview . 1-1 1.2 Software Development Scenarios. 1-2 1.3 Type Management Scenarios . 1-4 1.4 Information Management Scenarios. 1-6 1.5 Data Warehouse Management Scenarios . 1-6 2. MOF Conceptual Overview . 2-1 2.1 Overview . 2-1 2.2 Metadata Architectures. 2-1 2.2.1 Four Layer Metadata Architectures . 2-2 2.2.2 The MOF Metadata Architecture . 2-3 2.2.3 MOF Metamodeling Terminology . 2-4 2.3 The MOF Model - Metamodeling Constructs. 2-6 2.3.1 Classes . 2-6 2.3.2 Associations . 2-9 2.3.3 Aggregation . 2-11 2.3.4 References . 2-12 2.3.5 DataTypes . 2-14 2.3.6 Packages . 2-14 2.3.7 Constraints and Consistency . 2-17 2.3.8 Miscellaneous Metamodeling Constructs . 2-19 2.4 Metamodels and Mappings. 2-20 2.4.1 Abstract and Concrete Mappings . 2-21 April 2002 OMG-Meta Object Facility, v1.4 i 2.4.2 The MOF Metamodel to IDL Mapping. 2-22 2.4.3 The MOF Metamodel to XML Mappings. 2-22 2.4.4 Mappings of the MOF Model . 2-22 3. MOF Model and Interfaces . 3-1 3.1 Overview . 3-1 3.2 How the MOF Model is Described. 3-2 3.2.1 Classes . 3-3 3.2.2 Associations . 3-8 3.2.3 DataTypes. 3-9 3.2.4 Exceptions . 3-10 3.2.5 Constants . 3-10 3.2.6 Constraints . 3-10 3.2.7 UML Diagrams. 3-10 3.3 The Structure of the MOF Model . 3-11 3.3.1 The MOF Model Package. 3-11 3.3.2 The MOF Model Service IDL. 3-11 3.3.3 The MOF Model Structure . 3-13 3.3.4 The MOF Model Containment Hierarchy. 3-14 3.4 MOF Model Classes. 3-15 3.4.1 ModelElement . 3-15 3.4.2 Namespace . 3-21 3.4.3 GeneralizableElement. 3-24 3.4.4 TypedElement. 3-29 3.4.5 Classifier. 3-30 3.4.6 Class . 3-30 3.4.7 DataType. 3-32 3.4.8 PrimitiveType . 3-33 3.4.9 CollectionType . 3-34 3.4.10 EnumerationType . 3-35 3.4.11 AliasType . 3-36 3.4.12 StructureType . 3-37 3.4.13 StructureField . 3-37 3.4.14 Feature . 3-38 3.4.15 StructuralFeature . 3-40 3.4.16 Attribute . 3-42 3.4.17 Reference . 3-43 3.4.18 BehavioralFeature. 3-45 3.4.19 Operation . 3-45 3.4.20 Exception . 3-48 3.4.21 Association . 3-48 ii OMG-Meta Object Facility, v1.4 April 2002 3.4.22 AssociationEnd. 3-51 3.4.23 Package. 3-54 3.4.24 Import . 3-55 3.4.25 Parameter . 3-58 3.4.26 Constraint . 3-59 3.4.27 Constant . 3-62 3.4.28 Tag . 3-63 3.5 MOF Model Associations. 3-66 3.5.1 Contains . 3-66 3.5.2 Generalizes . 3-68 3.5.3 RefersTo . 3-69 3.5.4 Exposes. 3-70 3.5.5 IsOfType. 3-71 3.5.6 CanRaise. 3-72 3.5.7 Aliases . 3-73 3.5.8 Constrains. 3-74 3.5.9 DependsOn . 3-75 3.5.10 AttachesTo . 3-77 3.6 MOF Model Data Types. 3-78 3.6.1 PrimitiveTypes used in the MOF Model . 3-78 3.6.2 MultiplicityType . 3-78 3.6.3 VisibilityKind . 3-80 3.6.4 DirectionKind . 3-80 3.6.5 ScopeKind . 3-80 3.6.6 AggregationKind . 3-81 3.6.7 EvaluationKind. 3-81 3.7 MOF Model Exceptions . 3-81 3.7.1 NameNotFound. 3-81 3.7.2 NameNotResolved . 3-82 3.8 MOF Model Constants . 3-82 3.8.1 Unbounded . 3-82 3.8.2 The Standard DependencyKinds. 3-83 3.9 MOF Model Constraints. 3-83 3.9.1 MOF Model Constraints and other M2 Level Semantics . 3-83 3.9.2 Notational Conventions . 3-84 3.9.3 OCL Usage in the MOF Model specification . 3-86 3.9.4 The MOF Model Constraints . 3-88 3.9.5 Semantic specifications for some Operations, derived Attributes and Derived Associations . 3-105 April 2002 OMG-Meta Object Facility, v1.4 iii 3.9.6 OCL Helper functions. 3-111 3.10 The PrimitiveTypes Package . 3-114 3.10.1 Boolean. 3-114 3.10.2 Integer. ..