(file) Return to Application_DeploymentModel.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM29

  1 a.dunfey 1.1 // ===================================================================
  2              // Title: Application_DeploymentModel
  3              // $State: Exp $
  4              // $Date: 2004/11/29 18:31:41 $
  5              // $RCSfile: Application_DeploymentModel.mof,v $
  6              // $Revision: 1.5.2.3 $
  7              // ===================================================================
  8              //#pragma inLine ("Includes/copyright.inc")
  9              // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
 10              // All rights reserved.
 11              // DMTF is a not-for-profit association of industry members dedicated
 12              // to promoting enterprise and systems management and interoperability.
 13              // DMTF specifications and documents may be reproduced for uses
 14              // consistent with this purpose by members and non-members,
 15              // provided that correct attribution is given.
 16              // As DMTF specifications may be revised from time to time,
 17              // the particular version and release date should always be noted.
 18              // 
 19              // Implementation of certain elements of this standard or proposed
 20              // standard may be subject to third party patent rights, including
 21              // provisional patent rights (herein "patent rights"). DMTF makes
 22 a.dunfey 1.1 // no representations to users of the standard as to the existence
 23              // of such rights, and is not responsible to recognize, disclose, or
 24              // identify any or all such third party patent right, owners or
 25              // claimants, nor for any incomplete or inaccurate identification or
 26              // disclosure of such rights, owners or claimants. DMTF shall have no
 27              // liability to any party, in any manner or circumstance, under any
 28              // legal theory whatsoever, for failure to recognize, disclose, or
 29              // identify any such third party patent rights, or for such party's
 30              // reliance on the standard or incorporation thereof in its product,
 31              // protocols or testing procedures. DMTF shall have no liability to
 32              // any party implementing such standard, whether such implementation
 33              // is foreseeable or not, nor to any patent owner or claimant, and shall
 34              // have no liability or responsibility for costs or losses incurred if
 35              // a standard is withdrawn or modified after publication, and shall be
 36              // indemnified and held harmless by any party implementing the
 37              // standard from any and all claims of infringement by a patent owner
 38              // for such implementations.
 39              // 
 40              // For information about patents held by third-parties which have
 41              // notified the DMTF that, in their opinion, such patent may relate to
 42              // or impact implementations of DMTF standards, visit
 43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44              //#pragma inLine
 45              // ===================================================================
 46              // Description: These object classes define the DMTF Application Model
 47              //              and include classes to represent software features,
 48              //              and deployable/installable elements.
 49              // 
 50              //              The object classes below are listed in an order that
 51              //              avoids forward references. Required objects, defined
 52              //              by other working groups, are omitted.
 53              // ==================================================================
 54              //    06/07/99  Added FRUIncludesSoftwareFeature association (CR277b)
 55              //              Removed min(1) from SoftwareFeatureSoftwareElements
 56              //              (CR395)
 57              //              Added more processor types (CR318c)
 58              //              Added video processor to Arch Type (CR377)
 59              //              Added Sparc processor to Arch Type (CR297)
 60              //              Added additional OS type (CR363)
 61              //              Added VSE and TPF OS types (CR409)
 62              // 
 63              //    01/10/00  Add keys to refs of FRUIncludesSoftwareFeature (CR453)
 64 a.dunfey 1.1 //              Add Itanium processor to Arch Type (CR449)
 65              // 
 66              //    01/17/00  Updated Mappingstrings qualifiers (CR431)
 67              // 
 68              //    03/07/00  Change Intel Processor types for legal reasons (CR438)
 69              // 
 70              //    06/08/00  Added SoftwareElementService/SAPImplementation
 71              //              associations (CR482a)
 72              // 
 73              //    11/29/00 - Version 2.5
 74              //             - CR533b Add Windows(R) Me to *.TargetOperatingSystem*
 75              //             - CR540c Add SoftwareFeatureComponent Association
 76              //             - CR542 Add "Not Applicable" to the
 77              //             *TargetOperatingSystem
 78              //                     property
 79              // 
 80              //    03/09/2002 CIM 2.6 Final release
 81              //             - CR658 Add Key Qualifier to association references
 82              //                      in Appl and SysDev MOFs. This changed
 83              //                      CIM_ProductSoftwareFeatures,
 84              //                      CIM_InstalledSoftwareElement,
 85 a.dunfey 1.1 //                      CIM_InstalledProductImage
 86              //             - CR746 Add Version qualifier (Version 2.6.0) to
 87              //                     all classes and associations.
 88              //             - CR823 Cleanup all Descriptions and other textual issues
 89              //             - CR828 Fix inconsistencies between Device, Appl and
 90              //                     System Models wrt processor and OS type enums
 91              // 
 92              //    06/06/2002 CIM 2.7 Preliminary Release
 93              //             - CR 618 - Add Pentium 4 Processor
 94              //             - CR 686 - Add Xeon Processor
 95              //             - CR 770 - Add WinXP to OSTypes
 96              //             - CR 772 - Add new AMD Processor types
 97              //             - CR 839 - Add other Processor Types
 98              //             - Define Application MOF structure
 99              // 
