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

File: [Pegasus] / pegasus / Schemas / CIMPrelim28 / Attic / CIM_Support28.mof (download)
Revision: 1.2, Thu Feb 24 20:47:28 2005 UTC (19 years, 3 months ago) by a.dunfey
Branch: MAIN
CVS Tags: TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP348_SCMO-merged_out_from_trunk, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, TASK-PEP311_WSMan-root, TASK-PEP311_WSMan-branch, RELEASE_2_5_0-RC1, HPUX_TEST, HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
PEP#: 215
TITLE: Remove old schemas

DESCRIPTION:

Removing old, unneeded schema files from the repository:

CIM 2.7
CIM 2.7.1 Preliminary
CIM 2.8 Preliminary
CIM 2.9 Preliminary

// ==================================================================
// Title:       Exchange Standards MOF Specification,
//              v1.3 (Exchange Standard)
// Filename:    CIM_Support28.MOF
// Version:     2.8
// Status:      Preliminary
// Date:        08/01/2003
// ===================================================================
// Copyright 2000-2003 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given.
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
// ===================================================================
// Description: The Solution Exchange Standard (SES) defines an object
// model
//          for the exchange of knowledge.  The Service Incident
//          Exchange
//          Standard (SIS) adds a transaction model to SES.
// 
//          The object classes below are listed in an order that
//          avoids forward references. Required objects, defined
//          by other working groups, are omitted.
// ===================================================================
// Change log for v2.8
// 08/01/2003   Change subclassing of CategoryParentChild,
//              ExpressionLink, and AdministrativeRevision from
//              Dependency to HostedDependency (CR1128)
// 
// 07/07/2002   Re-declared the inherited Min (1) qualifier on Contact
//              Organization and ContactPerson; Repeated Antecedent
//              references where inherited (for clarification purposes
//              only - no semantic change)
// 05/09/2002   Version 1.4
//              CR836: Cleaned up formatting, Descriptions and MOF
//              errors
// 03/19/2002   Version 1.3
//              CR746: Add Version Qualifier
// 11/17/2000   Version 1.2j
//              CR562: Changed property names using reserved words
//                PRS_Resource.Type to ResourceType
//                PRS_Attachment.Reference to AttachmentReference
//                PRS_Attachment.Size to AttachmentSize
//                PRS_Attachment.Object to AttachmentObject
//                PRS_Statement.Role to StatementRole
//                PRS_Statement.Operator to StatementOperator
//                PRS_Revision.Date to RevisionDate
//                PRS_Activity.New to NewKeys
//                PRS_Transaction.State to TransactionState
//              CR563: Added deprecated qualifier to deprecated
//              properties
//                PRS_Transaction.TransactionName
//                PRS_Activity.ParameterList
//              Removed Description from PRS_Feature and PRS_Resource
//              (already
//                inherited from PRS_ExchangeElement)
//              Added MinValue and MaxValue to the following:
//                PRS_Problem.Likelihood
//                PRS_Problem.Impact
//                PRS_Resolution.Confidence
//                PRS_Statement.Relevance
//              Broke long lines over two lines
// 08/08/2000   Version 1.2i  CR525
//              Added missing Association qualifier to both
//              PRS_ContactOrganization
//              and PRS_ContactPerson.
// 05/02/2000   Version 1.2h
//              Converted all CIM_Dependency children to use original
//              property names:
//                Antecedent and Dependent
// 03/07/2000   Version 1.2g
//              Added Association qualifier to all association classes
//              Added spaces to end of descriptions where they were
//              missing
//              Added Notification_Pending state to PRS_Transaction
//              State property
// 02/03/2000   Version 1.2f
//              Added definitions for PRS_SISServices method return
//              values and
//              CompletionStatus parameters as well as PRS_Transaction
//              CompletionStatus
// 01/26/2000   Version 1.2e
//              Changed PRS_ExchangeElement description
// 01/21/2000   Version 1.2d
//              Fixed spelling error in PRS_Category
// 01/20/2000   Version 1.2c
//              Added ParameterList property back to PRS_Activity for
//              backward
//                compatibility
//              Removed methods from PRS_Transaction and edited
//              property descriptions
//              Corrected data types of some properties to match
//              specification (strings
//                to uint8)
//              Added some missing superclass references ( :
//              CIM_Dependency)
// 01/17/2000   Version 1.2b
//              Reformatted MOF and expanded description fields
//              Incorporated SIS Transactions using CIM over HTTP
//                Added properties and methods to PRS_Transaction
//                Added DirtyFlag to PRS_ExchangeElement
//                Added PRS_SISService
// 
// ==================================================================

#pragma Locale ("en-US")


// ==================================================================
// Compile prerequisite:  Core MOF
// ==================================================================


// ==================================================================
//    PRS_ExchangeElement
// ==================================================================
   [Abstract, Version ("2.6.0"), Description (
       "PRS_ExchangeElement is an abstract base class for all classes "
       "in the Solution and Service Incident object model.  As an "
       "abstract class it is never instantiated.\n"
       "\n"
       "PRS_ExchangeElement exists to provide a single anchor point "
       "for associations that may be made to any Solution or Service "
       "Incident object.  For example, Administrative or Attachment "
       "instances may be associated with any object derived from "
       "PRS_ExchangeElement.  To support this generic association "
       "capability, the PRS_AdminAssociation and PRS_Attached "
       "associations both derive from the CIM_Dependency association "
       "and override the Antecedent property of that class to be a "
       "PRS_ExchangeElement REF.") ]
class PRS_ExchangeElement : CIM_ManagedElement {

      [Key, Description (
          "The PRSUniqueName property is a Globally Unique IDentifier "
          "(GUID) also known as a Universally Unique IDentifier "
          "(UUID).  This property allows Solution and Service Incident "
          "objects to be used by multiple Solutions or Service "
          "Incidents without duplication.  In addition, all Solution "
          "or Service Incidents containing a unique object are updated "
          "when the object is updated.") ]
   string PRSUniqueName;

      [Description (
          "The DirtyFlag is used by the SISService Start Transaction "
          "method to determine whether an ExchangeElement has been "
          "created, modified or deleted since the last Transaction.  "
          "Any object not marked 'Clean' is included in the next "
          "Transaction.\n"
          "\n"
          "It is the responsibility of the entity creating, modifying "
          "or deleting the object derived from ExchangeElement to set "
          "this property appropriately.\n"
          "\n"
          "This property value is set to 'Clean' by an invocation of "
          "the Transaction Complete method with a Status parameter of "
          "zero (0)."), 
       ValueMap {"0", "1", "2", "3"}, 
       Values {"Clean", "New", "Modified", "Deleted"} ]
   uint8 DirtyFlag;
};


// =================================================================
//    PRS_Solution
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Solution is the root class of a set of associated classes "
       "used to describe a single Solution.  If a Solution is "
       "associated with multiple Problems or Resolutions, all of the "
       "Problems described are related to all of the Resolutions "
       "described.  The reverse is also true.  All of the Resolutions "
       "described are related to all of the Problems described in the "
       "Solution.\n"
       "\n"
       "PRS_Solution is directly associated to one or more of the "
       "following classes:\n"
       "PRS_Reference\n"
       "PRS_Problem\n"
       "PRS_Resolution.") ]
