Previous | Table of Contents | Next |
Each Contact instance collects together the various types of related contact information. Each Contact instance can be associated
with multiple Email, Location, and Telephone instances. Conversely, each Email, Location, ResourceLocator, and Telephone instance
can be associated with many Contact instances. The ordering constraints on the associations between these classes and the
Contact class can be used to represent a prioritized sequence in which the various types of contact information should be
used.
A particular ResponsibleParty instance may have multiple instances of Contact associated with it via the ResponsiblePartyContact
association. This association is ordered to support representation of the sequence in which Contact instances should be used.
For example, a ResponsibleParty instance representing an employee might be associated with Contact instances representing
their office, home, and mobile contact information with an indication that the employee should be contacted first at the office,
then at home, and finally via their mobile phone.
To maximize flexibility of the metamodel, Contact instances may provide contact information for multiple ResponsibleParty
instances.
Superclasses
ModelElement
References
email
Identifies the Email instances associated with this Contact instance. The ordered constraint may be used to identify the order in which Email instances should be contacted.class:defined by:multiplicity:inverse: |
|||||
ContactEmail::email | |||||
zero or more; ordered | |||||
Email::contact |
location
Identifies the Location instances associated with this Contact instance. The ordered constraint may be used to identify the order in which Location instances should be contacted.class:defined by:multiplicity:inverse: |
|||||
Location | |||||
ContactLocation::location | |||||
zero or more; ordered | |||||
Location::contact |
responsibleParty
Identifies the ResponsibleParty instances associated with this Contact instance.class:defined by:multiplicity:inverse: |
|||||
ResponsibleParty | |||||
ResponsiblePartyContact::responsibleParty | |||||
zero or more | |||||
ResponsibleParty::contact |
telephone
Identifies the Telephone instance associated with this Contact instance. The ordered constraint may be used to identify the order in which Telephone instances should be contacted.class:defined by:multiplicity:inverse: |
|||||
Telephone | |||||
ContactTelephone::telephone | |||||
zero or more; ordered | |||||
Telephone::contact |
url
Identifies the ResourceLocator instances associated with this Contact instance. The ordered constraint on the ResourceLocator association may be used to identify the order in which ResourceLocator instances should be contacted.class:defined by:multiplicity:inverse: |
|||||
ResourceLocator | |||||
ContactResourceLocator::url | |||||
zero or more; ordered | |||||
ResourceLocator::contact |
Instances of the Description class contain arbitrary textual information relevant to a particular ModelElement. While Description
instances may contain any desired textual information, they will typically contain documentation or references to external
reference information about the owning ModelElement.
Any ModelElement may have multiple Description instances associated with it. Indeed, a ModelElement instance that is a Description
instance may itself have multiple Description instances linked to it. Also, a hierarchies of Description instances can be
constructed.
Description instances are meant to hold descriptive textual information that will be stored in the metamodel itself. In contrast,
Document instances are meant to describe the location documentary information stored outside the metamodel.
Superclasses
Namespace
Attributes
body
Contains a textual description of information pertaining to the owning ModelElement.type:multiplicity: |
|||||
String | |||||
exactly one |
language
Contains an identification of the language in which the content of the body attribute is specified. If desired, the language specification may be applied to the name attribute derived from ModelElement as well.type:multiplicity: |
|||||
Name | |||||
exactly one |
type
Contains a textual description of the type of information the Description represents. Specific contents are usage defined.type:multiplicity: |
|||||
String | |||||
exactly one |
References
modelElement
Identifies the ModelElement for which this Description instance is relevant.class:defined by:multiplicity: |
|||||
ModelElement | |||||
ModelElementDescription::modelElement | |||||
zero or more |
Constraints
A Description instance may not describe itself [C-3-1].
The Document class represents externally stored descriptive information about some aspect of the modeled system. An instance
of Document might be associated with one or more ModelElements. The name of a Document instance is derived from its superclasses.
Although the purposes of the Description and Document types may overlap somewhat, their chief distinction is that Description
instances are stored with the CWM metadata whereas Documentation instances are stored externally to the CWM metadata. Although
there is an implication here that Documentation instances might represent more voluminous information than Description instances,
there is no particular requirement that this be so.
Because Documentation instances are themselves Namespace instances, hierarchical relationships between various externally
stored documents can be represented.
Superclasses
Namespace
Attributes
reference
Contains a textual representation of the identification, and perhaps the physical location, of externally maintained documentary information about some aspect of the ModelElement(s) with which the Document instance is associated.type:multiplicity: |
|||||
String | |||||
exactly one |
type
Contains a textual description of the type of information the Document represents. Specific contents are usage defined.type:multiplicity: |
|||||
String | |||||
exactly one |
References
modelElement
Identifies the ModelElement(s) for which this Document instance is relevant.class:defined by:multiplicity: |
|||||
ModelElement | |||||
DocumentDescribes::modelElement | |||||
zero or more |
Constraints
A Document instance may not describe itself [C-3-2].
An Email instance identifies a single email address. Via a Contact instance, an email address can be associated with one or
more ResponsibleParty instances. Email instances might, for example, be used by an automated tool to send an automatically
generated email message to a ResponsibleParty instance responsible about some change of state for a particular ModelElement.
Multiple Email instances may be associated with a single Contact instance and the ordering of the association between them
may be used to represent the sequence in which the Email instances should be contacted.
Because email addresses are first class objects within the CWM, they can be used for purposes beyond those associated with
the CWMFoundation’s Business Information concepts.
Superclasses
ModelElement
Attributes
eMailAddress
A textual representation of an email address.type:multiplicity: |
|||||
String | |||||
exactly one |
eMailType
Contains a textual representation of the type of the email address. Interesting values might include location information such as “home? or “work,? or perhaps an indication of the type of email system for which the eMailAddress is formatted, such as “SMTP? or “X.400.?type:multiplicity: |
|||||
String | |||||
exactly one |
References
contact
Identifies the Contact instance(s) for which this Email instance is relevant.class:defined by:multiplicity:inverse: |
|||||
Contact | |||||
ContactEmail::contact | |||||
zero or more | |||||
Contact::email |
Instances of the Location class represent physical locations. Note that the name of a Location is derived from its superclass,
ModelElement.
Because Locations are first class objects within the CWM, they can be used for purposes beyond those associated with the CWM
Foundation’s Business Information concepts. If additional attributes about Location instances are required, they should be
added by creating subtypes of the Location class and placing the additional attributes therein.
Superclasses
ModelElement
Attributes
locationType
Descriptive information about the character or identity of the Location instance.type:multiplicity: |
|||||
String | |||||
exactly one |
address
The address of the Location instance. The precise content of this string is usage-defined.type:multiplicity: |
|||||
String | |||||
exactly one |
city
The name of the city in which the Location instance is found. The precise content of this string is usage-defined.type:multiplicity: |
|||||
String | |||||
exactly one. |
postCode
The postal code of the Location instance. The precise content of this string is usage-defined.type:multiplicity: |
|||||
String | |||||
exactly one |
area
The area in which the Location instance is found. The precise content of this string is usage-defined, but a common usage would be to refer to a geographical subdivision such as a state or province.type:multiplicity: |
|||||
String | |||||
exactly one |
country
The name of the country in which the Location instance is found. The precise content of this string is usage-defined.type:multiplicity: |
|||||
String | |||||
exactly one |
References
contact
Identifies the Contact instance(s) with which this Location instance is associated.class:defined by:multiplicity:inverse: |
|||||
Contact | |||||
ContactLocation::contact | |||||
zero or more | |||||
Contact::location |
Instances of the ResourceLocator class provide a general means for describing the resources whose location is not defined
by a traditional mailing address. For example, a ResourceLocator instance could refer to anything from a location within a
building (“Room 317, third file cabinet, 2nd drawer?) to a web location (“www.omg.org?).
Because they are first class objects in the CWM, ResourceLocator instances may also be used for purposes beyond those associated
with the CWM Foundation’s Business Information concepts.
Superclasses
ModelElement
Attributes
url
Contains the text of the resource location. For Internet locations, this will be a web URL (Uniform Resource Locator) but there is no requirement that this be so. In fact, the string can contain any text meaningful to its intended use in a particular environment.type:multiplicity: |
|||||
String | |||||
exactly one |
References
contact
Identifies the Contact instance(s) for which the ResourceLocator instance is relevant.class:defined by:multiplicity:inverse: |
|||||
Contact | |||||
ContactResourceLocator::contact | |||||
zero or more | |||||
Contact::url |
The ResponsibleParty class allows representation of entities within an information system that are in some way interested
in receiving information about, or are otherwise responsible for, particular ModelElements. Each ResponsibleParty may own
multiple sets of contact information, and a single ResponsibleParty may be associated with many ModelElements.
ResponsibleParty instances may represent any entity appropriate to the system being modeled and need not be limited to people.
For example, a ResponsibleParty instance might represent an individual such as “George Washington,? a role (the “President?),
or an organization (“Congress?), depending upon the needs of the system being modeled. Similarly, the precise semantics of
the responsibility attribute are open to interpretation and may be adapted on a system-by-system basis.
Because ResponsibleParty instances are Namespaces, they can be organized into hierarchies of ResponsibleParty instances, capturing
organizational structures or similar relationships.
Superclasses
Namespace
Attributes
responsibility
Textual identification or description of the ResponsibleParty in a usage-dependent format.type:multiplicity: |
|||||
String | |||||
exactly one |
References
contact
Identifies the Contact instance(s) associated with a ResponsibleParty instance. The ordered constraint on this reference allows retention of the sequence in which multiple Contact should be employed.class:defined by:multiplicity:inverse: |
|||||
Contact | |||||
ResponsiblePartyContact::contact | |||||
zero or more; ordered | |||||
Contact::responsibleParty |
modelElement
Identifies the model elements for which this ResponsibleParty instance has some interest or responsibility.class:defined by:multiplicity: |
|||||
ModelElement | |||||
ModelElementResponsibility::modelElement | |||||
zero or more |
Constraints
A ResponsibleParty instance may not be responsible for itself. [C-3-3]
Instances of the Telephone class represent telephone contact information.
Because telephones are first class objects within the CWM, they can be used for purposes beyond those associated with the
CWM Foundation’s Business Information concepts.
Superclasses
ModelElement
Attributes
phoneNumber
A textual representation of the telephone’s number.type:multiplicity: |
|||||
String | |||||
exactly one |
phoneType
A textual representation of the telephone’s type, such as “multi-line,? or its usage, such as “home,? “work,? “fax,? or “mobile.?type:multiplicity: |
|||||
String | |||||
exactly one |
References
contact
Identifies the Contact instance(s) for which the Telephone instance is relevant.class:defined by:multiplicity: |
|||||
Contact | |||||
ContactTelephone::contact | |||||
zero or more |
inverse: Contact::telephone