100              //    09/22/2002 CIM 2.7 Public Preliminary Release
101              //            -  CR 876 - Rename the "Digital Unix" operating system
102              //                        type to "Tru64 UNIX".
103              //    03/17/2003 CIM 2.7 Public Final Release
104              //            -  CR 935 - Add entries to targetOperatingSystem value
105              //            map.
106 a.dunfey 1.1 //                        Added z/OS and changed VM/EAS to VM
107              // 
108              //    05/20/2003 CIM 2.8 Preliminary
109              //            -  CR 1063 - Add Association SoftwareElementComponent
110              //            -  CR  886 - Add ApplicationDirectory
111              //    07/31/2003 CIM 2.8 Preliminary (post Company review)
112              //            -  CR 1103 SoftwareFeatureSAPImplementaiton references
113              //                       Service vs. SAP
114              //    12/19/2003 CIM 2.8 Final
115              //            -  CR 1178 - Change to the CIM_ApplicationSystem class
116              //                         to add the application runtime subclass
117              //                         back in.
118              //            -  CR 1198 - Change  ApplicationSystemDirectory and
119              //                         and SoftwareElementComponent to Final 2.8
120              // ===================================================================
121              
122              #pragma locale ("en_US")
123              
124              
125                 [Version ( "2.8.0" ), Description (
126                     "The ApplicationSystem class represents an application or a "
127 a.dunfey 1.1        "software system that supports a particular business function "
128                     "and that can be managed as an independent unit. Such a system "
129                     "can be decomposed into its functional components using the "
130                     "CIM_SoftwareFeature class. The Features for a particular "
131                     "application or software system are located using the "
132                     "CIM_ApplicationSystemSoftwareFeature association. The features "
133                     "are part of the deployment-oriented aspects of the application "
134                     "system. \n"
135                     "With regard to the application runtime aspects, the "
136                     "ApplicationSystem class also represents the core class of the "
137                     "Application Systems' sub-model which of the application "
138                     "runtime model. Its role in the systems sub-model is a) the "
139                     "root node of the containment hierarchy of the application "
140                     "elements (at runtime) as services, components, sub-systems, "
141                     "etc., b) the place for runtime overview information such as "
142                     "response time or system status, c) runtime control of the "
143                     "entire application (e.g., start/stop), and d) the main entry "
144                     "point to the navigation through and drill-down into the "
145                     "runtime model. \n"
146                     "The lifetime of an instance of this class is not limited to "
147                     "the application instance it represents. Even if the "
148 a.dunfey 1.1        "application is not running, the ApplicationSystem object can "
149                     "report properties that have values (e.g., the name of the "
150                     "application or the current status). Note that it is also "
151                     "possible to define the lifetime of the objects through the "
152                     "lifetime of the application instances. \n"
153                     "Through ApplicationSystemDependency, non-containment "
154                     "relationships can be expressed.")]
155              class CIM_ApplicationSystem : CIM_System {
156              
157                    [Description (
158                        "Distribution describes how the application system is "
159                        "distributed with respect to its underlying servers. In "
160                        "general, the application system is distributed or local. "
161                        "This property indicates whether the application system is "
162                        "running on one or multiple servers. This can be determined "
163                        "without having to query for associated servers represented "
164                        "by ComputerSystems. Distributed systems also introduce a "
165                        "virtual notion to themselves. Note that a distributed "
166                        "application system is not tangible but virtual. Only its "
167                        "contained local systems can be found as processes or "
168                        "threads, and can therefore be regarded as tangible. The "
169 a.dunfey 1.1           "distributed system remains a named, virtual entity, that "
170                        "scopes strongly bound constituents and allows the "
171                        "application to be managed in its entirety. \n"
172                        "The property is needed to help root cause analysis and "
173                        "operations, especially when these are automated, in order "
174                        "to clearly know that more than one executed application - "
175                        "most likely the local application systems - is affected by "
176                        "the management task. This is particularly true if the "
177                        "contained application systems provide uniform functionality "
178                        "like webserver or application server farms. \n"
179                        "To express constraints between distributed and local "
180                        "system, this class must be derived and appropriate "
181                        "associations must be defined. \n"
182                        "This property should not be confused with the Roles[] "
183                        "property defined in System. The latter is reserved for "
184                        "administrator assigned roles."), 
185                     ValueMap { "0", "1", "2", "3..32767", "32768..65535" }, 
186                     Values { "Unknown", "Distributed", "Local", "DMTF Reserved",
187                        "Vendor Specific" }]
188                 uint16 Distribution;
189              
190 a.dunfey 1.1       [Description (
191                        "StartApplication() starts an application system. The "
192                        "ApplicationSystem object must have been created prior to "
193                        "the invocation of this method. It is up to the "
194                        "implementation of the method to define which of the "
195                        "contained or dependent sub-elements are to be started and "
196                        "in which order their startup may occur. \n"
197                        "Since a system startup can extend over long periods of time "
198                        "(several minutes is not unusual for complex distributed "
199                        "applications), the method can be implemented synchronously "
200                        "or asynchronously. In both cases EnabledState and "
201                        "RequestedState reflect the current state of the application "
202                        "and the desired state (Enabled) respectively. The exact "
203                        "nature of the errors during the startup cannot be "
204                        "determined in the asynchronous case. The method must return "
205                        "one of the following values: \n"
206                        "Unspecified Error: If no return code can be identified \n"
207                        "Completed with No Error: successful invocation \n"
208                        "Start Already in Progress: application still being started "
209                        "\nFailed:Indicates errors upon execution."), 
210                     ValueMap { "0", "1", "2", "3", "4..4096", "4097..32767",
211 a.dunfey 1.1           "32768..65535" }, 
212                     Values { "Unspecified Error", "Completed with No Error",
213                        "Start Already in Progress", "Failed", "DMTF Reserved",
214                        "Method Reserved", "Vendor Specific" }, 
215                     ModelCorrespondence { "CIM_ApplicationSystem.EnabledState",
216                        "CIM_ApplicationSystem.RequestedState" }]
217                 uint16 StartApplication(); 
218              
219                    [Description (
220                        "StopApplication() allows for stopping/shutting down an "
221                        "application system. It is up to the implementation of the "
222                        "method to define which of the contained or dependent "
223                        "sub-elements are to be stopped and in which order their "
224                        "stop has to occur. \n"
225                        "Since a system shutdown can last considerable time (several "
226                        "minutes is not necessarily unusual for complex distributed "
227                        "applications), the method can be implemented synchronously "
228                        "or asynchronously. In both cases EnabledState and "
229                        "RequestedState reflect the current state of the application "
230                        "and the desired state (Disabled) respectively. The exact "
231                        "nature of the errors during the stop cannot be determined "
232 a.dunfey 1.1           "in the asynchronous case. The method must return one of the "
233                        "following: \n"
234                        "Unspecified Error: If no return code can be identified \n"
235                        "Completed with No Error: successful invocation \n"
236                        "Stop Already in Process: application is shutting down \n"
237                        "Failed: Indicates errors upon execution."), 
238                     ValueMap { "0", "1", "2", "3", "4..4096", "4097..32767",
239                        "32768..65535" }, 
240                     Values { "Unspecified Error", "Completed with No Error",
241                        "Stop Already in Process", "Failed", "DMTF Reserved",
242                        "Method Reserved", "Vendor Specific" }, 
243                     ModelCorrespondence { "CIM_ApplicationSystem.EnabledState",
244                        "CIM_ApplicationSystem.RequestedState" }]
245                 uint16 StopApplication(); 
246              
247                    [Override ( "EnabledState" ), Description (
248                        "EnabledState is an integer enumeration that indicates the "
249                        "enabled/disabled states of an element. It can also indicate "
250                        "the transitions between these requested states. For "
251                        "example, shutting down and starting are transient states "
252                        "between enabled and disabled. \n"
253 a.dunfey 1.1           "In contrast to the original version defined higher in the "
254                        "inheritance hierarchy (EnabledLogicalElement), EnabledState "
255                        "is simplified. It reflects the notion of an execution "
256                        "status tailored to applications and represents a summary of "
257                        "the original property. It allows simplified and efficient "
258                        "determination of whether the application is started, "
259                        "stopped or in transition between either of these states. "
260                        "The property does not show any errors. Errors MUST be "
261                        "described in MSE.OperationalStatus, and MAY also be "
262                        "described in logs or other data sources. \n"
263                        "The mapping to MSE.OperationalStatus is as follows: \n"
264                        "ExecutionStatus <- MSE.OperationalStatus \n"
265                        "Unknown <- Unknown, No Contact, Lost Communication, \n"
266                        "Either of the values <- Other \n"
267                        "Enabled (started) <- OK, Degraded, Stressed, Predictive "
268                        "Failure, In Service, Dormant, Supporting Entity in Error, "
269                        "Completed \n"
270                        "Enabled or Disabled (Started or Stopped) <- Error, "
271                        "Non-Recoverable Error \n"
272                        "Starting <- Starting \n"
273                        "Shutting Down (Stopping) <- Stopping \n"
274 a.dunfey 1.1           "Disabled (Stopped) <- Stopped, Aborted. \n"
275                        "The mapping to the original EnabledState property is as "
276                        "follows: \n"
277                        "Unknown <- Unknown, Not Applicable \n"
278                        "Either of the values <-Other \n"
279                        "Enabled <- Enabled, Enabled but Offline, In Test, Deferred, "
280                        "Quiesce \n"
281                        "Disabled <- Disabled \n"
282                        "ShuttingDown <- ShuttingDown \n"
283                        "Starting <- Starting."), 
284                     ValueMap { "0", "2", "3", "4", "10", "11..32767",
285                     "32768..65535" }, 
286                     Values { "Unknown", "Enabled", "Disabled", "Shutting Down",
287                        "Starting", "DMTF Reserved", "Vendor Reserved" }]
288                 uint16 EnabledState = 0;
289              
290                    [Description (
291                        "The point in time (date and time) when the application "
292                        "system was last started. If the application system is in a "
293                        "state other the state Enabled (i.e., started and running) "
294                        "this value is not meaningful and the property value MUST be "
295 a.dunfey 1.1           "set to all zeros. \n"
296                        "StartupTime is preferably the point in time when the "
297                        "application is available to the user. Instead, if the "
298                        "provider and/or the instrumentation cannot determine the "
299                        "point in time the application becomes available, the point "
300                        "in time can be used at which the underlying operating "
301                        "system reports successful launch of the application. If no "
302                        "value can be provided the property value MUST be set to all "
303                        "zeros.")]
304                 datetime StartupTime;
305              
306                    [Description (
307                        "ServingStatus is a summary of MSE.OperationalStatus. It "
308                        "allows simplified and efficient determination of whether "
309                        "the application is providing service or has stopped doing "
310                        "so for various reasons like errors, shutdown, abort, etc. "
311                        "Therefore, no transitional values are provided. The "
312                        "property does not show any errors. Errors MUST be described "
313                        "in MSE.OperationalStatus, and MAY also be described in logs "
314                        "or other data sources. Therefore, ServingStatus is suited "
315                        "to provide summary information for monitoring purposes and "
316 a.dunfey 1.1           "service level management. \n"
317                        "The mapping to MSE.OperationalStatus is as follows: \n"
318                        "ServingStatus <- MSE.OperationalStatus \n"
319                        "Unknown <- Unknown, No Contact, Lost Communication \n"
320                        "Either of the values <- Other \n"
321                        "Serving <- OK, Degraded, Stressed, Predictive Failure, "
322                        "Completed \n"
323                        "Not Serving <- Error, Non-Recoverable Error, Starting, "
324                        "Stopping, Stopped, In Service, Aborted, Dormant, Supporting "
325                        "Entity in Error."), 
326                     ValueMap { "0", "1", "2", "5..4096", "4097..65535" }, 
327                     Values { "Unknown", "Serving", "Not Serving", "DMTF Reserved",
328                        "Vendor Specific" }, 
329                     ModelCorrespondence { 
330                        "CIM_ManagedSystemElement.OperationalStatus" }]
331                 uint16 ServingStatus;
332              
333                    [Description (
334                        "The point in time at which the ServingStatus property was "
335                        "last updated."), 
336                     ModelCorrespondence { "CIM_ApplicationSystem.ServingStatus" }]
337 a.dunfey 1.1    datetime LastServingStatusUpdate;
338              
339              };
340              
341              
342              
343              // ==============================================================
344              // ApplicationSystemDirectory
345              // ==============================================================
346                 [Association, Version ( "2.8.0" ), Description (
347                     "CIM_ApplicationSystemDirectory is an association used to "
348                     "establish a relationship between an ApplicationSystem and the "
349                     "Directories that it uses. This is used to identify the single "
350                     "root installation directory for an ApplicationSystem, as well "
351                     "as the logical purpose of other directories utilized by the "
352                     "ApplicationSystem. Note: This class is intended to be a "
353                     "subclass of CIM_Dependency but the current specification "
354                     "prohibits the extension of parent keys in a subclass. This "
355                     "will be revisited when the specification changes to make the "
356                     "intended inheritance possible.")]
357              class CIM_ApplicationSystemDirectory {
358 a.dunfey 1.1 
359                    [Key, Description (
360                        "A Directory which is used by the associated "
361                        "ApplicationSystem.")]
362                 CIM_Directory REF Antecedent;
363              
364                    [Key, Description (
365                        "An ApplicationSystem which depends upon the associated "
366                        "Directory.")]
367                 CIM_ApplicationSystem REF Dependent;
368              
369                    [Key, Description (
370                        "Name is a string representing a meaningful identifier for "
371                        "referring to the associated Directory in the context of the "
372                        "ApplicationSystem. As an example, this might be the name of "
373                        "the environment variable used to hold the same directory "
374                        "information."), 
375                     MaxLen ( 1024 )]
376                 string Name;
377              
378                    [Required, Description (
379 a.dunfey 1.1           "ApplicationDirectoryUse is an enumerated array which "
380                        "indicates the purpose(s) of the associated directory within "
381                        "the context of the ApplicationSystem. A value of \"Root\" "
382                        "indicates that the associated directory is the one and only "
383                        "root directory for the ApplicationSystem. This would "
384                        "typically be the directory path in which the application is "
385                        "installed. For applications which are installed in multiple "
386                        "directories, this would represent the directory from which "
387                        "initial program and configuration files are loaded. A value "
388                        "of \"Program\" indicates that the directory contains "
389                        "supplemental program files used by the ApplicationSystem. A "
390                        "value of \"Data\" indicates that the directory is used for "
391                        "data storage. A value of \"Log\" indicates that the "
392                        "directory is used to contain log files for the "
393                        "ApplicationSystem. It is considered invalid for multiple "
394                        "associations from the same ApplicationSystem to have a "
395                        "value of \"Root\". The \"Unknown\" state is expected to be "
396                        "short-lived and would typically be seen only in the "
397                        "installation phase of an ApplicationSystem, if at all. A "
398                        "value of \"Temp\" indicates that the associated directory "
399                        "is used to contain temporary files created by the "
400 a.dunfey 1.1           "ApplicationSystem. The \"Other\" state should only be used "
401                        "in cases where none of the designated values are "
402                        "appropriate. This is intended to enable use of the model "
403                        "for unanticipated purposes and would usually signal a need "
404                        "to extend this enumeration through the standards process."), 
405                     ValueMap { "0", "1", "2", "3", "4", "5", "6" }, 
406                     Values { "Unknown", "Other", "Root", "Program", "Data", "Log",
407                        "Temp" }, ArrayType ( "Indexed" ), 
408                     ModelCorrespondence { 
409                        "CIM_ApplicationSystemDirectory.OtherUseDescriptions" }]
410                 uint16 ApplicationDirectoryUses[];
411              
412                    [Description (
413                        "A string describing how the ApplicationSystem utilizes the "
414                        "associated directory when the corresponding entry in "
415                        "ApplicationDirectoryUses is set to 1, \"Other\". This "
416                        "attribute is meaningless and should be null when the "
417                        "corresponding entry in ApplicationDirectoryUses is set to "
418                        "any value other than 1."), 
419                     ArrayType ( "Indexed" ), 
420                     ModelCorrespondence { 
421 a.dunfey 1.1           "CIM_ApplicationSystemDirectory.ApplicationDirectoryUses" }]
422                 string OtherUseDescriptions[];
423              };
424              
425              
426              // ==================================================================
427              // SoftwareElement
428              // ==================================================================
429                 [Version ( "2.7.0" ), Description (
430                     "The CIM_SoftwareElement class is used to decompose a "
431                     "CIM_SoftwareFeature object into a set of individually "
432                     "manageable or deployable parts, for a particular platform. A "
433                     "SoftwareElement's platform is uniquely identified by its "
434                     "underlying hardware architecture and operating system (for "
435                     "example Sun Solaris on Sun Sparc or Windows NT on Intel "
436                     "platforms). As such, to understand the details of how the "
437                     "functionality of a particular SoftwareFeature is provided on a "
438                     "particular platform, the CIM_SoftwareElement objects "
439                     "referenced by CIM_SoftwareFeatureSoftwareElements associations "
440                     "are organized in disjoint sets based on the "
441                     "TargetOperatingSystem property. A CIM_SoftwareElement object "
442 a.dunfey 1.1        "captures the management details of a part or component in one "
443                     "of four states characterized by the SoftwareElementState "
444                     "property.")]
445              class CIM_SoftwareElement : CIM_LogicalElement {
446              
447                    [Key, Override ( "Name" ), Description (
448                        "The name used to identify this SoftwareElement."), 
449                     MaxLen ( 256 )]
450                 string Name;
451              
452                    [Key, Description (
453                        "Software Version should be in the form "
454                        "<Major>.<Minor>.<Revision> or "
455                        "<Major>.<Minor><letter><revision>."), 
456                     MaxLen ( 64 ), 
457                     MappingStrings { "MIF.DMTF|SubComponent Software |001.4" }]
458                 string Version;
459              
460                    [Key, Description (
461                        "The SoftwareElementState is defined in this model to "
462                        "identify various states of a SoftwareElement's life cycle. "
463 a.dunfey 1.1           "\n- A SoftwareElement in the deployable state describes the "
464                        "details necessary to successfully distribute it and the "
465                        "details (Checks and Actions) required to move it to the "
466                        "installable state (i.e, the next state). \n"
467                        "- A SoftwareElement in the installable state describes the "
468                        "details necessary to successfully install it and the "
469                        "details (Checks and Actions) required to create an element "
470                        "in the executable state (i.e., the next state). \n"
471                        "- A SoftwareElement in the executable state describes the "
472                        "details necessary to successfully start it and the details "
473                        "(Checks and Actions) required to move it to the running "
474                        "state (i.e., the next state). \n"
475                        "- A SoftwareElement in the running state describes the "
476                        "details necessary to manage the started element."), 
477                     ValueMap { "0", "1", "2", "3" }, 
478                     Values { "Deployable", "Installable", "Executable", "Running" }]
479                 uint16 SoftwareElementState;
480              
481                    [Key, Description (
482                        "This is an identifier for the SoftwareElement and is "
483                        "designed to be used in conjunction with other keys to "
484 a.dunfey 1.1           "create a unique representation of the element."), 
485                     MaxLen ( 256 )]
486                 string SoftwareElementID;
487              
488                    [Key, Description (
489                        "The TargetOperatingSystem property specifies the element's "
490                        "operating system environment. The value of this property "
491                        "does not ensure that it is binary executable. Two other "
492                        "pieces of information are needed. First, the version of the "
493                        "OS needs to be specified using the class, CIM_OSVersion "
494                        "Check. The second piece of information is the architecture "
495                        "that the OS runs on. This information is verified using "
496                        "CIM_ArchitectureCheck. The combination of these constructs "
497                        "clearly identifies the level of OS required for a "
498                        "particular SoftwareElement."), 
499                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
500                        "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
501                        "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
502                        "30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
503                        "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
504                        "50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
505 a.dunfey 1.1           "60", "61", "62", "63", "64", "65", "66", "67", "68" }, 
506                     Values { "Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
507                        "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX", 
508                        //10 
509                        "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x", "WIN95",
510                        "WIN98", "WINNT", "WINCE", 
511                        //20 
512                        "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
513                        "SCO UnixWare", "SCO OpenServer", "Sequent", "IRIX",
514                        "Solaris", 
515                        //30 
516                        "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT",
517                        "BS2000", "LINUX", "Lynx", "XENIX", "VM", 
518                        //40 
519                        "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD",
520                        "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX", "EPOC", 
521                        //50 
522                        "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep",
523                        "PalmPilot", "Rhapsody", "Windows 2000", "Dedicated", 
524                        //60 
525                        "OS/390", "VSE", "TPF","Windows (R) Me", "Caldera Open UNIX",
526 a.dunfey 1.1           "OpenBSD", "Not Applicable", "Windows XP", "z/OS" }, 
527                     MappingStrings { "MIF.DMTF|SubComponent Software|001.8" }, 
528                     ModelCorrespondence { "CIM_OperatingSystem.OSType" }]
529                 uint16 TargetOperatingSystem;
530              
531                    [Description (
532                        "The OtherTargetOS property records the manufacturer and "
533                        "operating system type for a SoftwareElement when the "
534                        "TargetOperatingSystem property has a value of 1 "
535                        "(\"Other\"). For all other values of TargetOperatingSystem, "
536                        "the OtherTargetOS property is NULL."), 
537                     MaxLen ( 64 ), 
538                     ModelCorrespondence { "CIM_OperatingSystem.OtherTypeDescription" 
539                        }]
540                 string OtherTargetOS;
541              
542                    [Description (
543                        "Manufacturer of this SoftwareElement."), 
544                     MaxLen ( 256 ), 
545                     MappingStrings { "MIF.DMTF|SubComponent Software|001.3" }]
546                 string Manufacturer;
547 a.dunfey 1.1 
548                    [Description (
549                        "The internal identifier for this compilation of "
550                        "SoftwareElement."), 
551                     MaxLen ( 64 ), 
552                     MappingStrings { "MIF.DMTF|Software Component Information|002.4" 
553                        }]
554                 string BuildNumber;
555              
556                    [Description (
557                        "The assigned serial number of this SoftwareElement."), 
558                     MaxLen ( 64 ), 
559                     MappingStrings { "MIF.DMTF|ComponentID|001.4" }]
560                 string SerialNumber;
561              
562                    [Description (
563                        "The code set used by this SoftwareElement. It defines the "
564                        "bit patterns that a system uses to identify characters. ISO "
565                        "defines various code sets such as UTF-8 and ISO8859-1."), 
566                     MaxLen ( 64 )]
567                 string CodeSet;
568 a.dunfey 1.1 
569                    [Description (
570                        "The manufacturer's identifier for this SoftwareElement. "
571                        "Often this will be a stock keeping unit (SKU) or a part "
572                        "number."), 
573                     MaxLen ( 64 ), 
574                     MappingStrings { "MIF.DMTF|SubComponent Software|001.6" }]
575                 string IdentificationCode;
576              
577                    [Description (
578                        "The value of this property identifies the language edition "
579                        "of this SoftwareElement. The language codes defined in ISO "
580                        "639 should be used. Where the element represents a "
581                        "multi-lingual or international version, the string "
582                        "\"Multilingual\" should be used."), 
583                     MaxLen ( 32 ), 
584                     MappingStrings { "MIF.DMTF|SubComponent Software|001.7" }]
585                 string LanguageEdition;
586              };
587              
588              
589 a.dunfey 1.1 // ==================================================================
590              // SoftwareFeature
591              // ==================================================================
592                 [Version ( "2.6.0" ), Description (
593                     "The CIM_SoftwareFeature class defines a particular function or "
594                     "capability of a product or application system. This class "
595                     "captures a level of granularity describing a unit of "
596                     "installation, rather than the units that reflect how the "
597                     "product is built or packaged. The latter detail is captured "
598                     "using a CIM_SoftwareElement class. When a SoftwareFeature can "
599                     "exist on multiple platforms or operating systems (for example, "
600                     "a client component of a three tiered client/server application "
601                     "that runs on Solaris, Windows NT, and Windows 95), the Feature "
602                     "is a collection of all the SoftwareElements for these "
603                     "different platforms. In this case, the users of the model must "
604                     "be aware of this situation since typically they will be "
605                     "interested in a sub-collection of the SoftwareElements "
606                     "required for a particular platform. \n"
607                     "SoftwareFeatures are always defined in the context of a "
608                     "CIM_Product, using the CIM_ProductSoftwareFeature association. "
609                     "Features are delivered through Products. Optionally, "
610 a.dunfey 1.1        "SoftwareFeatures from one or more Products can be organized "
611                     "into ApplicationSystems using the "
612                     "CIM_ApplicationSystemSoftwareFeature association.")]
613              class CIM_SoftwareFeature : CIM_LogicalElement {
614              
615                    [Key, Propagated ( "CIM_Product.IdentifyingNumber" ), 
616                     Description (
617                        "The scoping Product's identification."), 
618                     MaxLen ( 64 )]
619                 string IdentifyingNumber;
620              
621                    [Key, Propagated ( "CIM_Product.Name" ), Description (
622                        "The scoping Product's commonly used name."), 
623                     MaxLen ( 256 )]
624                 string ProductName;
625              
626                    [Key, Propagated ( "CIM_Product.Vendor" ), Description (
627                        "The scoping Product's supplier."), 
628                     MaxLen ( 256 )]
629                 string Vendor;
630              
631 a.dunfey 1.1       [Key, Propagated ( "CIM_Product.Version" ), Description (
632                        "The scoping Product's version."), 
633                     MaxLen ( 64 )]
634                 string Version;
635              
636                    [Key, Override ( "Name" ), Description (
637                        "The Name property defines the unique label by which the "
638                        "SoftwareFeature is identified. This label should be a "
639                        "human-readable name that uniquely identifies the element in "
640                        "the context of the element's namespace."), 
641                     MaxLen ( 256 )]
642                 string Name;
643              };
644              
645              
646              // ==================================================================
647              // SoftwareFeatureSoftwareElements
648              // ==================================================================
649                 [Association, Aggregation, Version ( "2.6.0" ), Description (
650                     "SoftwareFeatureSoftwareElements identifies the Software "
651                     "Elements that make up a particular SoftwareFeature.")]
652 a.dunfey 1.1 class CIM_SoftwareFeatureSoftwareElements : CIM_Component {
653              
654                    [Aggregate, Override ( "GroupComponent" ), Description (
655                        "The SoftwareFeature that groups the SoftwareElement.")]
656                 CIM_SoftwareFeature REF GroupComponent;
657              
658                    [Override ( "PartComponent" ), Description (
659                        "The SoftwareElement that makes up the Feature.")]
660                 CIM_SoftwareElement REF PartComponent;
661              };
662              
663              
664              // ==================================================================
665              // SoftwareElementComponent
666              // ==================================================================
667                 [Association, Aggregation, Version ( "2.8.0" ), Description (
668                     "SoftwareElements may have an arbitrarily complex hierarchy. "
669                     "SoftwareElementComponent is used to construct that hierarchy. "
670                     "It should not be used to represent dependency.")]
671              class CIM_SoftwareElementComponent : CIM_Component {
672              
673 a.dunfey 1.1       [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), 
674                     Description (
675                        "The parent element in the association.")]
676                 CIM_SoftwareElement REF GroupComponent;
677              
678                    [Override ( "PartComponent" ), Description (
679                        "The child element in the association.")]
680                 CIM_SoftwareElement REF PartComponent;
681              };
682              
683              
684              // ==================================================================
685              // SoftwareFeatureComponent
686              // ==================================================================
687                 [Association, Aggregation, Version ( "2.6.0" ), Description (
688                     "The SoftwareFeatureComponent aggregation models a set of "
689                     "subordinate or independent Software Features of a Product. "
690                     "These are aggregated together to form a higher-level or large "
691                     "grain Feature under the same Product.")]
692              class CIM_SoftwareFeatureComponent : CIM_Component {
693              
694 a.dunfey 1.1       [Aggregate, Override ( "GroupComponent" ), Description (
695                        "The parent SoftwareFeature.")]
696                 CIM_SoftwareFeature REF GroupComponent;
697              
698                    [Override ( "PartComponent" ), Description (
699                        "The component SoftwareFeature.")]
700                 CIM_SoftwareFeature REF PartComponent;
701              };
702              
703              
704              // ==================================================================
705              // ProductSoftwareFeatures
706              // ==================================================================
707                 [Association, Aggregation, Version ( "2.6.0" ), Description (
708                     "The ProductSoftwareFeatures association identifies the "
709                     "SoftwareFeatures for a particular Product.")]
710              class CIM_ProductSoftwareFeatures {
711              
712                    [Key, Aggregate, Min ( 1 ), Max ( 1 ), Description (
713                        "The Product that scopes the SoftwareFeatures.")]
714                 CIM_Product REF Product;
715 a.dunfey 1.1 
716                    [Key, Weak, Description (
717                        "The SoftwareFeature in a Product.")]
718                 CIM_SoftwareFeature REF Component;
719              };
720              
721              
722              // ==================================================================
723              // ApplicationSystemSoftwareFeature
724              // ==================================================================
725                 [Association, Aggregation, Version ( "2.6.0" ), Description (
726                     "The ApplicationSystemSoftwareFeature association identifies "
727                     "the Features that make up a particular ApplicationSystem. The "
728                     "SoftwareFeatures can be scoped by different Products.")]
729              class CIM_ApplicationSystemSoftwareFeature : CIM_SystemComponent {
730              
731                    [Aggregate, Override ( "GroupComponent" ), Description (
732                        "The ApplicationSystem that aggregates the Features.")]
733                 CIM_ApplicationSystem REF GroupComponent;
734              
735                    [Override ( "PartComponent" ), Description (
736 a.dunfey 1.1           "The Features in an ApplicationSystem.")]
737                 CIM_SoftwareFeature REF PartComponent;
738              };
739              
740              
741              // ==================================================================
742              // SoftwareFeatureServiceImplementation
743              // ==================================================================
744                 [Association, Version ( "2.6.0" ), Description (
745                     "An association between a Service and how it is implemented in "
746                     "software. The cardinality of this association is many-to "
747                     "-many. A Service may be provided by more than one "
748                     "SoftwareFeature. When multiple SoftwareFeatures are associated "
749                     "with a single Service, it is assumed that these elements "
750                     "operate in conjunction to provide the Service. Note that any "
751                     "SoftwareFeature may provide more than one Service. \n"
752                     "If different implementations of a Service exist, each of these "
753                     "implementations would result in individual instantiations of "
754                     "the Service object. These individual instantiations would then "
755                     "have their own associations to the unique implementations.")]
756              class CIM_SoftwareFeatureServiceImplementation : CIM_Dependency {
757 a.dunfey 1.1 
758                    [Override ( "Antecedent" ), Description (
759                        "The SoftwareFeature implementing the Service.")]
760                 CIM_SoftwareFeature REF Antecedent;
761              
762                    [Override ( "Dependent" ), Description (
763                        "The Service being implemented.")]
764                 CIM_Service REF Dependent;
765              };
766              
767              
768              // ==================================================================
769              // SoftwareFeatureSAPImplementation
770              // ==================================================================
771                 [Association, Version ( "2.8.0" ), Description (
772                     "An association between a ServiceAccessPoint and how it is "
773                     "implemented in software. The cardinality of this association "
774                     "is many-to-many. A SAP may be provided by more than one "
775                     "SoftwareFeature. When multiple SoftwareFeatures are associated "
776                     "with a single SAP, it is assumed that these elements operate "
777                     "in conjunction to provide the AccessPoint. Note that any "
778 a.dunfey 1.1        "SoftwareFeature may provide more than one ServiceAccessPoint. "
779                     "\nIf different implementations of a SAP exist, each of these "
780                     "implementations would result in individual instantiations of "
781                     "the ServiceAccessPoint object. These individual instantiations "
782                     "would then have their own associations to the unique "
783                     "implementations.")]
784              class CIM_SoftwareFeatureSAPImplementation : CIM_Dependency {
785              
786                    [Override ( "Antecedent" ), Description (
787                        "The SoftwareFeature implementing the SAP.")]
788                 CIM_SoftwareFeature REF Antecedent;
789              
790                    [Override ( "Dependent" ), Description (
791                        "The AccessPoint being implemented.")]
792                 CIM_ServiceAccessPoint REF Dependent;
793              };
794              
795              
796              // ==================================================================
797              // FRUIncludesSoftwareFeature
798              // ==================================================================
799 a.dunfey 1.1    [Association, Aggregation, Version ( "2.6.0" ), Description (
800                     "The FRUIncludesSoftwareFeature association identifies the "
801                     "SoftwareFeature(s) packaged with a particular FRU. A common "
802                     "usage is to determine whether the FRU is compatible with a "
803                     "hardware/software platform. In order to determine this, the "
804                     "following conditions need to be verified: \n"
805                     "(1) Is the physical package of the FRU compatible with the "
806                     "slots or equivalent packaging of the hardware? \n"
807                     "(2) Are there any physical constraints (such as power "
808                     "consumption) that prevent the FRU from being installed? \n"
809                     "(3) Are the SoftwareFeatures packaged with the FRU compatiable "
810                     "with the underlying operating system and other software "
811                     "already installed/to be installed on the platform? \n"
812                     "This latter question can be answered by first checking if an "
813                     "instance of FRUIncludesSoftwareFeature exists. If it does, "
814                     "then the compatibility of each SoftwareFeature can be "
815                     "determined by evaluating the Check classes for the Software "
816                     "Elements that are part of the Feature (found by traversing the "
817                     "association, SoftwareFeatureSoftwareElements). For example, "
818                     "there might be a SoftwareElementVersionCheck that declares "
819                     "that a SoftwareElement (of the FRU's Software Feature) is not "
820 a.dunfey 1.1        "compatible with current software.")]
821              class CIM_FRUIncludesSoftwareFeature {
822              
823                    [Key, Aggregate, Max ( 1 ), Description (
824                        "The field replaceable unit.")]
825                 CIM_FRU REF FRU;
826              
827                    [Key, Description (
828                        "The SoftwareFeature which is included in the FRU and whose "
829                        "SoftwareElements should be evaluated.")]
830                 CIM_SoftwareFeature REF Component;
831              };
832              
833              
834              // ==================================================================
835              // SoftwareElementServiceImplementation
836              // ==================================================================
837                 [Association, Version ( "2.6.0" ), Description (
838                     "An association between a Service and how it is implemented by "
839                     "one or more executable SoftwareElements. Note that this "
840                     "association is restricted to 'executable' Elements. In earlier "
841 a.dunfey 1.1        "phases of deployment, the SoftwareFeatureService "
842                     "Implementation association is adequate and recommended. \n"
843                     "The relationship between this association and Software "
844                     "FeatureServiceImplementation is more fully described here. "
845                     "SoftwareElementServiceImplementation allows the description of "
846                     "greater granularity than SoftwareFeatureService "
847                     "Implementation, when a SoftwareFeature is fully deployed and "
848                     "results in several executable Elements. These Elements may "
849                     "implement several different Services. \n"
850                     "Since SoftwareFeatures decompose into SoftwareElements, it is "
851                     "possible to describe how software implements a Service by "
852                     "using either this association or the SoftwareFeature "
853                     "ServiceImplementation relationship. One or the other should be "
854                     "chosen. Both associations should not be used for a single "
855                     "Service instance, since their information is redundant. \n"
856                     "This relationship is especially important when the "
857                     "SoftwareFeature and Product aspects are not described for a "
858                     "SoftwareElement (ie, when the acquisition and deployment of "
859                     "the software is not detailed). In this case, the Software "
860                     "ElementServiceImplementation association is the only one "
861                     "available to describe how a Service is implemented in "
862 a.dunfey 1.1        "software. Since SoftwareFeatures are not instantiated, it is "
863                     "not possible to use the SoftwareFeatureService Implementation "
864                     "association. \n"
865                     "The cardinality of this association is many-to-many. A Service "
866                     "may be provided by more than one SoftwareElement. If this is "
867                     "true, it is assumed that the SoftwareElements operate in "
868                     "conjunction. And, any SoftwareElement may provide more than "
869                     "one Service.")]
870              class CIM_SoftwareElementServiceImplementation : CIM_Dependency {
871              
872                    [Override ( "Antecedent" ), Description (
873                        "The executable SoftwareElement implementing the Service.")]
874                 CIM_SoftwareElement REF Antecedent;
875              
876                    [Override ( "Dependent" ), Description (
877                        "The Service implemented by the SoftwareElement.")]
878                 CIM_Service REF Dependent;
879              };
880              
881              
882              // ==================================================================
883 a.dunfey 1.1 // SoftwareElementSAPImplementation
884              // ==================================================================
885                 [Association, Version ( "2.6.0" ), Description (
886                     "An association between a ServiceAccessPoint and how it is "
887                     "implemented by one or more executable SoftwareElements. Note "
888                     "that this association is restricted to 'executable' Elements. "
889                     "In earlier phases of deployment, the Software "
890                     "FeatureSAPImplementation association is adequate and "
891                     "recommended. \n"
892                     "The relationship between this association and Software "
893                     "FeatureSAPImplementation is more fully described here. "
894                     "SoftwareElementSAPImplementation allows the description of "
895                     "greater granularity than SoftwareFeatureSAPImplementation, "
896                     "when a SoftwareFeature is fully deployed and results in "
897                     "several executable Elements. These Elements may implement "
898                     "several different ServiceAccessPoints. \n"
899                     "Since SoftwareFeatures decompose into SoftwareElements, it is "
900                     "possible to describe how software implements a SAP by using "
901                     "either this association or the SoftwareFeatureSAP "
902                     "Implementation relationship. One or the other should be "
903                     "chosen. Both associations should not be used for a particular "
904 a.dunfey 1.1        "AccessPoint, since their information is redundant. \n"
905                     "This relationship is especially important when the "
906                     "SoftwareFeature and Product aspects are not described for a "
907                     "SoftwareElement (ie, when the acquisition and deployment of "
908                     "the software is not detailed). In this case, the Software "
909                     "ElementSAPImplementation association is the only one available "
910                     "to describe how an AccessPoint is implemented in software. "
911                     "Since SoftwareFeatures are not instantiated, it is not "
912                     "possible to use the SoftwareFeatureSAP Implementation "
913                     "association. \n"
914                     "The cardinality of this association is many-to-many. A "
915                     "ServiceAccessPoint may be provided by more than one Software "
916                     "Element. (If this is true, it is assumed that the Software "
917                     "Elements operate in conjunction.) And, any SoftwareElement may "
918                     "provide more than one SAP.")]
919              class CIM_SoftwareElementSAPImplementation : CIM_Dependency {
920              
921                    [Override ( "Antecedent" ), Description (
922                        "The executable SoftwareElement implementing the SAP.")]
923                 CIM_SoftwareElement REF Antecedent;
924              
925 a.dunfey 1.1       [Override ( "Dependent" ), Description (
926                        "The ServiceAccessPoint implemented by the SoftwareElement.")]
927                 CIM_ServiceAccessPoint REF Dependent;
928              };
929              
930              
931              // ==================================================================
932              // end of file
933              // ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2