# New Rib config
#
# $Id: FullBIDM.conf,v 1.4 1998/02/24 22:40:54 rib Exp $
#
# $Log: FullBIDM.conf,v $
# Revision 1.4  1998/02/24 22:40:54  rib
# changed element.uniqueid to have dtype url
#
# Revision 1.3  1998/01/22 02:51:40  rib
# Changed Simple.conf so that it now has the File attribute in
# the Asset class.
#
# FullBIDM.conf had a problem because the description for one
# of the Attributes (I think it was Element.UniqueID?) looked
# silly.
#
# Revision 1.2  1997/12/18 18:55:38  rib
# took out a confusing (to me) reference to pre 1.0 RIB
#
# Revision 1.1.1.1  1997/12/10 15:59:33  jhorner
#
# Revision 1.1  1997/05/06 18:25:47  jhorner
# Initial revision
#

<class name="RigObject">
  <attribute name="Name" req mult dtype="string" alt="whatsmyname">
    Name or title for the object.
  </attribute>
</class>

<class name="Asset" extends="RigObject">
  <attribute name="Abstract" req dtype="text">
    General definition or explanation of the asset.
  </attribute>
  <attribute name="Cost" req dtype="text">
    The type and amount of fees a subscriber must pay to otain the right
    to reuse the asset. This information includes the currency that the
    fees shall be paid in and the pricing policy for maintenance support
    and upgrades.
  </attribute> 
  <attribute name="DateOfInformation" req dtype="date">
    The date the information about the asset was last updated
  </attribute>
  <attribute name="DistributionStatement" mult dtype="string">
    An indication of who may receive the asset.
  </attribute>
  <attribute name="Domain" req mult dtype="string">
    Broad area of interest, application area, or area of activity or
    knowledge.  (This attribute uses a controlled vocabulary).
  </attribute>
  <attribute name="Keyword" mult dtype="string">
    A word or phrase that describes the asset.
  </attribute>
  <attribute name="Language" req mult dtype="string">
    Programming language used to express one or more elements of the asset.
  </attribute>
  <attribute name="Name" req mult dtype="string">
    Name or title for the asset.
  </attribute>
  <attribute name="Restrictions" dtype="text">
    Legal information governing the use of the asset, including
    possibly copyright, data rights, disclaimers, export restrictions,
    and licenses.
  </attribute>
  <attribute name="SecurityClassification" req dtype="string">
    The highest security classification assigned to the asset or to any part
    of it.
  </attribute>
  <attribute name="TargetEnvironment" mult dtype="string">
    Computer system, operating system, and/or compiler for which the asset 
    was developed.
  </attribute>
  <attribute name="UniqueID" req dtype="string">
    A name or handle used to refer to the set of data that makes up the
    identity of the asset.
  </attribute>
  <attribute name="Version" dtype="string">
    The designation of the version of an asset (usually a number).
  </attribute>
  <attribute name="VersionDate" dtype="date">
    The publication date for the given version of the asset (i.e., the
    date the asset was made available for public use).
  </attribute>
  <relationship name="AwardedWith" dest="Certificate" mult>
    Relates the asset to a certificate that states that the asset has been
    assessed or evaluated according to specified evaluation criteria.
  </relationship>
  <relationship name="IsCopmosedOf" dest="Asset" mult>
    Indicates an asset that is a subasset or part of this asset.
  </relationship>
  <relationship name="IsLocatedIn" dest="Library" req mult>
    Indicates a library (i.e., repository) in which this asset is located.
  </relationship>
  <relationship name="IsMadeOf" dest="Element" req mult>
    Indicates an element (i.e., file) that is part of this asset.
  </relationship>
  <relationship name="WasCreatedBy" dest="Organization" req mult>
    An organization that originated or produced this asset (an organization
    can be a person).
  </relationship>
</class>

<class name="Certificate" extends="RigObject">
  <attribute name="CertificateDate" req dtype="date">
    Date the certification process was completed and the certificate awarded.
  </attribute>
  <attribute name="CertificateLevel" req dtype="string">
    Certification level awarded to the asset by this certificate.
  </attribute>
  <attribute name="CertificateStatus" dtype="string">
    Status of the certificate (e.g., approved, rejected, in progress)
  </attribute>
  <attribute name="ElementType" req mult dtype="string">
    Name or title for the certificate.
  </attribute>
  <relationship name="CertifiedBy" dest="Organization" mult>
    Indicates the organization that issued the certificate or performed the
    certification process. 
  </relationship>
  <relationship name="DefinedBy" dest="CertificationPolicy" req>
    Relates the certificate to the certification policy that defines the
    certification levels and procedures. 
  </relationship>
  <relationship name="SupportedBy" dest="CertificationArtifact" mult>
    Relates the certificate to certification artifacts produced during the
    certification process. 
  </relationship>