class PRS_Solution : PRS_ExchangeElement {

      [Description (
          "The Solution title.") ]
   string Title;

      [Description (
          "A brief description of the Solution.") ]
   string SolutionAbstract;

      [Description (
          "The SolutionType suggests the type of knowledge contained "
          "in the Solution.  Depending on the type, the Solution may "
          "or may not include particular objects.  For example, a "
          "'Reference' Solution describes non-diagnostic technical or "
          "general information using PRS_Statement objects.  A "
          "'Diagnostic' Solution includes one or more PRS_Problem and "
          "PRS_Resolution objects.  A 'How To' Solution describes how "
          "to solve a particular Problem described by a PRS_Problem in "
          "a series of sequential steps within a PRS_Resolution."), 
       ValueMap {"0", "1", "2", "254", "255"}, 
       Values {"Reference", "Diagnostic", "How To", "Other", "Unknown"} ]
   uint8 SolutionType;
};


// ==================================================================
//    PRS_SolutionElement
// ==================================================================
   [Abstract, Version ("2.6.0"), Description (
       "PRS_SolutionElement is an abstract base class for non-Category "
       "objects that are associated with a Solution.  This includes:\n"
       "PRS_Reference\n"
       "PRS_Problem\n"
       "PRS_Resolution\n"
       "\n"
       "PRS_SolutionElement provides a common reference for these "
       "objects to be associated with PRS_Expression objects through "
       "the SolutionExpression association.\n"
       "\n"
       "In addition, all of the derived objects may be retrieved with "
       "a single query for the common super-class.") ]
class PRS_SolutionElement : PRS_ExchangeElement {
};


// ===================================================================
//    PRS_Reference
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Reference is a placeholder to support links between "
       "PRS_Expression objects and a PRS_Solution.  It does not have "
       "any properties.  A 'Reference' Solution uses PRS_Statement "
       "objects to describe general, non-diagnostic knowledge and may "
       "not include any PRS_Problem and PRS_Resolution instances.") ]
class PRS_Reference : PRS_SolutionElement {
};


// ===================================================================
//    PRS_Problem
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Problem is the root object of a set of associated objects "
       "that describe a Problem.  One or more Problems may be "
       "associated with a Solution.\n"
       "\n"
       "The Problem is described by PRS_Statement and PRS_Product "
       "instances indirectly associated to the PRS_Problem through a "
       "PRS_Expression.") ]
class PRS_Problem : PRS_SolutionElement {

      [Description (
          "The Likelihood describes the potential for the Problem to "
          "occur.  The value of this property shall be an integer "
          "value in the range of 0 to 100, inclusive."), 
       MinValue (0), MaxValue (100) ]
   uint16 Likelihood;

      [Description (
          "The Impact describes the severity of the problem.  The "
          "value of this property shall be an integer value in the "
          "range of 0 to 100, inclusive."), 
       MinValue (0), MaxValue (100) ]
   uint16 Impact;
};


// ===================================================================
//    PRS_Resolution
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Resolution is the root object of a set of associated "
       "objects that describe a the resolution to a Problem.  One or "
       "more Resolutions may be associated with a Solution.\n"
       "\n"
       "The Resolution is described by PRS_Statement and PRS_Product "
       "instances indirectly associated to the PRS_Resolution through "
       "a PRS_Expression.") ]
class PRS_Resolution : PRS_SolutionElement {

      [Description (
          "The Confidence describes the potential for the Resolution "
          "to correct the Problem or Problems associated with the "
          "PRS_Solution.  The value of this property shall be an "
          "integer value in the range of 0 to 100, inclusive."), 
       MinValue (0), MaxValue (100) ]
   uint16 Confidence;
};


// ===================================================================
//    PRS_SolutionHasElement
// ===================================================================
   [Association, Abstract, Aggregation, Version ("2.6.0"), 
    Description (
       "PRS_SolutionHasElement is an abstract base class for "
       "associating PRS_Solution with objects derived from "
       "PRS_SolutionElement.  This association class allows all "
       "PRS_Reference, PRS_Problem and PRS_Resolution objects to be "
       "retrieved with a single query.") ]
class PRS_SolutionHasElement : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_Solution root object of the Solution.") ]
   PRS_Solution REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Reference, PRS_Problem or PRS_Resolution aggregated "
          "into the Solution by this association.") ]
   PRS_SolutionElement REF Dependent;
};


// ===================================================================
//    PRS_SolutionReference
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "PRS_SolutionReference aggregates a Reference into a Solution.") ]
class PRS_SolutionReference : PRS_SolutionHasElement {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_Solution root object of the Solution.") ]
   PRS_Solution REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Reference aggregated into the Solution.") ]
   PRS_Reference REF Dependent;
};


// ===================================================================
//    PRS_SolutionProblem
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "PRS_SolutionProblem aggregates a Problem into a Solution.") ]
class PRS_SolutionProblem : PRS_SolutionHasElement {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_Solution root object of the Solution.") ]
   PRS_Solution REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Problem aggregated into the Solution.") ]
   PRS_Problem REF Dependent;
};


// ===================================================================
//    PRS_SolutionResolution
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "PRS_SolutionResolution aggregates a Resolution into a "
       "Solution.") ]
class PRS_SolutionResolution : PRS_SolutionHasElement {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_Solution root object of the Solution.") ]
   PRS_Solution REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Solution aggregated into the Solution.") ]
   PRS_Resolution REF Dependent;
};


// =================================================================
//    PRS_Category
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Category is used to classify the components of a "
       "Solution.  Hierarchical classifications are created by "
       "associating PRS_CategoryParentChild with multiple PRS_Category "
       "instances.") ]
class PRS_Category : PRS_ExchangeElement {

      [Description (
          "The specific value for the category.  For example, 'HP "
          "Laserjet' would be a value for a category containing "
          "printer names.") ]
   string CategoryContents;

      [Description (
          "The type of category.  Used to give additional semantics to "
          "the category.  For example, a Category of Type 'Printers' "
          "would qualify the list of category values for a list of "
          "printers.\n"
          "\n"
          "Note: the relationship of Category Type to Category Value "
          "expresses no intrinsic hierarchy.  If a tree of "
          "relationships exists to define categories and "
          "sub-categories, this should be defined using "
          "CategoryParentChild associations.") ]
   string CategoryType;
};


// ===================================================================
//    PRS_SolutionCategory
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "PRS_SolutionCategory associates PRS_Solution with a "
       "PRS_Category for classification purposes.") ]
class PRS_SolutionCategory : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_Solution being classified.") ]
   PRS_Solution REF Antecedent;

      [Override ("Dependent"), Description (
          "The specific PRS_Category being used to classify the "
          "Solution.") ]
   PRS_Category REF Dependent;
};


