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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2