// Copyright © 2005, 2006 THALES, SELEX Sistemi Integrati (SI), Themis Computer // and Progeny Systems Corporation. // 06-08-31 - MS - Draft (2) updated to the AMSM Revised Submission // Version 1.8 - 21 August 2006 // 07-03-02 - MS - Draft (3) updated to the AMSM Revised Submission // Version 1.10 - 18 December 2006 & includes // the errata from the 07-01-02 document #pragma locale ("en_US") // =================================================================== // Accounting // =================================================================== [Description ("")] class AMS_Accounting { [Key] string InstanceID; string Name; string Value; string Capability; string Time; uint32 Duration; string Units; }; // =================================================================== // ComputerSystem // =================================================================== [Description ("The AMS_ComputerSystem class models the hosts. " "Its subclasses specify which kind of elements are modeled:" "hosts (AMS_Host), routers (AMS_Router), switches" "(AMS_Switch) or printers (AMS_Printer). It aggregates" "some CIM_LogicalDevice which is an abstraction or" "emulation of a hardware entity : CIM_Processor, CIM_Memory," "etc. (CIM documentation). The actual type of element is" "described in one of the subclasses of CIM_LogicalDevice" "allowed by CIM. It aggregates also some AMS_OperatingSystems" "as CIM_RunningOS and CIM_InstalledOS. On account of" "so-called virtualisation, several operating system may be" "running on an unique AMS_ComputerSystem, hence the" "multiplicity of the CIM_RunningOS association is 1..*." "It may be associated with a physical location " "(CIM_Location), with some network end points" "(CIM_ProtocolEndPoint). The CIM_ProtocolEndPoint class do" "not preclude any type of protocol. The actual protocol may" "be specified with one of its subclasses. For instance the" "CIM_IPProtocolEndPoint defines end points running on IP" "with IPv4 or IPv6 adresses and a subnet mask. An" "AMS_NetworkElement may also be associated with an" "AMS_Domain or an AMS_HardwareGroup. The attributes of" "the AMS_ComputerSystem are:" "- a name that is the name of the host." "- ArchitectureInfo that specify some textual information" " on the architecture of the element.")] class AMS_ComputerSystem : CIM_ComputerSystem { [Key, Override] string Name; string ArchitectureInfo; uint16 status; uint16 NetworkLoad; uint16 UtilizationTimeScale; }; // =================================================================== // OperatingSystem // =================================================================== [Description ("The class AMS_OperatingSystem models the" "operating system on hosts. Such an operating system belongs" "to an AMS_ComputerSystem either as the running operating" "system, or as one of the installed operating systems. It" "is associated with some supported application models (cf." "AMS_SupportedApplicationModel). Its attributes are:" "- a name that, with its AMS_ComputerSystem's global name," " takes part of the make-up of its global name." "- a version string that must include any patch" " information.")] class AMS_OperatingSystem : CIM_OperatingSystem { [Key, Override] string Name; [Override] String Version; [Description ( "An integer indicating the type of OperatingSystem."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68" }, Values { "Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX", //10 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE", //20 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX", "SCO UnixWare", "SCO OpenServer", "Sequent", "IRIX", "Solaris", //30 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT", "BS2000", "LINUX", "Lynx", "XENIX", "VM", //40 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD", "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX", "EPOC", //50 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep", "PalmPilot", "Rhapsody", "Windows 2000", "Dedicated", //60 "OS/390", "VSE", "TPF","Windows (R) Me", "Caldera Open UNIX", "OpenBSD", "Not Applicable", "Windows XP", "z/OS" }, ModelCorrespondence { "CIM_OperatingSystem.OSType"}] uint16 AMSOSType; }; // =================================================================== // Host // =================================================================== [Description ("The AMS_Host class models the hosts as points in" "a network. It is a subclass of AMS_ComputerSystem and a " "superclass of AMS_DomainManager. Since a host can be used" "for routing, it aggregates some routes (CIM_NextHopRoute)." "The CIM_NextHopRoute class does not preclude any type of" "protocol. The actual protocol may be specified with one of" "its subclasses. It has also an association that gives the" "real time hardware utilisation.")] class AMS_Host : AMS_ComputerSystem { }; // =================================================================== // Router // =================================================================== [Description ("The AMS_Router class models routers as points in" "a network. It is a subclass of AMS_ComputerSystem. It" "aggregates some routes (CIM_NextHopRoute). The" "CIM_NextHopRoute class do not preclude any type of protocol" "The actual protocol may be specified with one of its" "subclasses.")] class AMS_Router : AMS_ComputerSystem { }; // =================================================================== // Switch // =================================================================== [Description ("The AMS_Switch class models switches as points" "in a network. It is a subclass of AMS_ComputerSystem.")] class AMS_Switch : AMS_ComputerSystem { }; // =================================================================== // HardwareGroup // =================================================================== [Description ("The AMS_HardwareGroup class represents groupings" "of AMS_ComputerSystems. It has a set of AMS_ComputerSystem" "and an attribute giving its name.")] class AMS_HardwareGroup : CIM_AdminDomain { [Description("This operation subscribes to the modifications of" "the status of the hardware items gathered in the Hardware" "Group. The data returned are a collection of" "AMS_RTHWIndication.")] uint16 SubscribeHWStatusChange(, [OUT] uint32 subscriptionID); [Description("This operation subscribes to receive periodically" "the status of the hardware items gathered in the Hardware" "Group. The data returned are a collection of" "AMS_RTHWIndication.")] uint16 SubscribeHWStatus( [IN] uint16 delay, [OUT] uint32 subscriptionID); [Description("This operation get the merged status computed from" "the status of all the Computer Systems of the Hardware" "Group. The actual algorithm is implementation dependant.")] uint16 GetMergedStatus(); [Description("This operation subscribes to the modifications of" "the merged status of the Hardware Group (cf." "GetMergedStatus). The data returned are a collection of" "AMS_RTHWIndication.")] uint16 SubscribeMergedHWStatusChange(, [OUT] uint32 subscriptionID); [Description("This operation subscribes to receive periodically" "the merged status of the Hardware Group (cf. " "GetMergedStatus). The data returned are a collection of" "AMS_RTHWIndication.")] uint16 SubscribeMergedHWStatus( [IN] uint16 delay, [OUT] uint32 subscriptionID); [Description ("This operation delete a previous subscription" "demand. This operation shall return AMS_BADSUBSCRIPTIONID" "if the parameter is erroneous")] uint16 Unsubscribe( [IN] uint32 subscriptionID); [ValueMap { "0", "1", "2"}, Values { "Unknown", "AMS_OK", "AMS_BADSUBSCRIPTIONID"}] uint16 HG_ReturnCode; }; // =================================================================== // Printer // =================================================================== [Description ("The AMS_Printer class models printers as points" "in a network. It is a subclass of AMS_ComputerSystem.")] class AMS_Printer { }; // =================================================================== // DomainManager // =================================================================== [Description ("The AMS_DomainManager class represents a computer" "node in a system which is responsible for managing a" "AMS_Domain. There may be one or more AMS_DomainManager" "instances for a given AMS_Domain. AMS_DomainManager is" "derived from the AMS_Host class. It may be associated with" "an AMS_Domain.")] class AMS_DomainManager : AMS_Host { }; // =================================================================== // Domain // =================================================================== [Description ("The AMS_Domain class models a set of computers " "in a single management domain. It has a set of" "AMS_ComputerSystem, some AMS_DomainManagers (at least one)" "and an attribute giving its name.")] class AMS_Domain : CIM_AdminDomain { }; // =================================================================== // LANEndPoint // =================================================================== [Description ("The AMS_LANEndPoint class subclasses" "CIM_LANEndPoint in order to add the following attributes:" "- the status of the communication end point (up or down)," "- the network load on this end point (transmission rate" " expressed in bytes per seconds).")] class AMS_LANEndPoint : CIM_LANEndpoint { uint16 Status; uint16 NetworkLoad; }; // =================================================================== // Associations // =================================================================== // =================================================================== // AMSupportedByOS // =================================================================== [Association] class AMS_AMSupportedByOS : CIM_Dependency { [Override("Antecedent")] AMS_OperatingSystem REF Antecedent; [Override("Dependent")] AMS_SupportedApplicationModel REF Dependent; }; // =================================================================== // DomainManagerRole // =================================================================== [Association] class AMS_DomainManagerRole : CIM_Dependency { [Override("Antecedent"), Max(1)] AMS_Domain REF Antecedent; [Override("Dependent"), Min(1)] AMS_DomainManager REF Dependent; }; // =================================================================== // OSUsed // =================================================================== [Association] class AMS_OSUsed : CIM_Dependency { [Override("Antecedent")] AMS_DeploymentLink REF Antecedent; [Overrride("Dependent"), Max(1), Min(1)] AMS_OperatingSystem REF Dependent; }; // =================================================================== // RTHU // =================================================================== [Association, Aggregation, Description("An association between" "AMS_Accounting class in order" "to design platform-specific hardware utilisation.")] class AMS_RTHU : CIM_Dependency { [Key, aggregate, Override("Antecedent"), Max(1), Min(1)] AMS_Host REF Antecedent; [Overrride("Dependent")] AMS_Accounting REF Dependent; ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"}, Values { "HU_NONSTD", "HU_CPU", "HU_RUNQ", "HU_WAIT", "HU_LAN_BTX", "HU_LAN_BRX", "HU_LAN_PTX", "HU_LAN_PRX", "HU_PMS", "HU_PFS", "HU_DSK_WR", "HU_DSK_RD", "HU_OFS", "HU_FS", "HU_PN", "HU_TN"}] uint16 AMSStdHWUtilisation; }; // =================================================================== // RTHU_LAN // =================================================================== [Association, Aggregation, Description("")] class AMS_RTHU_LAN : CIM_Dependency { [Key, aggregate, Override("Antecedent"), Max(1), Min(1)] AMS_LANEndPoint REF Antecedent; [Overrride("Dependent")] AMS_Accounting REF Dependent; ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"}, Values { "HU_NONSTD", "HU_CPU", "HU_RUNQ", "HU_WAIT", "HU_LAN_BTX", "HU_LAN_BRX", "HU_LAN_PTX", "HU_LAN_PRX", "HU_PMS", "HU_PFS", "HU_DSK_WR", "HU_DSK_RD", "HU_OFS", "HU_FS", "HU_PN", "HU_TN"}] uint16 AMSStdHWUtilisation; };