// ===================================================================
//    PRS_Categorization
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "PRS_Categorization associates PRS_Reference, PRS_Problem or "
       "PRS_Resolution with a PRS_Category for classification "
       "purposes.  For example, a Category named 'Printing Issues' can "
       "be defined for a Problem using the Categorization association "
       "between a PRS_Problem and a PRS_Category.") ]
class PRS_Categorization : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Category used for classification.") ]
   PRS_Category REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The specific PRS_Reference, PRS_Problem or PRS_Resolution "
          "classified by this association.") ]
   PRS_SolutionElement REF Dependent;
};


// ===================================================================
//    PRS_CategoryParentChild
// ===================================================================
   [Association, Version ("2.7.1000"), Description (
       "PRS_CategoryParentChild is used to define classification "
       "hierarchies.") ]
class PRS_CategoryParentChild : CIM_HostedDependency {

      [Override ("Antecedent"), Description (
          "The parent PRS_Category used for classification.") ]
   PRS_Category REF Antecedent;

      [Override ("Dependent"), Description (
          "The child PRS_Category used for classification.") ]
   PRS_Category REF Dependent;
};


// =================================================================
//    PRS_ExpressionElement
// ==================================================================
   [Abstract, Version ("2.6.0"), Description (
       "PRS_ExpressionElement is an abstract base class for "
       "PRS_Products and PRS_Statements.  It provides a common "
       "association point for objects associated with "
       "PRS_Expressions.") ]
class PRS_ExpressionElement : PRS_ExchangeElement {
};


// =================================================================
//    PRS_Expression
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Expression defines a specific relationship between "
       "PRS_ExpressionElements associated with PRS_SolutionElements.") ]
class PRS_Expression : PRS_ExpressionElement {

      [Description (
          "The operator to be used with the associated PRS_Expression "
          "Elements.  The 'AND', 'OR' and 'NOT' operators are the only "
          "operators currently defined by the standard.  (They must be "
          "used as uppercase strings.) Note that this is a "
          "vendor-extensible property - so that additional operators "
          "can be defined and used in implementations.") ]
   string Relation;
};


// =================================================================
//    PRS_Product
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Product is used to describe a single product to associate "
       "with a PRS_Expression.") ]
class PRS_Product : PRS_ExpressionElement {

      [Description (
          "The vendor of the product.") ]
   string Vendor;

      [Description (
          "The make and or model of the product.") ]
   string ProductName;

      [Description (
          "The version of the product.") ]
   string Version;

      [Description (
          "The order of relevance of this product to an associated "
          "PRS_SolutionElement (which includes PRS_Reference, "
          "PRS_Problem or PRS_Resolution).") ]
   string Order;
};


// =================================================================
//    PRS_Statement
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Statement contains the text describing a problem, any "
       "relevant background information, and its resolution.  "
       "Statements are units of text ranging from brief sentences or "
       "phrases to paragraphs or pages.  There is no limit to the "
       "number of PRS_Statements within a Solution, as long as they "
       "support the intent and focus of their root class.  Root "
       "classes include: PRS_Reference, PRS_Problem or "
       "PRS_Resolution.\n"
       "\n"
       "PRS_Statements may be grouped together to build compound "
       "'sentences'.  For example,\n"
       "StatementA = Printer output is blotchy.\n"
       "StatementB = Print jobs per day are less than 50.\n"
       "ExpressionA = StatementA AND StatementB.") ]
class PRS_Statement : PRS_ExpressionElement {

      [Description (
          "StatementRole describes how the PRS_Statement relates to "
          "the larger context.  For example, is the PRS_Statement "
          "describing a Fix or a Symptom? 'Description' is generic "
          "text without a specific diagnostic application.  'Symptom' "
          "describes initial observable incident or behavior that the "
          "user reports.  'Error_Message' is a specific type of "
          "symptom that the user reports, describing the specific "
          "error condition.  'Objective' is what the user wants to "
          "accomplish, often expressed as a positive condition.  FOr "
          "example, how to print on a network.  'Evidence' is "
          "information that is collected to diagnose the problem after "
          "the symptom is reported.  'Cause' is a description of the "
          "underlying facts or factors that engender or relate this "
          "behavior.  'Work_around' is information that lets the user "
          "work, but does not correct the problem completely.  'Fix' "
          "is information that fixes the problem completely.  'Answer' "
          "is the information given to the user such as steps to "
          "perform, wording to support their environment and "
          "understanding.  'Keyword' is a specific classification "
          "using defined words or phrases.  'Changes' describe recent "
          "changes in the environment which could affect the problem "
          "or resolution.  'Title is the title applying to associated "
          "PRS_Statements (usually associated via an 'and' "
          "expression."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "254", "255"}, 
       Values {"Description", "Symptom", "Error_Message", "Objective",
          "Evidence", "Cause", "Work_Around", "Fix", "Answer",
          "Keyword", "Changes", "Title", "Other", "Unknown"} ]
   uint8 StatementRole;

      [Description (
          "The descriptive text used for the PRS_Statement.") ]
   string Text;

      [Description (
          "When the PRS_Adminstrative object indicates Level 2 "
          "compliance, StatementOperator describes the relationship "
          "between an associated PRS_Feature and the FeatureValue "
          "property.  This property is ignored if there is no "
          "PRS_Feature associated with this PRS_Statement.") ]
   string StatementOperator;

      [Description (
          "When the PRS_Adminstrative object indicates Level 2 "
          "compliance, FeatureValue is the specific value selected "
          "from the associated PRS_Feature.  This property is ignored "
          "if there is no PRS_Feature associated with this "
          "PRS_Statement.") ]
   string FeatureValue;

      [Description (
          "Order is used to sequence PRS_Statements associated with a "
          "single PRS_Expression to allow a Consumer to process the "
          "information in the order desired by the Producer.") ]
   string Order;

      [Description (
          "Importance of this Statement.  The value of this property "
          "shall be an integer value in the range of 0 to 100, "
          "inclusive."), 
       MinValue (0), MaxValue (100) ]
   uint16 Relevance;
};


// =================================================================
//    PRS_Feature
// ==================================================================
   [Version ("2.6.0"), Description (
       "PRS_Feature is used for structured diagnostic data, including "
       "specific data values like steps or conditions.  For example, "
       "consider a PRS_Statement with a Text property value of:\n"
       "Print jobs per day are less than 50\n"
       "\n"
       "This could be described using a PRS_Feature as follows:\n"
       "Description: 'Print jobs per day'\n"
       "Prompt: 'How many print jobs per day?'\n"
       "ValidValues: '10' '50' '100'\n"
       "DataType: 'Integer'\n"
       "\n"
       "The associated PRS_Statement would contain:\n"
       "Operator: '<'\n"
       "FeatureValue: '50'\n"
       "") ]
class PRS_Feature : PRS_ExchangeElement {

      [Description (
          "Prompt presented through user interface.") ]
   string Prompt;

      [Description (
          "Valid values for this PRS_Feature.") ]
   string ValidValues;

      [Description (
          "Data type used for PRS_Statement FeatureValue property."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "254", "255"}, 
       Values {"String", "Integer", "Float", "Date/Time", "Boolean",
          "Binary", "Other", "Unknown"} ]
   uint8 DataType;
};


