1 karl 1.1 // ===================================================================
2 // Title: Application MOF Specification 2.7,
3 // Software Features and Elements in support of Deployment
4 // Filename: Application27_DeploymentModel.mof
5 // Version: 2.7.0
6 // Status: Preliminary
7 // Date: 09/22/2002
8 // CVS: $Revision: 1.4 $
9 // ===================================================================
10 // Copyright 1998-2002 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 karl 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 karl 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 (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 karl 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 *TargetOperatingSystem
76 // property
77 //
78 // 03/09/2002 CIM 2.6 Final release
79 // - CR658 Add Key Qualifier to association references
80 // in Appl and SysDev MOFs. This changed
81 // CIM_ProductSoftwareFeatures,
82 // CIM_InstalledSoftwareElement,
83 // CIM_InstalledProductImage
84 // - CR746 Add Version qualifier (Version 2.6.0) to
85 karl 1.1 // all classes and associations.
86 // - CR823 Cleanup all Descriptions and other textual issues
87 // - CR828 Fix inconsistencies between Device, Appl and
88 // System Models wrt processor and OS type enums
89 //
90 // 06/06/2002 CIM 2.7 Preliminary Release
91 // - CR 618 - Add Pentium 4 Processor
92 // - CR 686 - Add Xeon Processor
93 // - CR 770 - Add WinXP to OSTypes
94 // - CR 772 - Add new AMD Processor types
95 // - CR 839 - Add other Processor Types
96 // - Define Application MOF structure
97 //
98 // 09/22/2002 CIM 2.7 Public Preliminary Release
99 // - CR 876 - Rename the "Digital Unix" operating system
100 // type to "Tru64 UNIX".
101 // ===================================================================
102
103 #pragma locale ("en_US")
104
105
106 karl 1.1 // ==================================================================
107 // ApplicationSystem
108 // ==================================================================
109 [Version("2.6.0"), Description (
110 "The CIM_ApplicationSystem class is used to represent an "
111 "application or a software system that supports a particular "
112 "business function and that can be managed as an independent "
113 "unit. Such a system can be decomposed into its functional "
114 "components using the CIM_SoftwareFeature class. The "
115 "Features for a particular application or software system "
116 "are located using the CIM_ApplicationSystemSoftwareFeature "
117 "association.") ]
118 class CIM_ApplicationSystem : CIM_System {
119 };
120
121
122 // ==================================================================
123 // SoftwareElement
124 // ==================================================================
125 [Version("2.7.0"), Description (
126 "The CIM_SoftwareElement class is used to decompose a "
127 karl 1.1 "CIM_SoftwareFeature object into a set of individually "
128 "manageable or deployable parts, for a particular platform. "
129 "A SoftwareElement's platform is uniquely identified by "
130 "its underlying hardware architecture and operating system "
131 "(for example Sun Solaris on Sun Sparc or Windows NT on "
132 "Intel platforms). As such, to understand the details of "
133 "how the functionality of a particular SoftwareFeature is "
134 "provided on a particular platform, the CIM_SoftwareElement "
135 "objects referenced by CIM_SoftwareFeatureSoftwareElements "
136 "associations are organized in disjoint sets based on the "
137 "TargetOperatingSystem property. A CIM_SoftwareElement "
138 "object captures the management details of a part "
139 "or component in one of four states characterized by the "
140 "SoftwareElementState property.") ]
141 class CIM_SoftwareElement : CIM_LogicalElement {
142
143 [Key, MaxLen (256), Override ("Name"), Description (
144 "The name used to identify this SoftwareElement.") ]
145 string Name;
146
147 [Key, MaxLen (64), Description (
148 karl 1.1 "Software Version should be in the form "
149 "<Major>.<Minor>.<Revision> or "
150 "<Major>.<Minor><letter><revision>."),
151 MappingStrings {"MIF.DMTF|SubComponent Software |001.4"} ]
152 string Version;
153
154 [Key, Description (
155 "The SoftwareElementState is defined in this model to "
156 "identify various states of a SoftwareElement's life cycle. \n"
157 " - A SoftwareElement in the deployable state describes the "
158 "details necessary to successfully distribute it and the "
159 "details (Checks and Actions) required to move it to "
160 "the installable state (i.e, the next state). \n"
161 " - A SoftwareElement in the installable state describes the "
162 "details necessary to successfully install it and the details "
163 "(Checks and Actions) required to create an element in the "
164 "executable state (i.e., the next state). \n"
165 " - A SoftwareElement in the executable state describes the "
166 "details necessary to successfully start it and the details "
167 "(Checks and Actions) required to move it to the running "
168 "state (i.e., the next state). \n"
169 karl 1.1 " - A SoftwareElement in the running state describes the "
170 "details necessary to manage the started element."),
171 ValueMap {"0", "1", "2", "3"},
172 Values {"Deployable", "Installable", "Executable", "Running"} ]
173 uint16 SoftwareElementState;
174
175 [Key, MaxLen (256), Description (
176 "This is an identifier for the SoftwareElement and is "
177 "designed to be used in conjunction with other keys to "
178 "create a unique representation of the element.") ]
179 string SoftwareElementID;
180
181 [Key, MappingStrings {"MIF.DMTF|SubComponent Software|001.8"},
182 Description (
183 "The TargetOperatingSystem property specifies the element's "
184 "operating system environment. The value of this "
185 "property does not ensure that it is binary executable. Two "
186 "other pieces of information are needed. First, the version of "
187 "the OS needs to be specified using the class, CIM_OSVersion"
188 "Check. The second piece of information is the architecture "
189 "that the OS runs on. This information is verified using "
190 karl 1.1 "CIM_ArchitectureCheck. The combination of these constructs "
191 "clearly identifies the level of OS required for a "
192 "particular SoftwareElement."),
193 ValueMap {"0", "1", "2", "3", "4",
194 "5", "6", "7", "8", "9",
195 "10", "11", "12", "13", "14",
196 "15", "16", "17", "18", "19",
197 "20", "21", "22", "23", "24",
198 "25", "26", "27", "28", "29",
199 "30", "31", "32", "33", "34",
200 "35", "36", "37", "38", "39",
201 "40", "41", "42", "43", "44",
202 "45", "46", "47", "48", "49",
203 "50", "51", "52", "53", "54",
204 "55", "56", "57", "58", "59",
205 "60", "61", "62", "63", "64",
206 "65", "66", "67"},
207 Values {"Unknown", "Other", "MACOS", "ATTUNIX", "DGUX",
208 "DECNT", "Tru64 UNIX", "OpenVMS", "HPUX", "AIX",
209 //10
210 "MVS", "OS400", "OS/2", "JavaVM", "MSDOS",
211 karl 1.1 "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE",
212 //20
213 "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX",
214 "SCO UnixWare", "SCO OpenServer", "Sequent",
215 "IRIX", "Solaris",
216 //30
217 "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT",
218 "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA",
219 //40
220 "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD",
221 "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX",
222 "EPOC",
223 //50
224 "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE",
225 "NextStep", "PalmPilot", "Rhapsody", "Windows 2000",
226 "Dedicated",
227 //60
228 "OS/390", "VSE", "TPF","Windows (R) Me",
229 "Caldera Open UNIX", "OpenBSD", "Not Applicable",
230 "Windows XP"},
231 ModelCorrespondence {"CIM_OperatingSystem.OSType"} ]
232 karl 1.1 uint16 TargetOperatingSystem;
233
234 [Description (
235 "The OtherTargetOS property records the manufacturer and "
236 "operating system type for a SoftwareElement when the "
237 "TargetOperatingSystem property has a value of 1 (\"Other\"). "
238 "For all other values of TargetOperatingSystem, the "
239 "OtherTargetOS property is NULL."),
240 MaxLen (64),
241 ModelCorrespondence {"CIM_OperatingSystem.OtherTypeDescription"} ]
242 string OtherTargetOS;
243
244 [MaxLen (256),
245 MappingStrings {"MIF.DMTF|SubComponent Software|001.3"},
246 Description ("Manufacturer of this SoftwareElement.") ]
247 string Manufacturer;
248
249 [MaxLen (64),
250 MappingStrings {"MIF.DMTF|Software Component Information|002.4"},
251 Description (
252 "The internal identifier for this compilation of "
253 karl 1.1 "SoftwareElement.") ]
254 string BuildNumber;
255
256 [MaxLen (64), MappingStrings {"MIF.DMTF|ComponentID|001.4"},
257 Description (
258 "The assigned serial number of this SoftwareElement.") ]
259 string SerialNumber;
260
261 [MaxLen (64), Description (
262 "The code set used by this SoftwareElement. It defines the bit "
263 "patterns that a system uses to identify characters. ISO "
264 "defines various code sets such as UTF-8 and ISO8859-1.") ]
265 string CodeSet;
266
267 [MaxLen (64),
268 MappingStrings {"MIF.DMTF|SubComponent Software|001.6"},
269 Description (
270 "The manufacturer's identifier for this SoftwareElement. "
271 "Often this will be a stock keeping unit (SKU) or a "
272 "part number.") ]
273 string IdentificationCode;
274 karl 1.1
275 [MaxLen (32),
276 MappingStrings {"MIF.DMTF|SubComponent Software|001.7"},
277 Description (
278 "The value of this property identifies the language edition "
279 "of this SoftwareElement. The language codes defined in ISO 639 "
280 "should be used. Where the element represents a multi-lingual "
281 "or international version, the string \"Multilingual\" should "
282 "be used.") ]
283 string LanguageEdition;
284 };
285
286
287 // ==================================================================
288 // SoftwareFeature
289 // ==================================================================
290 [Version("2.6.0"), Description (
291 " The CIM_SoftwareFeature class defines a particular function "
292 "or capability of a product or application system. This class "
293 "captures a level of granularity describing a unit of "
294 "installation, rather than the units that reflect "
295 karl 1.1 "how the product is built or packaged. The latter detail "
296 "is captured using a CIM_SoftwareElement class. When a "
297 "SoftwareFeature can exist on multiple platforms or operating "
298 "systems (for example, a client component of a three tiered "
299 "client/server application that runs on Solaris, Windows NT, "
300 "and Windows 95), the Feature is a collection of all the "
301 "SoftwareElements for these different platforms. In this "
302 "case, the users of the model must be aware of this situation "
303 "since typically they will be interested in a sub-collection "
304 "of the SoftwareElements required for a particular platform. \n"
305 " SoftwareFeatures are always defined in the context of a "
306 "CIM_Product, using the CIM_ProductSoftwareFeature association. "
307 "Features are delivered through Products. Optionally, "
308 "SoftwareFeatures from one or more Products can be organized "
309 "into ApplicationSystems using the "
310 "CIM_ApplicationSystemSoftwareFeature association.") ]
311 class CIM_SoftwareFeature : CIM_LogicalElement {
312
313 [Propagated ("CIM_Product.IdentifyingNumber"), Key,
314 MaxLen (64), Description (
315 "The scoping Product's identification.") ]
316 karl 1.1 string IdentifyingNumber;
317
318 [Propagated ("CIM_Product.Name"), Key, MaxLen (256),
319 Description ("The scoping Product's commonly used name.") ]
320 string ProductName;
321
322 [Propagated ("CIM_Product.Vendor"), Key, MaxLen (256),
323 Description ("The scoping Product's supplier.") ]
324 string Vendor;
325
326 [Propagated ("CIM_Product.Version"), Key, MaxLen (64),
327 Description ("The scoping Product's version.") ]
328 string Version;
329
330 [Key, Override ("Name"), MaxLen (256), Description (
331 "The Name property defines the unique label by which the "
332 "SoftwareFeature is identified. This label should be a "
333 "human-readable name that uniquely identifies the element "
334 "in the context of the element's namespace.") ]
335 string Name;
336 };
337 karl 1.1
338
339 // ==================================================================
340 // SoftwareFeatureSoftwareElements
341 // ==================================================================
342 [Association, Aggregation, Version("2.6.0"),
343 Description (
344 "SoftwareFeatureSoftwareElements identifies the Software"
345 "Elements that make up a particular SoftwareFeature.") ]
346 class CIM_SoftwareFeatureSoftwareElements : CIM_Component {
347
348 [Aggregate, Override ("GroupComponent"),
349 Description ("The SoftwareFeature that groups the "
350 "SoftwareElement.") ]
351 CIM_SoftwareFeature REF GroupComponent;
352
353 [Override ("PartComponent"),
354 Description ("The SoftwareElement that makes up the Feature.") ]
355 CIM_SoftwareElement REF PartComponent;
356 };
357
358 karl 1.1
359 // ==================================================================
360 // SoftwareFeatureComponent
361 // ==================================================================
362 [Association, Aggregation, Version("2.6.0"),
363 Description (
364 "The SoftwareFeatureComponent aggregation models a set of "
365 "subordinate or independent Software Features of a Product. "
366 "These are aggregated together to form a higher-level or "
367 "large grain Feature under the same Product.") ]
368 class CIM_SoftwareFeatureComponent : CIM_Component {
369
370 [Override ("GroupComponent"), Aggregate,
371 Description ("The parent SoftwareFeature.") ]
372 CIM_SoftwareFeature REF GroupComponent;
373
374 [Override ("PartComponent"),
375 Description ("The component SoftwareFeature.") ]
376 CIM_SoftwareFeature REF PartComponent;
377 };
378
379 karl 1.1
380 // ==================================================================
381 // ProductSoftwareFeatures
382 // ==================================================================
383 [Association, Aggregation, Version("2.6.0"),
384 Description (
385 "The ProductSoftwareFeatures association identifies the "
386 "SoftwareFeatures for a particular Product.") ]
387 class CIM_ProductSoftwareFeatures {
388
389 [Key, Min (1), Max (1), Aggregate,
390 Description ("The Product that scopes the SoftwareFeatures.") ]
391 CIM_Product REF Product;
392
393 [Key, Weak,
394 Description ("The SoftwareFeature in a Product.") ]
395 CIM_SoftwareFeature REF Component;
396 };
397
398
399 // ==================================================================
400 karl 1.1 // ApplicationSystemSoftwareFeature
401 // ==================================================================
402 [Association, Aggregation, Version("2.6.0"),
403 Description (
404 "The ApplicationSystemSoftwareFeature association identifies "
405 "the Features that make up a particular ApplicationSystem. "
406 "The SoftwareFeatures can be scoped by different Products.") ]
407 class CIM_ApplicationSystemSoftwareFeature : CIM_SystemComponent {
408
409 [Override ("GroupComponent"), Aggregate,
410 Description (
411 "The ApplicationSystem that aggregates the Features.") ]
412 CIM_ApplicationSystem REF GroupComponent;
413
414 [Override ("PartComponent"), Description (
415 "The Features in an ApplicationSystem.") ]
416 CIM_SoftwareFeature REF PartComponent;
417 };
418
419
420 // ==================================================================
421 karl 1.1 // SoftwareFeatureServiceImplementation
422 // ==================================================================
423 [Association, Version("2.6.0"), Description (
424 " An association between a Service and how it is implemented "
425 "in software. The cardinality of this association is many-to"
426 "-many. A Service may be provided by more than one "
427 "SoftwareFeature. When multiple SoftwareFeatures are "
428 "associated with a single Service, it is assumed that "
429 "these elements operate in conjunction to provide the Service. "
430 "Note that any SoftwareFeature may provide more than one "
431 "Service. \n"
432 " If different implementations of a Service exist, "
433 "each of these implementations would result in individual "
434 "instantiations of the Service object. These individual "
435 "instantiations would then have their own associations to "
436 "the unique implementations.") ]
437 class CIM_SoftwareFeatureServiceImplementation : CIM_Dependency {
438
439 [Override ("Antecedent"), Description (
440 "The SoftwareFeature implementing the Service.") ]
441 CIM_SoftwareFeature REF Antecedent;
442 karl 1.1
443 [Override ("Dependent"), Description (
444 "The Service being implemented.") ]
445 CIM_Service REF Dependent;
446 };
447
448
449 // ==================================================================
450 // SoftwareFeatureSAPImplementation
451 // ==================================================================
452 [Association, Version("2.6.0"), Description (
453 " An association between a ServiceAccessPoint and how it is "
454 "implemented in software. The cardinality of this association "
455 "is many-to-many. A SAP may be provided by more than one "
456 "SoftwareFeature. When multiple SoftwareFeatures are "
457 "associated with a single SAP, it is assumed that these "
458 "elements operate in conjunction to provide the AccessPoint. "
459 "Note that any SoftwareFeature may provide more than one "
460 "ServiceAccessPoint. \n"
461 " If different implementations of a SAP exist, each "
462 "of these implementations would result in individual "
463 karl 1.1 "instantiations of the ServiceAccessPoint object. "
464 "These individual instantiations would then have their own "
465 "associations to the unique implementations.") ]
466 class CIM_SoftwareFeatureSAPImplementation : CIM_Dependency {
467
468 [Override ("Antecedent"), Description (
469 "The SoftwareFeature implementing the SAP.") ]
470 CIM_SoftwareFeature REF Antecedent;
471
472 [Override ("Dependent"), Description (
473 "The AccessPoint being implemented.") ]
474 CIM_Service REF Dependent;
475 };
476
477
478 // ==================================================================
479 // FRUIncludesSoftwareFeature
480 // ==================================================================
481 [Association, Aggregation, Version("2.6.0"),
482 Description (
483 " The FRUIncludesSoftwareFeature association identifies the "
484 karl 1.1 "SoftwareFeature(s) packaged with a particular FRU. A common "
485 "usage is to determine whether the FRU is compatible with "
486 "a hardware/software platform. In order to determine this, "
487 "the following conditions need to be verified: \n"
488 "(1) Is the physical package of the FRU compatible with the "
489 "slots or equivalent packaging of the hardware? \n"
490 "(2) Are there any physical constraints (such as power "
491 "consumption) that prevent the FRU from being installed? \n"
492 "(3) Are the SoftwareFeatures packaged with the FRU "
493 "compatiable with the underlying operating system and other "
494 "software already installed/to be installed on the platform? \n"
495 " This latter question can be answered by first checking "
496 "if an instance of FRUIncludesSoftwareFeature exists. If it "
497 "does, then the compatibility of each SoftwareFeature can be "
498 "determined by evaluating the Check classes for the Software"
499 "Elements that are part of the Feature (found by traversing "
500 "the association, SoftwareFeatureSoftwareElements). For "
501 "example, there might be a SoftwareElementVersionCheck that "
502 "declares that a SoftwareElement (of the FRU's Software"
503 "Feature) is not compatible with current software.") ]
504 class CIM_FRUIncludesSoftwareFeature {
505 karl 1.1
506 [Key, Max(1), Aggregate,
507 Description ("The field replaceable unit.") ]
508 CIM_FRU REF FRU;
509
510 [Key, Description (
511 "The SoftwareFeature which is included in the FRU and whose"
512 "SoftwareElements should be evaluated.") ]
513 CIM_SoftwareFeature REF Component;
514 };
515
516
517 // ==================================================================
518 // SoftwareElementServiceImplementation
519 // ==================================================================
520 [Association, Version("2.6.0"), Description (
521 " An association between a Service and how it is implemented "
522 "by one or more executable SoftwareElements. Note that this "
523 "association is restricted to 'executable' Elements. In "
524 "earlier phases of deployment, the SoftwareFeatureService"
525 "Implementation association is adequate and recommended. \n"
526 karl 1.1 " The relationship between this association and Software"
527 "FeatureServiceImplementation is more fully described here. "
528 "SoftwareElementServiceImplementation allows the description "
529 "of greater granularity than SoftwareFeatureService"
530 "Implementation, when a SoftwareFeature is fully deployed and "
531 "results in several executable Elements. These Elements may "
532 "implement several different Services. \n"
533 " Since SoftwareFeatures decompose into SoftwareElements, "
534 "it is possible to describe how software implements a Service "
535 "by using either this association or the SoftwareFeature"
536 "ServiceImplementation relationship. One or the other should "
537 "be chosen. Both associations should not be used for a single "
538 "Service instance, since their information is redundant. \n"
539 " This relationship is especially important when the "
540 "SoftwareFeature and Product aspects are not described for a "
541 "SoftwareElement (ie, when the acquisition and deployment of "
542 "the software is not detailed). In this case, the Software"
543 "ElementServiceImplementation association is the only one "
544 "available to describe how a Service is implemented in "
545 "software. Since SoftwareFeatures are not instantiated, it "
546 "is not possible to use the SoftwareFeatureService"
547 karl 1.1 "Implementation association. \n"
548 " The cardinality of this association is many-to-many. A "
549 "Service may be provided by more than one SoftwareElement. "
550 "If this is true, it is assumed that the SoftwareElements "
551 "operate in conjunction. And, any SoftwareElement may "
552 "provide more than one Service.") ]
553 class CIM_SoftwareElementServiceImplementation : CIM_Dependency {
554
555 [Override ("Antecedent"),
556 Description (
557 "The executable SoftwareElement implementing the Service.") ]
558 CIM_SoftwareElement REF Antecedent;
559
560 [Override ("Dependent"),
561 Description (
562 "The Service implemented by the SoftwareElement.") ]
563 CIM_Service REF Dependent;
564 };
565
566
567 // ==================================================================
568 karl 1.1 // SoftwareElementSAPImplementation
569 // ==================================================================
570 [Association, Version("2.6.0"), Description (
571 " An association between a ServiceAccessPoint and how it is "
572 "implemented by one or more executable SoftwareElements. Note "
573 "that this association is restricted to 'executable' "
574 "Elements. In earlier phases of deployment, the Software"
575 "FeatureSAPImplementation association is adequate and "
576 "recommended. \n"
577 " The relationship between this association and Software"
578 "FeatureSAPImplementation is more fully described here. "
579 "SoftwareElementSAPImplementation allows the description of "
580 "greater granularity than SoftwareFeatureSAPImplementation, "
581 "when a SoftwareFeature is fully deployed and results in "
582 "several executable Elements. These Elements may implement "
583 "several different ServiceAccessPoints. \n"
584 " Since SoftwareFeatures decompose into SoftwareElements, "
585 "it is possible to describe how software implements a SAP "
586 "by using either this association or the SoftwareFeatureSAP"
587 "Implementation relationship. One or the other should be "
588 "chosen. Both associations should not be used for a "
589 karl 1.1 "particular AccessPoint, since their information is "
590 "redundant. \n"
591 " This relationship is especially important when the "
592 "SoftwareFeature and Product aspects are not described for "
593 "a SoftwareElement (ie, when the acquisition and deployment "
594 "of the software is not detailed). In this case, the Software"
595 "ElementSAPImplementation association is the only one "
596 "available to describe how an AccessPoint is implemented in "
597 "software. Since SoftwareFeatures are not instantiated, it "
598 "is not possible to use the SoftwareFeatureSAP"
599 "Implementation association. \n"
600 " The cardinality of this association is many-to-many. A "
601 "ServiceAccessPoint may be provided by more than one Software"
602 "Element. (If this is true, it is assumed that the Software"
603 "Elements operate in conjunction.) And, any SoftwareElement "
604 "may provide more than one SAP.") ]
605 class CIM_SoftwareElementSAPImplementation : CIM_Dependency {
606
607 [Override ("Antecedent"),
608 Description (
609 "The executable SoftwareElement implementing the SAP.") ]
610 karl 1.1 CIM_SoftwareElement REF Antecedent;
611
612 [Override ("Dependent"),
613 Description (
614 "The ServiceAccessPoint implemented by the SoftwareElement.") ]
615 CIM_ServiceAccessPoint REF Dependent;
616 };
617
618
619 // ==================================================================
620 // end of file
621 // ==================================================================
|