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: Preliminary
7 // Date: 29 May 2003
8 // CVS: $Revision: 1.3 $
9 // ===================================================================
10 // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
11 // All rights reserved.
12 // DMTF is a not-for-profit association of industry members dedicated
13 // to promoting enterprise and systems management and interoperability.
14 // DMTF specifications and documents may be reproduced for uses
15 // consistent with this purpose by members and non-members,
16 // provided that correct attribution is given.
17 // As DMTF specifications may be revised from time to time,
18 // the particular version and release date should always be noted.
19 //
20 // Implementation of certain elements of this standard or proposed
21 // standard may be subject to third party patent rights, including
22 tony 1.1 // provisional patent rights (herein "patent rights"). DMTF makes
23 // no representations to users of the standard as to the existence
24 // of such rights, and is not responsible to recognize, disclose, or
25 // identify any or all such third party patent right, owners or
26 // claimants, nor for any incomplete or inaccurate identification or
27 // disclosure of such rights, owners or claimants. DMTF shall have no
28 // liability to any party, in any manner or circumstance, under any
29 // legal theory whatsoever, for failure to recognize, disclose, or
30 // identify any such third party patent rights, or for such party's
31 // reliance on the standard or incorporation thereof in its product,
32 // protocols or testing procedures. DMTF shall have no liability to
33 // any party implementing such standard, whether such implementation
34 // is foreseeable or not, nor to any patent owner or claimant, and shall
35 // have no liability or responsibility for costs or losses incurred if
36 // a standard is withdrawn or modified after publication, and shall be
37 // indemnified and held harmless by any party implementing the
38 // standard from any and all claims of infringement by a patent owner
39 // for such implementations.
40 //
41 // For information about patents held by third-parties which have
42 // notified the DMTF that, in their opinion, such patent may relate to
43 tony 1.1 // or impact implementations of DMTF standards, visit
44 // http://www.dmtf.org/about/policies/disclosures.php.
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 tony 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 tony 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 tony 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 // ===================================================================
115
116 #pragma locale ("en_US")
117
118
119 // ==================================================================
120 // ApplicationSystem
121 // ==================================================================
122 [Version ("2.6.0"), Description (
123 "The CIM_ApplicationSystem class is used to represent an "
124 "application or a software system that supports a particular "
125 "business function and that can be managed as an independent "
126 "unit. Such a system can be decomposed into its functional "
127 tony 1.1 "components using the CIM_SoftwareFeature class. The Features "
128 "for a particular application or software system are located "
129 "using the CIM_ApplicationSystemSoftwareFeature association.") ]
130 class CIM_ApplicationSystem : CIM_System {
131 };
132
133
134 // ==============================================================
135 // ApplicationSystemDirectory
136 // ==============================================================
137 [Association, Experimental, Version ("2.7.1000"), Description (
138 "CIM_ApplicationSystemDirectory is an association used to "
139 "establish a relationship between an ApplicationSystem and the "
140 "Directories that it uses. This is used to identify the single "
141 "root installation directory for an ApplicationSystem, as well "
142 "as the logical purpose of other directories utilized by the "
143 "ApplicationSystem. Note: This class is intended to be a "
144 "subclass of CIM_Dependency but the current specification "
145 "prohibits the extension of parent keys in a subclass. This "
146 "will be revisited when the specification changes to make the "
147 "intended inheritance possible.") ]
148 tony 1.1 class CIM_ApplicationSystemDirectory {
149
150 [Key, Description (
151 "A Directory which is used by the associated "
152 "ApplicationSystem.") ]
153 CIM_Directory REF Antecedent;
154
155 [Key, Description (
156 "An ApplicationSystem which depends upon the associated "
157 "Directory.") ]
158 CIM_ApplicationSystem REF Dependent;
159
160 [Key, Description (
161 "Name is a string representing a meaningful identifier for "
162 "referring to the associated Directory in the context of the "
163 "ApplicationSystem. As an example, this might be the name "
164 "of the environment variable used to hold the same directory "
165 "information."),
166 MaxLen (1024) ]
167 string Name;
168
169 tony 1.1 [Required, Description (
170 "ApplicationDirectoryUse is an enumerated array which "
171 "indicates the purpose(s) of the associated directory within "
172 "the context of the ApplicationSystem. A value of \"Root\" "
173 "indicates that the associated directory is the one and only "
174 "root directory for the ApplicationSystem. This would "
175 "typically be the directory path in which the application is "
176 "installed. For applications which are installed in "
177 "multiple directories, this would represent the directory "
178 "from which initial program and configuration files are "
179 "loaded. A value of \"Program\" indicates that the "
180 "directory contains supplemental program files used by the "
181 "ApplicationSystem. A value of \"Data\" indicates that the "
182 "directory is used for data storage. A value of \"Log\" "
183 "indicates that the directory is used to contain log files "
184 "for the ApplicationSystem. It is considered invalid for "
185 "multiple associations from the same ApplicationSystem to "
186 "have a value of \"Root\". The \"Unknown\" state is "
187 "expected to be short-lived and would typically be seen only "
188 "in the installation phase of an ApplicationSystem, if at "
189 "all. A value of \"Temp\" indicates that the associated "
190 tony 1.1 "directory is used to contain temporary files created by the "
191 "ApplicationSystem. The \"Other\" state should only be used "
192 "in cases where none of the designated values are "
193 "appropriate. This is intended to enable use of the model "
194 "for unanticipated purposes and would usually signal a need "
195 "to extend this enumeration through the standards process."),
196 ValueMap {"0", "1", "2", "3", "4", "5", "6"},
197 Values {"Unknown", "Other", "Root", "Program", "Data", "Log",
198 "Temp"},
199 ArrayType ("Indexed"),
200 ModelCorrespondence {
201 "CIM_ApplicationSystemDirectory.OtherUseDescriptions"} ]
202 uint16 ApplicationDirectoryUses[];
203
204 [Description (
205 "A string describing how the ApplicationSystem utilizes the "
206 "associated directory when the corresponding entry in "
207 "ApplicationDirectoryUses is set to 1, \"Other\". This "
208 "attribute is meaningless and should be null when the "
209 "corresponding entry in ApplicationDirectoryUses is set to "
210 "any value other than 1."),
211 tony 1.1 ArrayType ("Indexed"),
212 ModelCorrespondence {
213 "CIM_ApplicationSystemDirectory.ApplicationDirectoryUses"} ]
214 string OtherUseDescriptions[];
215 };
216
217
218 // ==================================================================
219 // SoftwareElement
220 // ==================================================================
221 [Version ("2.7.0"), Description (
222 "The CIM_SoftwareElement class is used to decompose a "
223 "CIM_SoftwareFeature object into a set of individually "
224 "manageable or deployable parts, for a particular platform. A "
225 "SoftwareElement's platform is uniquely identified by its "
226 "underlying hardware architecture and operating system (for "
227 "example Sun Solaris on Sun Sparc or Windows NT on Intel "
228 "platforms). As such, to understand the details of how the "
229 "functionality of a particular SoftwareFeature is provided on a "
230 "particular platform, the CIM_SoftwareElement objects "
231 "referenced by CIM_SoftwareFeatureSoftwareElements associations "
232 tony 1.1 "are organized in disjoint sets based on the "
233 "TargetOperatingSystem property. A CIM_SoftwareElement object "
234 "captures the management details of a part or component in one "
235 "of four states characterized by the SoftwareElementState "
236 "property.") ]
237 class CIM_SoftwareElement : CIM_LogicalElement {
238
239 [Key, Override ("Name"), Description (
240 "The name used to identify this SoftwareElement."),
241 MaxLen (256) ]
242 string Name;
243
244 [Key, Description (
245 "Software Version should be in the form "
246 "<Major>.<Minor>.<Revision> or "
247 "<Major>.<Minor><letter><revision>."),
248 MaxLen (64),
249 MappingStrings {"MIF.DMTF|SubComponent Software |001.4"} ]
250 string Version;
251
252 [Key, Description (
253 tony 1.1 "The SoftwareElementState is defined in this model to "
254 "identify various states of a SoftwareElement's life cycle.\n"
255 "- A SoftwareElement in the deployable state describes the "
256 "details necessary to successfully distribute it and the "
257 "details (Checks and Actions) required to move it to the "
258 "installable state (i.e, the next state).\n"
259 "- A SoftwareElement in the installable state describes the "
260 "details necessary to successfully install it and the "
261 "details (Checks and Actions) required to create an element "
262 "in the executable state (i.e., the next state).\n"
263 "- A SoftwareElement in the executable state describes the "
264 "details necessary to successfully start it and the details "
265 "(Checks and Actions) required to move it to the running "
266 "state (i.e., the next state).\n"
267 "- A SoftwareElement in the running state describes the "
268 "details necessary to manage the started element."),
269 ValueMap {"0", "1", "2", "3"},
270 Values {"Deployable", "Installable", "Executable", "Running"} ]
271 uint16 SoftwareElementState;
272
273 [Key, Description (
274 tony 1.1 "This is an identifier for the SoftwareElement and is "
275 "designed to be used in conjunction with other keys to "
276 "create a unique representation of the element."),
277 MaxLen (256) ]
278 string SoftwareElementID;
279
280 [Key, Description (
281 "The TargetOperatingSystem property specifies the element's "
282 "operating system environment. The value of this property "
283 "does not ensure that it is binary executable. Two other "
284 "pieces of information are needed. First, the version of "
285 "the OS needs to be specified using the class, CIM_OSVersion "
286 "Check. The second piece of information is the architecture "
287 "that the OS runs on. This information is verified using "
288 "CIM_ArchitectureCheck. The combination of these constructs "
289 "clearly identifies the level of OS required for a "
290 "particular SoftwareElement."),
291 ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
292 "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
293 "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
294 "30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
295 tony 1.1 "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
296 "50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
297 "60", "61", "62", "63", "64", "65", "66", "67", "68"},
298 Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", "DECNT",
299 "Tru64 UNIX", "OpenVMS", "HPUX", "AIX",
300 //10
301 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x", "WIN95",
302 "WIN98", "WINNT", "WINCE",
303 //20
304 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
305 "SCO UnixWare", "SCO OpenServer", "Sequent", "IRIX",
306 "Solaris",
307 //30
308 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT", "BS2000",
309 "LINUX", "Lynx", "XENIX", "VM",
310 //40
311 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD", "GNU Hurd",
312 "OS9", "MACH Kernel", "Inferno", "QNX", "EPOC",
313 //50
314 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep",
315 "PalmPilot", "Rhapsody", "Windows 2000", "Dedicated",
316 tony 1.1 //60
317 "OS/390", "VSE", "TPF","Windows (R) Me", "Caldera Open UNIX",
318 "OpenBSD", "Not Applicable", "Windows XP", "z/OS"},
319 MappingStrings {"MIF.DMTF|SubComponent Software|001.8"},
320 ModelCorrespondence {"CIM_OperatingSystem.OSType"} ]
321 uint16 TargetOperatingSystem;
322
323 [Description (
324 "The OtherTargetOS property records the manufacturer and "
325 "operating system type for a SoftwareElement when the "
326 "TargetOperatingSystem property has a value of 1 "
327 "(\"Other\"). For all other values of "
328 "TargetOperatingSystem, the OtherTargetOS property is NULL."),
329 MaxLen (64),
330 ModelCorrespondence {"CIM_OperatingSystem.OtherTypeDescription"} ]
331 string OtherTargetOS;
332
333 [Description (
334 "Manufacturer of this SoftwareElement."),
335 MaxLen (256),
336 MappingStrings {"MIF.DMTF|SubComponent Software|001.3"} ]
337 tony 1.1 string Manufacturer;
338
339 [Description (
340 "The internal identifier for this compilation of "
341 "SoftwareElement."),
342 MaxLen (64),
343 MappingStrings {"MIF.DMTF|Software Component Information|002.4"} ]
344 string BuildNumber;
345
346 [Description (
347 "The assigned serial number of this SoftwareElement."),
348 MaxLen (64),
349 MappingStrings {"MIF.DMTF|ComponentID|001.4"} ]
350 string SerialNumber;
351
352 [Description (
353 "The code set used by this SoftwareElement. It defines the "
354 "bit patterns that a system uses to identify characters. "
355 "ISO defines various code sets such as UTF-8 and ISO8859-1."),
356 MaxLen (64) ]
357 string CodeSet;
358 tony 1.1
359 [Description (
360 "The manufacturer's identifier for this SoftwareElement. "
361 "Often this will be a stock keeping unit (SKU) or a part "
362 "number."),
363 MaxLen (64),
364 MappingStrings {"MIF.DMTF|SubComponent Software|001.6"} ]
365 string IdentificationCode;
366
367 [Description (
368 "The value of this property identifies the language edition "
369 "of this SoftwareElement. The language codes defined in ISO "
370 "639 should be used. Where the element represents a "
371 "multi-lingual or international version, the string "
372 "\"Multilingual\" should be used."),
373 MaxLen (32),
374 MappingStrings {"MIF.DMTF|SubComponent Software|001.7"} ]
375 string LanguageEdition;
376 };
377
378
379 tony 1.1 // ==================================================================
380 // SoftwareFeature
381 // ==================================================================
382 [Version ("2.6.0"), Description (
383 "The CIM_SoftwareFeature class defines a particular function or "
384 "capability of a product or application system. This class "
385 "captures a level of granularity describing a unit of "
386 "installation, rather than the units that reflect how the "
387 "product is built or packaged. The latter detail is captured "
388 "using a CIM_SoftwareElement class. When a SoftwareFeature can "
389 "exist on multiple platforms or operating systems (for example, "
390 "a client component of a three tiered client/server application "
391 "that runs on Solaris, Windows NT, and Windows 95), the Feature "
392 "is a collection of all the SoftwareElements for these "
393 "different platforms. In this case, the users of the model "
394 "must be aware of this situation since typically they will be "
395 "interested in a sub-collection of the SoftwareElements "
396 "required for a particular platform.\n"
397 "SoftwareFeatures are always defined in the context of a "
398 "CIM_Product, using the CIM_ProductSoftwareFeature "
399 "association. Features are delivered through Products. "
400 tony 1.1 "Optionally, SoftwareFeatures from one or more Products can be "
401 "organized into ApplicationSystems using the "
402 "CIM_ApplicationSystemSoftwareFeature association.") ]
403 class CIM_SoftwareFeature : CIM_LogicalElement {
404
405 [Key, Propagated ("CIM_Product.IdentifyingNumber"), Description (
406 "The scoping Product's identification."),
407 MaxLen (64) ]
408 string IdentifyingNumber;
409
410 [Key, Propagated ("CIM_Product.Name"), Description (
411 "The scoping Product's commonly used name."),
412 MaxLen (256) ]
413 string ProductName;
414
415 [Key, Propagated ("CIM_Product.Vendor"), Description (
416 "The scoping Product's supplier."),
417 MaxLen (256) ]
418 string Vendor;
419
420 [Key, Propagated ("CIM_Product.Version"), Description (
421 tony 1.1 "The scoping Product's version."),
422 MaxLen (64) ]
423 string Version;
424
425 [Key, Override ("Name"), Description (
426 "The Name property defines the unique label by which the "
427 "SoftwareFeature is identified. This label should be a "
428 "human-readable name that uniquely identifies the element in "
429 "the context of the element's namespace."),
430 MaxLen (256) ]
431 string Name;
432 };
433
434
435 // ==================================================================
436 // SoftwareFeatureSoftwareElements
437 // ==================================================================
438 [Association, Aggregation, Version ("2.6.0"), Description (
439 "SoftwareFeatureSoftwareElements identifies the Software "
440 "Elements that make up a particular SoftwareFeature.") ]
441 class CIM_SoftwareFeatureSoftwareElements : CIM_Component {
442 tony 1.1
443 [Aggregate, Override ("GroupComponent"), Description (
444 "The SoftwareFeature that groups the SoftwareElement.") ]
445 CIM_SoftwareFeature REF GroupComponent;
446
447 [Override ("PartComponent"), Description (
448 "The SoftwareElement that makes up the Feature.") ]
449 CIM_SoftwareElement REF PartComponent;
450 };
451
452
453 // ==================================================================
454 // SoftwareElementComponent
455 // ==================================================================
456 [Association, Experimental, Aggregation, Version ("2.7.1000"),
457 Description (
458 "SoftwareElements may have an arbitrarily complex hierarchy. "
459 "SoftwareElementComponent is used to construct that hierarchy. "
460 "It should not be used to represent dependency.") ]
461 class CIM_SoftwareElementComponent : CIM_Component {
462
463 tony 1.1 [Aggregate, Override ("GroupComponent"), Min (1), Max (1),
464 Description (
465 "The parent element in the association.") ]
466 CIM_SoftwareElement REF GroupComponent;
467
468 [Override ("PartComponent"), Description (
469 "The child element in the association.") ]
470 CIM_SoftwareElement REF PartComponent;
471 };
472
473
474 // ==================================================================
475 // SoftwareFeatureComponent
476 // ==================================================================
477 [Association, Aggregation, Version ("2.6.0"), Description (
478 "The SoftwareFeatureComponent aggregation models a set of "
479 "subordinate or independent Software Features of a Product. "
480 "These are aggregated together to form a higher-level or large "
481 "grain Feature under the same Product.") ]
482 class CIM_SoftwareFeatureComponent : CIM_Component {
483
484 tony 1.1 [Aggregate, Override ("GroupComponent"), Description (
485 "The parent SoftwareFeature.") ]
486 CIM_SoftwareFeature REF GroupComponent;
487
488 [Override ("PartComponent"), Description (
489 "The component SoftwareFeature.") ]
490 CIM_SoftwareFeature REF PartComponent;
491 };
492
493
494 // ==================================================================
495 // ProductSoftwareFeatures
496 // ==================================================================
497 [Association, Aggregation, Version ("2.6.0"), Description (
498 "The ProductSoftwareFeatures association identifies the "
499 "SoftwareFeatures for a particular Product.") ]
500 class CIM_ProductSoftwareFeatures {
501
502 [Key, Aggregate, Min (1), Max (1), Description (
503 "The Product that scopes the SoftwareFeatures.") ]
504 CIM_Product REF Product;
505 tony 1.1
506 [Key, Weak, Description (
507 "The SoftwareFeature in a Product.") ]
508 CIM_SoftwareFeature REF Component;
509 };
510
511
512 // ==================================================================
513 // ApplicationSystemSoftwareFeature
514 // ==================================================================
515 [Association, Aggregation, Version ("2.6.0"), Description (
516 "The ApplicationSystemSoftwareFeature association identifies "
517 "the Features that make up a particular ApplicationSystem. The "
518 "SoftwareFeatures can be scoped by different Products.") ]
519 class CIM_ApplicationSystemSoftwareFeature : CIM_SystemComponent {
520
521 [Aggregate, Override ("GroupComponent"), Description (
522 "The ApplicationSystem that aggregates the Features.") ]
523 CIM_ApplicationSystem REF GroupComponent;
524
525 [Override ("PartComponent"), Description (
526 tony 1.1 "The Features in an ApplicationSystem.") ]
527 CIM_SoftwareFeature REF PartComponent;
528 };
529
530
531 // ==================================================================
532 // SoftwareFeatureServiceImplementation
533 // ==================================================================
534 [Association, Version ("2.6.0"), Description (
535 "An association between a Service and how it is implemented in "
536 "software. The cardinality of this association is many-to "
537 "-many. A Service may be provided by more than one "
538 "SoftwareFeature. When multiple SoftwareFeatures are "
539 "associated with a single Service, it is assumed that these "
540 "elements operate in conjunction to provide the Service. Note "
541 "that any SoftwareFeature may provide more than one Service.\n"
542 "If different implementations of a Service exist, each of these "
543 "implementations would result in individual instantiations of "
544 "the Service object. These individual instantiations would "
545 "then have their own associations to the unique "
546 "implementations.") ]
547 tony 1.1 class CIM_SoftwareFeatureServiceImplementation : CIM_Dependency {
548
549 [Override ("Antecedent"), Description (
550 "The SoftwareFeature implementing the Service.") ]
551 CIM_SoftwareFeature REF Antecedent;
552
553 [Override ("Dependent"), Description (
554 "The Service being implemented.") ]
555 CIM_Service REF Dependent;
556 };
557
558
559 // ==================================================================
560 // SoftwareFeatureSAPImplementation
561 // ==================================================================
562 [Association, Version ("2.7.1000"), Description (
563 "An association between a ServiceAccessPoint and how it is "
564 "implemented in software. The cardinality of this association "
565 "is many-to-many. A SAP may be provided by more than one "
566 "SoftwareFeature. When multiple SoftwareFeatures are "
567 "associated with a single SAP, it is assumed that these "
568 tony 1.1 "elements operate in conjunction to provide the AccessPoint. "
569 "Note that any SoftwareFeature may provide more than one "
570 "ServiceAccessPoint.\n"
571 "If different implementations of a SAP exist, each of these "
572 "implementations would result in individual instantiations of "
573 "the ServiceAccessPoint object. These individual "
574 "instantiations would then have their own associations to the "
575 "unique implementations.") ]
576 class CIM_SoftwareFeatureSAPImplementation : CIM_Dependency {
577
578 [Override ("Antecedent"), Description (
579 "The SoftwareFeature implementing the SAP.") ]
580 CIM_SoftwareFeature REF Antecedent;
581
582 [Override ("Dependent"), Description (
583 "The AccessPoint being implemented.") ]
584 CIM_ServiceAccessPoint REF Dependent;
585 };
586
587
588 // ==================================================================
589 tony 1.1 // FRUIncludesSoftwareFeature
590 // ==================================================================
591 [Association, Aggregation, Version ("2.6.0"), Description (
592 "The FRUIncludesSoftwareFeature association identifies the "
593 "SoftwareFeature(s) packaged with a particular FRU. A common "
594 "usage is to determine whether the FRU is compatible with a "
595 "hardware/software platform. In order to determine this, the "
596 "following conditions need to be verified:\n"
597 "(1) Is the physical package of the FRU compatible with the "
598 "slots or equivalent packaging of the hardware?\n"
599 "(2) Are there any physical constraints (such as power "
600 "consumption) that prevent the FRU from being installed?\n"
601 "(3) Are the SoftwareFeatures packaged with the FRU compatiable "
602 "with the underlying operating system and other software "
603 "already installed/to be installed on the platform?\n"
604 "This latter question can be answered by first checking if an "
605 "instance of FRUIncludesSoftwareFeature exists. If it does, "
606 "then the compatibility of each SoftwareFeature can be "
607 "determined by evaluating the Check classes for the Software "
608 "Elements that are part of the Feature (found by traversing the "
609 "association, SoftwareFeatureSoftwareElements). For example, "
610 tony 1.1 "there might be a SoftwareElementVersionCheck that declares "
611 "that a SoftwareElement (of the FRU's Software Feature) is not "
612 "compatible with current software.") ]
613 class CIM_FRUIncludesSoftwareFeature {
614
615 [Key, Aggregate, Max (1), Description (
616 "The field replaceable unit.") ]
617 CIM_FRU REF FRU;
618
619 [Key, Description (
620 "The SoftwareFeature which is included in the FRU and whose "
621 "SoftwareElements should be evaluated.") ]
622 CIM_SoftwareFeature REF Component;
623 };
624
625
626 // ==================================================================
627 // SoftwareElementServiceImplementation
628 // ==================================================================
629 [Association, Version ("2.6.0"), Description (
630 "An association between a Service and how it is implemented by "
631 tony 1.1 "one or more executable SoftwareElements. Note that this "
632 "association is restricted to 'executable' Elements. In "
633 "earlier phases of deployment, the SoftwareFeatureService "
634 "Implementation association is adequate and recommended.\n"
635 "The relationship between this association and Software "
636 "FeatureServiceImplementation is more fully described here. "
637 "SoftwareElementServiceImplementation allows the description of "
638 "greater granularity than SoftwareFeatureService "
639 "Implementation, when a SoftwareFeature is fully deployed and "
640 "results in several executable Elements. These Elements may "
641 "implement several different Services.\n"
642 "Since SoftwareFeatures decompose into SoftwareElements, it is "
643 "possible to describe how software implements a Service by "
644 "using either this association or the SoftwareFeature "
645 "ServiceImplementation relationship. One or the other should "
646 "be chosen. Both associations should not be used for a single "
647 "Service instance, since their information is redundant.\n"
648 "This relationship is especially important when the "
649 "SoftwareFeature and Product aspects are not described for a "
650 "SoftwareElement (ie, when the acquisition and deployment of "
651 "the software is not detailed). In this case, the Software "
652 tony 1.1 "ElementServiceImplementation association is the only one "
653 "available to describe how a Service is implemented in "
654 "software. Since SoftwareFeatures are not instantiated, it is "
655 "not possible to use the SoftwareFeatureService Implementation "
656 "association.\n"
657 "The cardinality of this association is many-to-many. A "
658 "Service may be provided by more than one SoftwareElement. If "
659 "this is true, it is assumed that the SoftwareElements operate "
660 "in conjunction. And, any SoftwareElement may provide more "
661 "than one Service.") ]
662 class CIM_SoftwareElementServiceImplementation : CIM_Dependency {
663
664 [Override ("Antecedent"), Description (
665 "The executable SoftwareElement implementing the Service.") ]
666 CIM_SoftwareElement REF Antecedent;
667
668 [Override ("Dependent"), Description (
669 "The Service implemented by the SoftwareElement.") ]
670 CIM_Service REF Dependent;
671 };
672
673 tony 1.1
674 // ==================================================================
675 // SoftwareElementSAPImplementation
676 // ==================================================================
677 [Association, Version ("2.6.0"), Description (
678 "An association between a ServiceAccessPoint and how it is "
679 "implemented by one or more executable SoftwareElements. Note "
680 "that this association is restricted to 'executable' Elements. "
681 "In earlier phases of deployment, the Software "
682 "FeatureSAPImplementation association is adequate and "
683 "recommended.\n"
684 "The relationship between this association and Software "
685 "FeatureSAPImplementation is more fully described here. "
686 "SoftwareElementSAPImplementation allows the description of "
687 "greater granularity than SoftwareFeatureSAPImplementation, "
688 "when a SoftwareFeature is fully deployed and results in "
689 "several executable Elements. These Elements may implement "
690 "several different ServiceAccessPoints.\n"
691 "Since SoftwareFeatures decompose into SoftwareElements, it is "
692 "possible to describe how software implements a SAP by using "
693 "either this association or the SoftwareFeatureSAP "
694 tony 1.1 "Implementation relationship. One or the other should be "
695 "chosen. Both associations should not be used for a particular "
696 "AccessPoint, since their information is redundant.\n"
697 "This relationship is especially important when the "
698 "SoftwareFeature and Product aspects are not described for a "
699 "SoftwareElement (ie, when the acquisition and deployment of "
700 "the software is not detailed). In this case, the Software "
701 "ElementSAPImplementation association is the only one available "
702 "to describe how an AccessPoint is implemented in software. "
703 "Since SoftwareFeatures are not instantiated, it is not "
704 "possible to use the SoftwareFeatureSAP Implementation "
705 "association.\n"
706 "The cardinality of this association is many-to-many. A "
707 "ServiceAccessPoint may be provided by more than one Software "
708 "Element. (If this is true, it is assumed that the Software "
709 "Elements operate in conjunction.) And, any SoftwareElement may "
710 "provide more than one SAP.") ]
711 class CIM_SoftwareElementSAPImplementation : CIM_Dependency {
712
713 [Override ("Antecedent"), Description (
714 "The executable SoftwareElement implementing the SAP.") ]
715 tony 1.1 CIM_SoftwareElement REF Antecedent;
716
717 [Override ("Dependent"), Description (
718 "The ServiceAccessPoint implemented by the SoftwareElement.") ]
719 CIM_ServiceAccessPoint REF Dependent;
720 };
721
722
723 // ==================================================================
724 // end of file
725 // ==================================================================
|