// =================================================================
//    PRS_Resource
// ==================================================================
   [Version ("2.6.0"), Description (
       "Each PRS_Resolution may have an associated cost of "
       "implementation.  This cost may have several components such as "
       "time, material costs, labor cost, etc.  To capture these "
       "costs, a PRS_Resouce is associated with a PRS_Resolution.  For "
       "Service Incidents, one or more PRS_Resource objects may be "
       "associated with an Activity.") ]
class PRS_Resource : PRS_ExchangeElement {

      [Description (
          "A string describing the type of resource.") ]
   string ResourceType;

      [Description (
          "Number of units of resource used.") ]
   uint16 Quantity;

      [Description (
          "Unit of measure for this resource.") ]
   string Units;
};


// ===================================================================
//    PRS_ExpressionLink
// ===================================================================
   [Association, Aggregation, Version ("2.7.1000"), Description (
       "Associates a PRS_Expression with PRS_ExpressionElements such "
       "as PRS_Expression, PRS_Product, and PRS_Statement.") ]
class PRS_ExpressionLink : CIM_HostedDependency {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The parent PRS_Expression.") ]
   PRS_Expression REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The child PRS_ExpressionElement, either a PRS_Expression, "
          "PRS_Product or PRS_Statement.") ]
   PRS_ExpressionElement REF Dependent;
};


// ===================================================================
//    PRS_ProductParentChild
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Products may exist in a hierarchy of relationships with "
       "related Products.  If a Producer deems these hierarchy "
       "relationships are relevant to the current Problem or "
       "Resolution, then the position of the Product in a hierarchy "
       "can be implied using one of two types of relationships: 'is a' "
       "and 'has a'.  An 'is a' relationship implies a classification, "
       "such as versioning or typing.  A 'has a' relationship implies "
       "that one product contains another.  The PRS_ProductParentChild "
       "association is used to imply an 'is a' hierarchy.  Use the "
       "ProductComponent association to imply 'has a' relationships.") ]
class PRS_ProductParentChild : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Description (
          "The parent PRS_Product.") ]
   PRS_Product REF Antecedent;

      [Override ("Dependent"), Description (
          "The child PRS_Product.") ]
   PRS_Product REF Dependent;
};


// ===================================================================
//    PRS_ProductComponent
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "PRS_ProductComponent is used to describe 'has a' relationships "
       "between Products and their components parts.  See "
       "PRS_ProductParentChild for 'is a' relationships.") ]
class PRS_ProductComponent : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Description (
          "The PRS_Product which contains the component.") ]
   PRS_Product REF Antecedent;

      [Override ("Dependent"), Description (
          "The component PRS_Product.") ]
   PRS_Product REF Dependent;
};


// ===================================================================
//    PRS_ProductAsset
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "PRS_ProductAsset is used to provide specific information about "
       "a PRS_Product.  PRS_ProductAsset associates this information "
       "to a PRS_Product using one or more Statements associated to a "
       "PRS_Expression.") ]
class PRS_ProductAsset : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The product.") ]
   PRS_Product REF Antecedent;

      [Override ("Dependent"), Description (
          "The expression.") ]
   PRS_Expression REF Dependent;
};


// ===================================================================
//    PRS_StatementFeature
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Statement with PRS_Feature.") ]
class PRS_StatementFeature : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Statement.") ]
   PRS_Statement REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Feature.") ]
   PRS_Feature REF Dependent;
};


// ===================================================================
//    PRS_FeatureResource
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Feature with PRS_Resource.  This is used to "
       "track labor and costs associated with specific tasks defined "
       "in a Feature object.") ]
class PRS_FeatureResource : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Feature.") ]
   PRS_Feature REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Resource.") ]
   PRS_Resource REF Dependent;
};


// ===================================================================
//    PRS_ResolutionResource
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Resolution with PRS_Resource.") ]
class PRS_ResolutionResource : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Resource.") ]
   PRS_Resource REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Resolution.") ]
   PRS_Resolution REF Dependent;
};


// ===================================================================
//    PRS_Solution Expression
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_SolutionElements (PRS_Reference, PRS_Problem or "
       "PRS_Resolution) with PRS_Expressions.") ]
class PRS_SolutionExpression : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_SolutionElement.") ]
   PRS_SolutionElement REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_Expression.") ]
   PRS_Expression REF Dependent;
};


// ===================================================================
//    PRS_Administrative
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Administrative defines administrative information about "
       "associated objects.  There must be at least one "
       "PRS_Administrative instance associated with a PRS_Solution.  "
       "Administrative information is inherited from a parent object.\n"
       "\n"
       "If the administrative information among objects within a "
       "Solution is not the same, additional PRS_Administrative "
       "instances may be associated with other objects within the "
       "Solution.  All instances under a specific parent inherit their "
       "administrative information unless there is an "
       "PRS_Administrative instance associated with that instance.\n"
       "\n"
       "For example, if there is a PRS_Administrative instance "
       "associated with a PRS_Problem instance, all of the "
       "PRS_Statement and PRS_ Product instances within the Problem "
       "use the same Administrative information as the PRS_Problem "
       "instance.") ]
class PRS_Administrative : PRS_ExchangeElement {

      [Description (
          "Level 0 means all information within a Reference, Problem "
          "or Resolution is conveyed by a single PRS_Statement.\n"
          "\n"
          "Level 1 means there may be multiple PRS_Statement instances "
          "within a Reference, Problem or Resolution.\n"
          "\n"
          "Level 2 means that a PRS_Statement may be associated with a "
          "PRS_Feature instance within a Reference, Problem or "
          "Resolution."), 
       ValueMap {"0", "1", "2"} ]
   uint16 ComplianceLevel;

      [Description (
          "Editorial status of the document.  If 'Draft', information "
          "is complete, but unedited.  If 'Reviewed', an editorial "
          "review has been completed.  If 'Published', information has "
          "been reviewed and approved for distribution."), 
       ValueMap {"0", "1", "2", "254", "255"}, 
       Values {"Draft", "Reviewed", "Published", "Other", "Unknown"} ]
   uint8 DocumentStatus;

      [Description (
          "Intended distribution audience for the associated "
          "information.  If 'Proprietary', information contains "
          "proprietary information and is not to be released "
          "externally.  If 'Internal', information is for internal use "
          "only.  If 'Partner', information is only available to "
          "contracted partners.  If 'Public', information is available "
          "to anyone."), 
       ValueMap {"0", "1", "2", "3", "254", "255"}, 
       Values {"Proprietary", "Internal", "Partner", "Public", "Other",
          "Unknown"} ]
   uint8 Distribution;

      [Description (
          "Language used in the associated information.") ]
   string Language;

      [Description (
          "Copyright for the associated information.") ]
   string Copyright;

      [Description (
          "Disclaimers about the associated information.") ]
   string Disclaimer;

      [Description (
          "Usage rights for the associated information.") ]
   string Rights;
};