</class>

<class name="Element" extends="RigObject">
  <attribute name="ElementType" req mult dtype="string">
    The kind of element -- e.g., source code, test suite, makefile.
  </attribute>
  <attribute name="Media" req mult dtype="text">
    The media through which the element can be obtained -- e.g., CD-ROM,
    electronic.
  </attribute>
  <attribute name="Name" req dtype="string">
    Name or title for the element. 
  </attribute>
  <attribute name="UniqueID" req mult dtype="url">
    An identifier which uniquely identifies this element.  e.g. a URL.
  </attribute>
</class>

<class name="CertificationArtifact" extends="Element">
  <relationship name="IsProducedFromCertifying" dest="Element" mult>
    Relates the CertificationArtifact resulting from an assessment to
    the Element that was assessed.
  </relationship>
</class>

<class name="CertificationPolicy" extends="RigObject">
  <attribute name="Name" req dtype="string">
    Name or title for the certification policy. 
  </attribute>
  <attribute name="PolicyEffectiveDate" dtype="date">
    Date the CertificationPolicy was made effective for the organization.
  </attribute>
  <attribute name="PolicyReference" dtype="text">
    Reference to documents(s) or standard(s) that define the
    CertificationPolicy.
  </attribute>
  <relationship name="Defines" dest="CertificationLevel" mult>
    Relates the CertificationPolicy to a CertificationLevel it defines.
  </relationship>
</class>

<class name="CertificationLevel" extends="RigObject">
  <attribute name="Description" dtype="text">
    Text description of the CertificationLevel
  </attribute>
  <attribute name="Name" req dtype="string">
    Name or title for the certification level. 
  </attribute>
  <relationship name="ByAssessing" dest="CertificationProperty" mult>
    Relates the CertificationLevel (or CertificationQualityFactor by
    inheritance) to the CertificationProperty(s) that are assessed at
    that level (or for that factor)
  </relationship>
  <relationship name="Certifies" dest="CertificationQualityFactor" mult>
    Relates the CertificationLevel to the CertificationQualityFactor
    assessed at that level.
  </relationship>
</class>

<class name="CertificationQualityFactor" extends="CertificationLevel">
</class>

<class name="CertificationProperty" extends="RigObject">
  <attribute name="CertificationMethod" req dtype="string">
    The method applied in assessing a certification property (e.g.,
    inspection, static analysis, testing, formal verification,
    benchmarking)
  </attribute>
  <attribute name="ElementType" req dtype="string">
    Type of element (e.g., source code, documentation) to which the
    CertificationProperty is applied
  </attribute>
  <attribute name="Name" req dtype="string">
    Name or title for the certification property. 
  </attribute>
  <attribute name="PropertyDescription" req dtype="string">
    A statement about some feature or characteristic of an asset that may be
    assessed as being true or false during a certification process.
  </attribute>
  <attribute name="ToolApplied" dtype="string">
    Reference to the automated tool applied in support of the
    CertificationMethod assessing the CertificationProperty 
  </attribute>
</class>

<class name="Library" extends="RigObject">
  <attribute name="Name" req dtype="string">
    Name or title for the library. 
  </attribute>
  <relationship name="ContactIs" dest="Organization" req  mult>
    An organization that is a point of contact for the library (an
    organization can be a person).
  </relationship>
  <relationship name="HasDefault" dest="CertificationPolciy">
    Relates the library to its default certification policy.
  </relationship>
  <relationship name="IsComposedOf" dest="Library" mult>
    Indicates library that is part of this library.
  </relationship>
  <relationship name="References" dest="CertificationPolicy" mult>
    Relates the library to certification policies that is uses, other
    than its default policy.
  </relationship>
</class>

<class name="Organization" extends="RigObject">
  <attribute name="Address" dtype="string">
    The mailing address of the organization (or person). Includes street number
    and name, city, state, zipcode, and country.
  </attribute>
  <attribute name="Email" mult dtype="email">
    An electronic mail address for the organization.
  </attribute>
  <attribute name="Fax" mult dtype="string">
    A fax telephone number for the organization.
  </attribute>
  <attribute name="Name" req dtype="string">
    Name or title for the organization. 
  </attribute>
  <attribute name="Telephone" mult dtype="string">
    A (voice) telephone number for the organization.
  </attribute>
</class>