// ===================================================================
//    PRS_AdminAssociation
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Administrative data with any object derived "
       "from PRS_ExchangeElement.") ]
class PRS_AdminAssociation : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_ExchangeElement.") ]
   PRS_ExchangeElement REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Administrative object.") ]
   PRS_Administrative REF Dependent;
};


// ===================================================================
//    PRS_Revision
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Revision records changes to the content.") ]
class PRS_Revision : PRS_ExchangeElement {

      [Description (
          "The date of this revision.") ]
   datetime RevisionDate;

      [Description (
          "The name of the specific revision being made."), 
       ValueMap {"0", "1", "2", "254", "255"}, 
       Values {"Create", "Update", "Delete", "Other", "Unknown"} ]
   uint8 ActivityName;

      [Description (
          "Type of revision activity.  'Technical' refers to a change "
          "in content.  'Editorial' refers to a change in language or "
          "style.  'Administrative' refers to information about the "
          "object."), 
       ValueMap {"0", "1", "2", "254", "255"}, 
       Values {"Technical", "Editorial", "Administrative", "Other",
          "Unknown"} ]
   uint8 ActivityType;

      [Description (
          "The current state of technical review.  'Open' means "
          "created but not necessarily completed or resolved.  'Not "
          "Reviewed' means contents have to be reviewed for accuracy "
          "and consistency with other content.  'Reviewed' means "
          "review has been completed.  'Approved' means formally "
          "approval to certify the solution given the specific status "
          "of the contents."), 
       ValueMap {"0", "1", "2", "3", "254", "255"}, 
       Values {"Open", "Not Reviewed", "Reviewed", "Approved", "Other",
          "Unknown"} ]
   uint8 TechnicalStatus;

      [Description (
          "The current state of editorial review.  'In Progress' means "
          "the content is in the process of being developed.  'Draft' "
          "means the content is complete but unedited.  'Reviewed' "
          "means the review has been completed.  'Published' means the "
          "contents have been released."), 
       ValueMap {"0", "1", "2", "3", "254", "255"}, 
       Values {"In_Progress", "Draft", "Reviewed", "Published",
          "Other", "Unknown"} ]
   uint8 EditorialStatus;

      [Override ("Description"), Description (
          "Text description of what was done in this revision.") ]
   string Description;
};


// ===================================================================
//    PRS_AdministrativeRevision
// ===================================================================
   [Association, Aggregation, Version ("2.7.1000"), Description (
       "Associates PRS_Administrative with PRS_Revision.") ]
class PRS_AdministrativeRevision : CIM_HostedDependency {

      [Aggregate, Override ("Antecedent"), Min (1), Max (1), 
       Description (
          "The PRS_Administrative.") ]
   PRS_Administrative REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Revision.") ]
   PRS_Revision REF Dependent;
};


// ===================================================================
//    PRS_Contact
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Contact is used to anchor associations to PRS_Person and "
       "PRS_Orgnaization.  PRS_Contact is also used to anchor "
       "associations to PRS_Revision and PRS_Resolution, as well as "
       "PRS_ServiceIncident.") ]
class PRS_Contact : PRS_ExchangeElement {
};


// ===================================================================
//    PRS_ContactItem
// ===================================================================
   [Abstract, Version ("2.6.0"), Description (
       "PRS_ContactItem is the abstract root class for PRS_Person and "
       "PRS_Organization.  It provides a common anchor point for the "
       "PRS_ContactContactItem association.") ]
class PRS_ContactItem : PRS_ExchangeElement {
};


// ===================================================================
//    PRS_AdministrativeContact
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_Administrative and PRS_Contact.") ]
class PRS_AdministrativeContact : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Min (1), Description (
          "The PRS_Administrative instance.") ]
   PRS_Administrative REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Dependent;
};


// ===================================================================
//    PRS_RevisionContact
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_Revision and PRS_Contact.") ]
class PRS_RevisionContact : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Description (
          "The PRS_Revision.") ]
   PRS_Revision REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Dependent;
};


// ===================================================================
//    PRS_Organization
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Organization describes a PRS_Contact's organization name "
       "and business.") ]
class PRS_Organization : PRS_ContactItem {

      [Description (
          "The name of the organization.") ]
   string Name;

      [Description (
          "Description of organization's primary business.") ]
   string Business;
};


// ===================================================================
//    PRS_Person
// ===================================================================
   [Version ("2.6.0"), Description (
       "Information about a personal contact.") ]
class PRS_Person : PRS_ContactItem {

      [Description (
          "Contact's first name.") ]
   string FirstName;

      [Description (
          "Contact's last name.") ]
   string LastName;

      [Description (
          "How the contact is addressed, i.e.  Dr., Mr., Ms., Mrs., "
          "etc.") ]
   string Salutation;

      [Description (
          "Contact's business title.") ]
   string Title;

      [Description (
          "Description of the contact.  For example, they may have "
          "responsibilities not apparent from their title.") ]
   string ContactType;

      [Description (
          "Contact's preferred communication method.  See the "
          "PRS_Location.LocationType property."), 
       ValueMap {"0", "1", "2", "3", "4", "254", "255"}, 
       Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
          "URL", "Other", "Unknown"} ]
   uint8 CommunicationMode;
};


// ===================================================================
//    PRS_ContactContactItem
// ===================================================================
   [Association, Abstract, Version ("2.6.0"), Description (
       "Abstract root class to associate PRS_Person or "
       "PRS_Organization and PRS_Contact.") ]
class PRS_ContactContactItem : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_ContactItem, either PRS_Person or "
          "PRS_Organization.  There is always at least one "
          "PRS_ContactItem, however it may be either a PRS_Person or "
          "PRS_Organization.  For that reason, there is a minimum "
          "cardinality of one for this property, but a minimum "
          "cardinality of zero in the classes derived from this "
          "class.") ]
   PRS_ContactItem REF Dependent;
};


// ===================================================================
//    PRS_ContactOrganization
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Contact and PRS_Organization.") ]
class PRS_ContactOrganization : PRS_ContactContactItem {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_Organization.") ]
   PRS_Organization REF Dependent;
};


// ===================================================================
//    PRS_ContactPerson
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Contact and PRS_Person.") ]
class PRS_ContactPerson : PRS_ContactContactItem {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_Person.") ]
   PRS_Person REF Dependent;
};


// ===================================================================
//    PRS_Address
// ===================================================================
   [Version ("2.6.0"), Description (
       "Provides address information for PRS_ContactItem.") ]
class PRS_Address : PRS_ExchangeElement {

      [Description (
          "The type of address."), 
       ValueMap {"0", "1", "2", "3", "254", "255"}, 
       Values {"Primary", "Shipping", "Billing", "Service", "Other",
          "Unknown"} ]
   uint8 AddressType;

      [Description (
          "First line of address information.") ]
   string Address1;

      [Description (
          "Second line of address information.") ]
   string Address2;

      [Description (
          "Third line of address information.") ]
   string Address3;

      [Description (
          "Fourth line of address information.") ]
   string Address4;

      [Description (
          "The city.") ]
   string City;

      [Description (
          "The specific region, such as state or province.") ]
   string Region;

      [Description (
          "The country's postal code for the address.") ]
   string PostalCode;

      [Description (
          "The time zone of the address.") ]
   string TimeZone;

      [Description (
          "The country code, based on ISO/IEC 3166.") ]
   string Country;
};


// ===================================================================
//    PRS_ContactItemAddress
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_ContactItem with PRS_Address.") ]
class PRS_ContactItemAddress : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_ContactItem.") ]
   PRS_ContactItem REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Address.") ]
   PRS_Address REF Dependent;
};


// ===================================================================
//    PRS_Location
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Location describes the location of a PRS_Address.") ]
class PRS_Location : PRS_ExchangeElement {

      [Description (
          "The type of location."), 
       ValueMap {"0", "1", "2", "3", "4", "254", "255"}, 
       Values {"Primary_Voice", "Alternate_Voice", "Fax", "Email",
          "URL", "Other", "Unknown"} ]
   uint8 LocationType;

      [Description (
          "The specific location.") ]
   string LocationID;
};


// ===================================================================
//    PRS_AddressLocation
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Address and PRS_Location.") ]
class PRS_AddressLocation : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_Address.") ]
   PRS_Address REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Location.") ]
   PRS_Location REF Dependent;
};


// ===================================================================
//    PRS_Attachment
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Attachment describes file attachments.  A PRS_Attachment "
       "may be associated to any object derived from "
       "PRS_ExchangeElement.  PRS_Attachment is used to attach objects "
       "of any type including binary files, ASCII documents, or URLs.  "
       "Only one object may be attached per PRS_Attachment.\n"
       "\n"
       "The actual attachment carried by the Attachment object is "
       "included by one of two methods: by reference or by value as "
       "embedded data.  A 'by reference' approach links indirectly to "
       "the attachment through the use of a string identifier, e.g.  a "
       "file name.  An 'embedded data' approach means the actual "
       "binary data is included in PRS_Attachment.") ]
class PRS_Attachment : PRS_ExchangeElement {

      [Description (
          "If the attachment is not embedded, where the attachment is "
          "located.") ]
   string AttachmentReference;

      [Description (
          "Protocol required to read the attachment (e.g., http).") ]
   string Protocol;

      [Description (
          "The file format of the attachment.") ]
   string Format;

      [Description (
          "The size of the attachment in bytes.") ]
   string AttachmentSize;

      [Description (
          "The attachment itself, if embedded.") ]
   string AttachmentObject;

      [Description (
          "The purpose of the attachment, as related to the "
          "diagnosis.  'Instructions' are compilable code.  "
          "'Background' is descriptive information.  'Log' is "
          "information captured in a log file."), 
       ValueMap {"0", "1", "2", "254", "255"}, 
       Values {"Instructions", "Background", "Log", "Unknown",
          "Undefined"} ]
   uint8 AttachmentType;

      [Description (
          "The displayable attachment identifier.  Used to define what "
          "will appear as the name of the attachment, as opposed to "
          "the specific attachment file name or URL.") ]
   string AttachmentName;
};


// ===================================================================
//    PRS_Attached
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Attachment with PRS_ExchangeElement.") ]
class PRS_Attached : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Attachment.") ]
   PRS_Attachment REF Antecedent;

      [Override ("Dependent"), Min (1), Description (
          "The PRS_ExchangeElement.") ]
   PRS_ExchangeElement REF Dependent;
};


// ===================================================================
// ===================================================================
//    Service Incident Exchange information
// ===================================================================
// ===================================================================

// ===================================================================
//    PRS_ServiceIncident
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_ServiceIncident contains the fundamental information "
       "related to a specific incident: its identity, status, "
       "priority, etc.  The actual incident data, including specific "
       "transactions and resolution information, is contained in the "
       "objects associated with PRS_ServiceIncident.  These include "
       "specific Problem, Resolution and Activity related objects "
       "accrued through the Transaction workflow.") ]
class PRS_ServiceIncident : PRS_ExchangeElement {

      [Description (
          "The unique identifier for this incident assigned by the "
          "Requester.") ]
   string RequesterID;

      [Description (
          "The unique identifier for this incident assigned by the "
          "Provider.") ]
   string ProviderID;

      [Description (
          "The state of the incident within the Service Incident "
          "Exchange Standard transaction model."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "254", "255"}, 
       Values {"Beginning_State", "Not_Entitled", "Entitled",
          "Problem_Submitted", "Open_Requester", "Open_Provider",
          "Closed_Pending_Confirmation", "Closed", "Other", "Unknown"} ]
   uint8 CurrentState;

      [Description (
          "The severity of the incident as defined by the Requester.  "
          "One is the most severe and five is the least severe."), 
       ValueMap {"1", "2", "3", "4", "5"} ]
   uint8 RequesterSeverity;

      [Description (
          "The priority of the incident as defined by the Requester.  "
          "One is the highest priority and five is the lowest "
          "priority."), 
       ValueMap {"1", "2", "3", "4", "5"} ]
   uint8 ProviderPriority;

      [Description (
          "The explicit time the Requester expects a response.") ]
   datetime ResponseTime;

      [Description (
          "Status of the incident according to the workflow.") ]
   string WorkflowStatus;

      [Description (
          "Additional general information about the incident.") ]
   string Comment;

      [Description (
          "Is the Requester entitled to service or not?"), 
       ValueMap {"0", "1", "254", "255"}, 
       Values {"Yes", "No", "Other", "Unknown"} ]
   uint8 Entitled;

      [Description (
          "Was the last transaction was accepted or rejected?"), 
       ValueMap {"0", "1", "254", "255"}, 
       Values {"Yes", "No", "Other", "Unknown"} ]
   uint8 Acknowledge;

      [Deprecated {"PRS_ServiceIncident.LastTransaction"}, 
       Description (
          "The use of the TransactionName property is deprecated.  New "
          "Service Incidents should use the LastTransaction property "
          "and set this property to NULL.") ]
   string TransactionName;

      [Description (
          "The name of the last transaction which was acknowledged."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "254", "255"}, 
       Values {"Service_Request", "Entitlement", "Problem_Submittal",
          "Accept_Problem", "Problem_Resolution",
          "Request_Problem_Information", "Provide_Problem_Information",
          "Provide_Admin_Information", "Query_Incident",
          "Confirm_Close", "Reject_Resolution", "Request_Closure",
          "Other", "Unknown"} ]
   uint8 LastTransaction;
};


// ===================================================================
//    PRS_ServiceRequester
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "PRS_ServiceRequester associates a PRS_ServiceIncident with a "
       "PRS_Contact representing the entity requesting service.  Note "
       "that the Contact class is used for both Requesters and "
       "Providers, the context is determined by which association "
       "exists.") ]
class PRS_ServiceRequester : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Min (1), Max (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Dependent;
};


// ===================================================================
//    PRS_ServiceProvider
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_ServiceIncident to PRS_Contact to describe the "
       "Service Provider.") ]
class PRS_ServiceProvider : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Min (1), Max (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Dependent;
};


// ===================================================================
//    PRS_ServiceProblem
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_ServiceIncident to PRS_Problem to describe the "
       "Problem being submitted to the Service Provider.") ]
class PRS_ServiceProblem : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Max (1), Description (
          "The PRS_Problem.") ]
   PRS_Problem REF Dependent;
};


// ===================================================================
//    PRS_ServiceResolutionSolution
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_ServiceIncident to PRS_Solution to describe the "
       "Resolutions proposed by the Service Provider.") ]
class PRS_ServiceResolutionSolution : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Solution.  PRS_Solution must be associated with at "
          "least one Resolution.") ]
   PRS_Solution REF Dependent;
};


// ===================================================================
//    PRS_Agreement
// ===================================================================
   [Version ("2.6.0"), Description (
       "The agreement or contract referenced for entitlement to "
       "service.") ]
class PRS_Agreement : PRS_ExchangeElement {

      [Description (
          "The identifier for the contract between the Request and the "
          "Provider.  This property is set by the Requester prior to "
          "submitting a Service Request.") ]
   string ContractID;

      [Description (
          "A brief description of the contract.") ]
   string AgreementType;
};


// ===================================================================
//    PRS_ServiceAgreement
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_ServiceIncident to PRS_Agreement.") ]
class PRS_ServiceAgreement : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Min (1), Max (1), Description (
          "The PRS_Agreement.") ]
   PRS_Agreement REF Dependent;
};


// ===================================================================
//    PRS_Activity
// ===================================================================
   [Version ("2.6.0"), Description (
       "Describes the date of each transaction and the objects "
       "involved.") ]
class PRS_Activity : PRS_ExchangeElement {

      [Deprecated { "PRS_Activity.NewKeys", "PRS_Activity.Deleted",
          "PRS_Activity.Modified"}, Description (
          "The key fields for the objects in the associated "
          "Transaction.  The use of this property is deprecated.  The "
          "PRS_SISService StartSISTransaction method uses the New, "
          "Modified and Deleted properties instead of this field.  "
          "This field is set to NULL by the StartSISTransaction method "
          "if the other properties are used.") ]
   string ParameterList;

      [Description (
          "The key fields for the objects added in the associated "
          "Transaction.  This property is set by the PRS_SISService "
          "StartSISTransaction method.") ]
   string NewKeys;

      [Description (
          "The key fields for objects deleted in the associated "
          "Transaction.  This property is set by the PRS_SISService "
          "StartSISTransaction method.") ]
   string Deleted;

      [Description (
          "The key fields for objects modified in the associated "
          "Transaction.  This property is set by the PRS_SISService "
          "StartSISTransaction method.") ]
   string Modified;

      [Description (
          "The date of the Activity.  This property is set by the "
          "PRS_SISService StartSISTranasaction method.") ]
   datetime LocalDate;

      [Description (
          "Description of the activity performed.") ]
   string ActionLog;
};


// ===================================================================
//    PRS_Transaction
// ===================================================================
   [Version ("2.6.0"), Description (
       "PRS_Transaction represents a single transaction of the Service "
       "Incident workflow.  A PRS_Transaction instance is created by "
       "the PRS_SISService StartSISTransaction method.") ]
class PRS_Transaction : PRS_ExchangeElement {

      [Description (
          "The specific SIS transaction represented by this "
          "PRS_Transaction instance."), 
       ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "254", "255"}, 
       Values {"Service_Request", "Entitlement", "Problem_Submittal",
          "Accept_Problem", "Problem_Resolution",
          "Request_Problem_Information", "Provide_Problem_Information",
          "Provide_Admin_Information", "Query_Incident",
          "Confirm_Close", "Reject_Resolution", "Request_Closure",
          "Other", "Unknown"} ]
   uint8 TransactionType;

      [Description (
          "The current state of this transaction.  This value is "
          "manipulated by the PRS_SISService:StartSISTransaction and "
          "SetSISCompletionStatus method implementations.  This "
          "property is not intended to be written by management "
          "applications."), 
       ValueMap {"0", "1", "2", "3"}, 
       Values {"Open", "Working", "Closed", "Notification_Pending"} ]
   uint8 TransactionState;

      [Description (
          "The status of the transaction after it has reached the "
          "'Closed' state.  A CompletionStatus of zero (0) means the "
          "tranasaction completed successfully.  A non-zero "
          "CompletionStatus indicates the transaction did not complete "
          "successfully.  Non-zero values are "
          "implementation-specific.  While the transaction is 'Open' "
          "or 'Working' the CompletionStatus property shall be zero "
          "(0).  See the description for PRS_SISService for the "
          "definition of the contents of this property.") ]
   uint32 CompletionStatus;
};


// ===================================================================
//    PRS_SISService
// ===================================================================
   [Version ("2.6.0"), Description (
       "The PRS_SISService is used as a class factory for "
       "PRS_Transactions.") ]
class PRS_SISService : CIM_Service {

      [Description (
          "When invoked on a local system, this method validates the "
          "objects in the local repository, to determine if they are "
          "sufficient for the indicated (input parameter) "
          "TransactionType.  If not, an error is returned and no "
          "additional processing is performed.  If the repository is "
          "successfully validated, this method creates a "
          "PRS_Transaction instance for return to the caller.\n"
          "\n"
          "The method also reviews the repository looking for new, "
          "modified or deleted objects.  As these objects are located, "
          "their keys are appended to the related strings in the "
          "PRS_Activity instance referenced by another parameter of "
          "this method.\n"
          "\n"
          "After all the appropriate new, modified or deleted objects "
          "have been located, this method invokes the PRS_SISService's "
          "StartSISTransaction method on the remote system specified "
          "by the objects related to the Service Incident, associated "
          "with the PRS_Activity instance specified as a method "
          "parameter.  The TransactionType and PRS_Activity REF is "
          "forwarded to the remote system as method parameters as well "
          "as the PRS_Transaction REF for the instance created by this "
          "method.\n"
          "\n"
          "The remote system creates a child namespace using the "
          "PRS_Transaction REF for the name.  The local system then "
          "transfers all of the new, modified and deleted objects to "
          "the namespace on the remote system.  Once all objects have "
          "been successfully transferred, the PRS_SISService's "
          "EndSISTransaction method is invoked on the remote system "
          "with a Status value of zero to indicate that the remote "
          "system should attempt to commit the transaction to the "
          "remote repository.\n"
          "\n"
          "The remote system passes the results of the remote commit "
          "back to the originating system by invoking the "
          "PRS_SISService's SetSISCompletionStatus method on the "
          "system that originated the SIS transaction.  The "
          "CompletionStatus method parameter indicates whether the "
          "remote commit was successful.  If the CompletionStatis is "
          "zero, the remote commit was successful.  If it was "
          "unsuccessful, the objects were not applied to the remote "
          "repository and the CompletionStatus is non-zero, indicating "
          "the error.  The local invocation of the SetSIS "
          "CompletionStatus method updates the specified "
          "PRS_Transaction's TransactionState to Closed and "
          "CompletionStatus to the value provided by the remote system "
          "in the CompletionStatus method parameter.\n"
          "\n"
          "In order to promote extensibility, the uint32 return values "
          "for PRS_SISService's methods and Status-related parameters "
          "are mapped into three sections.  The first describes the "
          "type of value being reported.  It indicates Error versus "
          "Notification, and Standard versus Vendor-Specific.\n"
          "\n"
          "The second section describes the source of the value.  It "
          "indicates Method, Operating System, Repository, or "
          "Transport.  In addition, this section indicates whether the "
          "value was created locally or remotely.\n"
          "\n"
          "The third section is the specific return value.\n"
          "\n"
          "If all 32 bits of the return value are reset, the method "
          "completed successfully.  Any other value indicates an error "
          "condition or notification.  If D31 is set, the method did "
          "not complete successfully.  If D31 is reset, but the rest "
          "of the return value is non-zero, this is a Notification "
          "that the operation did complete successfully, but that "
          "there is a conditon of which the caller should be aware.\n"
          "\n"
          "If D30 is set, the return value is vendor specific.  If D30 "
          "is reset, the return value is defined by the standard.\n"
          "\n"
          "If D29 is set, the return value was generated by a remote "
          "system.  If D29 is reset, the return value was generated "
          "locally.  The bit is always set or reset by the local "
          "system.  The local system sets the bit if it receives a "
          "non-zero return value from a remote method invocation.\n"
          "\n"
          "Bit D28 is reserved for future use and shall be reset on "
          "all return values.\n"
          "\n"
          "When there is an error or notification, D24 through D27 "
          "indicate its source.  The following sources are currently "
          "defined (D24 is the least significant bit below):\n"
          "0000 Method\n"
          "0001 Operating System\n"
          "0010 Repository\n"
          "0011 Transport\n"
          "All remaining values are reserved.\n"
          "\n"
          "Bits D16 through D23 are reserved for future use and shall "
          "be reset to zero.\n"
          "\n"
          "Bits D0 through D15 indicate the specific return value.  If "
          "zero, all other bits in the return value must be zero, "
          "indicating successful completion of the method (or "
          "Transaction).") ]
   uint32 StartSISTransaction (
       [IN, ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
       "10", "11", "254", "255"},
       Values {"Service_Request", "Entitlement", "Problem_Submittal",
       "Accept_Problem", "Problem_Resolution",
       "Request_Problem_Information",
       "Provide_Problem_Information",
       "Provide_Admin_Information",
       "Query_Incident", "Confirm_Close", "Reject_Resolution",
       "Request_Closure", "Other", "Unknown"} ]
       uint8 TransactionType,
       
       [IN]
       PRS_Activity REF ActivityRef,
       
       [IN, OUT]
       PRS_Transaction REF TransactionRef );

      [Description (
          "The EndSISTransaction method is used to handle committing "
          "or aborting a transaction.  For commit, the method is "
          "invoked by a remote system when all of the objects "
          "associated with the transaction have been placed in the "
          "child namespace created by StartSISTransaction.\n"
          "\n"
          "For abort, the method cleans up the child namespace and "
          "closes the specified PRS_Transaction, setting the "
          "Transaction's CompletionStatus to the method parameter of "
          "the same name.") ]
   uint32 EndSISTransaction (
       
       [IN,
       Description(
       "Status indicates whether the transaction is to "
       "be committed or aborted.  If Status is zero, the transaction "
       "is to be committed.  If Status is non-zero, it indicates the "
       "transaction is to be aborted.  If the transaction is being "
       "aborted, the Status field is passed back to the originating "
       "system as the CompletionStatus parameter for the PRS_SISService "
       "SetSISCompletionStatus method.  See the description for "
       "PRS_SISService.StartSISTransaction for the definition of the "
       "contents of this property.") ]
       uint32 Status,
       
       [IN,
       Description(
       "TransactionRef identifies the PRS_Transaction to commit or "
       "abort. If this property is NULL or does not identify an "
       "'Open' transaction, this method returns an error.") ]
       PRS_Transaction REF TransactionRef );

      [Description (
          "SetSISCompletionStatus is used to signal the system that "
          "originated a PRS_Transaction that the remote system has "
          "completed processing of the transaction.  If the processing "
          "was successful, as indicated by the CompletionStatus "
          "parameter, the local system resets the DirtyFlag for all of "
          "the objects identified in the PRS_Activity instance "
          "associated with the PRS_Transaction.") ]
   uint32 SetSISCompletionStatus (
       
       [IN,
       Description(
       "This parameter is used to set the CompletionStatus field of "
       "the specified PRS_Transaction.  If zero, the Transaction was "
       "completed successfully.  If non-zero, an error occurred and the "
       "objects provided in StartSISTransaction were not submitted to "
       "the remote repository.  See the description for "
       "PRS_SISService.StartSISTransaction for the definition of the "
       "contents of this property.") ]
       uint32 CompletionStatus,
       
       [IN,
       Description(
       "TransactionRef identifies the PRS_Transaction that has "
       "completed. If this property is NULL or does not identify "
       "an 'Open' transaction, this method returns an error.") ]
       PRS_Transaction REF TransactionRef );
};


// ===================================================================
//    PRS_ServiceActivity
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_ServiceIncident to PRS_Activity.") ]
class PRS_ServiceActivity : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Min (1), Max (1), 
       Description (
          "The PRS_ServiceIncident.") ]
   PRS_ServiceIncident REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Activity.") ]
   PRS_Activity REF Dependent;
};


// ===================================================================
//    PRS_ActivityContact
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Activity with PRS_Contact.") ]
class PRS_ActivityContact : CIM_Dependency {

      [Override ("Antecedent"), Description (
          "The PRS_Activity.") ]
   PRS_Activity REF Antecedent;

      [Override ("Dependent"), Max (1), Description (
          "The PRS_Contact.") ]
   PRS_Contact REF Dependent;
};


// ===================================================================
//    PRS_ActivityResource
// ===================================================================
   [Association, Aggregation, Version ("2.6.0"), Description (
       "Associates PRS_Activity with PRS_Resource.") ]
class PRS_ActivityResource : CIM_Dependency {

      [Aggregate, Override ("Antecedent"), Min (1), Max (1), 
       Description (
          "The PRS_Activity.") ]
   PRS_Activity REF Antecedent;

      [Override ("Dependent"), Description (
          "The PRS_Resource.") ]
   PRS_Resource REF Dependent;
};


// ===================================================================
//    PRS_ActivityTransaction
// ===================================================================
   [Association, Version ("2.6.0"), Description (
       "Associates PRS_Activity with PRS_Transaction.") ]
class PRS_ActivityTransaction : CIM_Dependency {

      [Override ("Antecedent"), Min (1), Max (1), Description (
          "The PRS_Activity.") ]
   PRS_Activity REF Antecedent;

      [Override ("Dependent"), Min (1), Max (1), Description (
          "The PRS_Transaction.") ]
   PRS_Transaction REF Dependent;
};


// ===================================================================
// end of file
// ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2