# OSLC Estimation and Measurement Service (EMS) Vocabulary

The namespace URI for this vocabulary is:

`http://open-services.net/ns/ems#`

This vocabulary defines estimation and measurement resources and a service for managing them in projects.
Some terms of this vocabulary have been finalized for use by
OSLC Performance Monitoring 2.0.

**Label: **OSLC EMS Vocabulary

This document lists the RDF classes, properties, and individuals that are defined by this vocabulary. Following W3C best practices, this vocabulary is available as HTML (this document) and as RDF source.

More details about how this page was generated, and other related material, can be found in OSLC Core URI Naming Guidance.

**Classes defined by this vocabulary(50):**

`Baseline`

, `BaselineList`

, `CdfPoint`

, `CumulativeDistributionFunction`

, `Dimension`

, `DimensionCell`

, `DimensionColumn`

, `DimensionMember`

, `EffortMetric`

, `Estimate`

, `EstimateList`

, `Fact`

, `FactDistribution`

, `FactDistributionTable`

, `FactTable`

, `FinancialMetric`

, `Format`

, `Grain`

, `Head`

, `Map`

, `Mapping`

, `Measure`

, `MeasureCell`

, `MeasureColumn`

, `MeasureDistribution`

, `MeasureDistributionCell`

, `Measurement`

, `MeasurementList`

, `Metric`

, `NormalDistribution`

, `PointEstimate`

, `PoissonDistribution`

, `ProbabilityDistribution`

, `ProcessMetric`

, `ProductivityMetric`

, `Project`

, `ProjectList`

, `Quantile`

, `QuantileFunction`

, `ReliabilityMetric`

, `Scenario`

, `ScenarioList`

, `Service`

, `SizeMetric`

, `TimeMetric`

, `TriangularDistribution`

, `UniformDistribution`

, `UnitOfMeasure`

, `WbsFormat`

, `WorkBreakdownStructure`

**Properties defined by this vocabulary(66):**

`assumes`

, `assumesTable`

, `assumesWbs`

, `baselineList`

, `cdfPoint`

, `currentBaseline`

, `dimension`

, `dimensionCell`

, `dimensionColumn`

, `dimensionMember`

, `distribution`

, `estimate`

, `estimateList`

, `extendsScenario`

, `fact`

, `from`

, `grain`

, `head`

, `high`

, `inColumn`

, `isActive`

, `isClosed`

, `lambda`

, `low`

, `map`

, `mapping`

, `measureCell`

, `measureColumn`

, `measureDistributionCell`

, `measurementList`

, `memberBaseline`

, `memberEstimate`

, `memberMeasurement`

, `memberProject`

, `memberScenario`

, `metric`

, `mostLikely`

, `mu`

, `numberOfQuantiles`

, `numericValue`

, `observes`

, `observesTable`

, `observesWbs`

, `predicts`

, `predictsTable`

, `predictsWbs`

, `probability`

, `project`

, `projectList`

, `quantile`

, `realProjectId`

, `scale`

, `scenario`

, `scenarioList`

, `seeAlsoEstimation`

, `seeAlsoPerformance`

, `seeAlsoPortfolio`

, `seeAlsoProject`

, `service`

, `tableSource`

, `to`

, `unitOfMeasure`

, `useMap`

, `wbsContent`

, `wbsFormat`

, `wbsSource`

**Individuals defined by this vocabulary(0):**

None.

**Prefixes defined in this vocabulary:**

**Pre-defined standard prefixes:**

##
`assumes`

`ems:assumes`

is an RDF property.

This property links a scenario to the assumed value for some measure, e.g. duration, size.
The assumed value is a probability distribution.

##
`assumesTable`

`ems:assumesTable`

is an RDF property.

This property links a scenario to the assumed value for some fact table of measures, e.g. staffing by week.
The assumed fact table contains probability distributions.

##
`assumesWbs`

`ems:assumesWbs`

is an RDF property.

This property links a scenario to the assumed work breakdown structure.

##
`Baseline`

`ems:Baseline`

is an RDF class.

A baseline is a set of estimates, based on some scenario, that are used to track the performance of a project.

##
`CdfPoint`

`ems:CdfPoint`

is an RDF class.

This class describes a point on the graph of a cumulative probability function.
The cumulative probability at a point is given by
`ems:probability`

.
The cumulative probability MUST be greater than 0 and less than 1.
The measurement value is given by
`ems:numericValue`

.

The probability that a measurement gives a value less than or equal to
the numeric value is equal to the cumulative probability.

##
`cdfPoint`

`ems:cdfPoint`

is an RDF property.

This property links a cumulative probability function resource to one or more points on its graph.

##
`CumulativeDistributionFunction`

`ems:CumulativeDistributionFunction`

is an RDF class.

A *cumulative distribution function* (cdf) is a probabilty distribution defined by giving the
cumulative probability at an increasing sequence of measurement values.
The range of possible measurement values may be unbounded.
If a lower bound exists, it is given by `ems:low`

.
If an upper bound exists, it is given by `ems:high`

.

The graph of the cumulative distribution function is given by a set of measurement values
at an increasing sequence of cumulative probabilities between 0 and 1.
The cumulative probability values are given by one or more
`ems:cdfPoint`

properties.

**Label: **CumulativeDistributionFunction

##
`Dimension`

`ems:Dimension`

is an RDF class.

A *dimension* is some aspect of an aggregated quantity which lets the aggregate be analyzed.
For example, the total effort expended in a project can be analyzed by week or month.
Therefore time
(`dimension:Time`

)
is a dimension of effort
(`metric:Effort`

).

##
`dimensionColumn`

`ems:dimensionColumn`

is an RDF property.

This property links the head of a fact table to one or more
`ems:DimensionColumn`

resources that define dimension columns.
Every fact table MUST have at least one dimension column.

##
`Estimate`

`ems:Estimate`

is an RDF class.

An estimate is a probabilistic prediction, based on a scenario, for a set of measurements.

##
`extendsScenario`

`ems:extendsScenario`

is an RDF property.

This property links a scenario a base scenario that it extends.
The base scenario contains assumptions that can be included in several other extended scenarios.

##
`fact`

`ems:fact`

is an RDF property.

This property links a fact table to its fact rows.
In general, a fact table will have many fact rows.
If the fact table has an
`ems:tableSource`

property,
then the rows of the fact table MUST be a copy of the data values received in the response of
an HTTP GET request of the URL of the remote table source.

##
`FactTable`

`ems:FactTable`

is an RDF class.

This class is used to represent *fact tables*.

Consider the work performed on a project.
Work may be analyzed according to attributes such as who performed the work,
the task or activity that the work accomplished,
when the work was performed, etc.
These attributes are referred to as *dimensions*.

Work may be quantified by such metrics as its effort in person-hours,
its cost in some currency, its duration in months, its peak staffing, etc.
These quantities are referred to as *measures*.

The term dimension is used because the measures can be regarded as occupying cells
in a multi-dimensional array (sometimes referred to as a *datacube*).
It is frequently of interest to summarize the measures along a dimension,
for example given the effort by activity, calculate the total effort for all activities.
Conversely, given the total effort, it may be of interest to see how it is broken down by activity.

In general, set of related measures, analyzed along a set of dimensions may be organized into a
fact table.
Each row of a fact table contains a set of measures (e.g. effort and cost)
for a given combination of dimension values (e.g. activity and month).

This resource MAY contain the actual measurements,
provide a link to the source of the actual measurements,
or contain both a link to the source and a copy of the actual measurements obtained from the source
(i.e. a cached copy of the source).

`ems:Format`

is an RDF class.

A *format* is a specification of the syntax of an artifact.

##
`from`

`ems:from`

is an RDF property.

This property links a mapping to its custom label value.
The value MUST be unique within its enclosing map resource.

##
`Head`

`ems:Head`

is an RDF class.

This class defined the columns of a fact table.
A fact table MUST have one or more dimension columns, e.g. date or role,
and one or more measure columns, e.g. cost or effort.
The dimension columns contain dimension values.
Dimension columns SHOULD contain standard dimension values when they exist, e.g. for roles.
The creator of the fact table MAY use custom dimension dimension values and
record how these custom values are mapped to the standard values.

##
`head`

`ems:head`

is an RDF property.

This property links a fact table to an
`ems:Head`

resource that
describes the columns of the table.

##
`high`

`ems:high`

is an RDF property.

This property gives the *high* parameter value of a probability distribution.

##
`isActive`

`ems:isActive`

is an RDF property.

This boolean property indicates if a scenario is under active consideration.
When a scenario has been ruled out, it is marked as inactive by setting this property to <code>false</code>.

##
`isClosed`

`ems:isClosed`

is an RDF property.

This boolean property indicates if the project is closed.
No further activities or measurements are done on closed projects.
The measurements of closed projects can be used to calibrate the estimates for new projects.
When a project is completed and all measurements on it have been performed,
it is marked as closed by setting this property to <code>true</code>.

##
`lambda`

`ems:lambda`

is an RDF property.

This property gives the *lambda* parameter value of a Poission distribution.

##
`low`

`ems:low`

is an RDF property.

This property gives the *low* parameter value of a probability distribution.

##
`Map`

`ems:Map`

is an RDF class.

Some key dimensions may define standard dimension member URIs which are used for
data interchange. However, users may wish to use custom values.
This class lets you define how custom values are mapped to standard URIs.
You can include an map resource in the description of a dimension column of a fact table
(see `ems:useMap`

).

We make the simplifying assumption that this mapping is many-to-one, that is,
one or more custom dimension values may be mapped to the same standard dimension value.
A map may contain one or more of these mappings
(see `ems:mapping`

), but each custom dimension value must map to
exactly one standard dimension value.

##
`map`

`ems:map`

is an RDF property.

This property links a fact table head to an
`ems:Map`

resource that defines
how custom dimension values are mapped to standard values.
The scope of this mapping is local to the fact table.

##
`Mapping`

`ems:Mapping`

is an RDF class.

This class describes a *mapping*.
A mapping maps some custom string label value for a dimension
(see `ems:from`

) to a dimension member URI which may be a standard
value defined in some vocabulary.
(see `ems:to`

).

##
`mapping`

`ems:mapping`

is an RDF property.

This property links a map to a mapping.
A map may have one or more mappings.

##
`Measure`

`ems:Measure`

is an RDF class.

A *measure*, as in the idiom *take the measure of*,
is the result of observing some numerically quantifiable aspect of a project, system, or thing.
For example, a *duration of 12 months* or a *size of 10 KLOC* are measures.
The aspect being measured, e.g. duration or size, is referred to as the *metric*
and is given by the property `ems:metric`

.
The scale of measurement, e.g. months or KLOC, is referred to as the *unit of measure*
and is given by the property `ems:unitOfMeasure`

.
The numeric value of an observation, e.g. 12 or 10, is given by the property
`ems:numericValue`

.

##
`measureCell`

`ems:measureCell`

is an RDF property.

This property links a fact row to one or more of its measure cells.

##
`measureColumn`

`ems:measureColumn`

is an RDF property.

This property links the head of a fact table to one or more
`ems:MeasureColumn`

resources that define measure columns.
Every fact table MUST have at least one measure column.

##
`measureDistributionCell`

`ems:measureDistributionCell`

is an RDF property.

This property links a fact distribution row to a measure distribution cell.

**Label: **measureDistributionCell

##
`Measurement`

`ems:Measurement`

is an RDF class.

A measurement is a set of observations of numerically quantifiable aspects of a project, system, or thing.

##
`Metric`

`ems:Metric`

is an RDF class.

A *metric* is a procedure or algorithm for quantifying or measuring some aspect of a thing, system, event, etc.
For example *duration* is a metric that measures the amount of time an activity takes.

##
`metric`

`ems:metric`

is an RDF property.

This property links a measure to its metric.
For example, the measure *duration of 12 months* has the metric *duration*.

##
`mostLikely`

`ems:mostLikely`

is an RDF property.

This property gives the *most likely* parameter value of a probability distribution.

##
`mu`

`ems:mu`

is an RDF property.

This property gives the *mu* parameter value of a probability distribution.

##
`NormalDistribution`

`ems:NormalDistribution`

is an RDF class.

A *normal distribution* (also known as a *Gaussian distribution*
is a probability distribution that naturally arises as the
limit of many random factors. It is symmetric about its mean and has a certain scale.
The mean is given by `ems:mu`

.
Its scale (also known as its standard deviation) is given by
`ems:scale`

.

**Label: **NormalDistribution

##
`numberOfQuantiles`

`ems:numberOfQuantiles`

is an RDF property.

This property gives the *number of quantiles* parameter value of a probability distribution.

##
`numericValue`

`ems:numericValue`

is an RDF property.

This property gives the numeric value of a resource.
For example, the numeric value of the measure *duration of 12 months* is 12.
The datatype of this property is typically `xsd:double`

.

##
`observes`

`ems:observes`

is an RDF property.

This property links a measurement to the observed value of a measure.
In an EMS service, the measurement is a resource of type
`ems:Measurement`

which may observe zero or more measures.
For example, a measurement at the end of a project may observe a *duration of 12 months* and a *cost of 200,000 USD*.

##
`observesTable`

`ems:observesTable`

is an RDF property.

This property links a measurement to the observed fact table.
The fact table analyzes the measurement along one or more dimensions.

##
`observesWbs`

`ems:observesWbs`

is an RDF property.

This property links a measurement to the observed work breakdown structure.

##
`PoissonDistribution`

`ems:PoissonDistribution`

is an RDF class.

A *Poisson distribution* is a probability distribution that gives the probability
that a given number of events will occur in a fixed time period.
This distribution is completely specified by a single parameter often denoted by the
Greek letter *lambda*.
Lambda is given by `ems:lambda`

.

**Label: **PoissonDistribution

##
`predicts`

`ems:predicts`

is an RDF property.

This property links an estimate to the predicted value for some measure, e.g. duration, size.
The predicted value is a probability distribution.

##
`predictsTable`

`ems:predictsTable`

is an RDF property.

This property links an estimate to the predicted value for some fact table of measures, e.g. staffing by week.
The predicted fact table contains probability distributions.

##
`predictsWbs`

`ems:predictsWbs`

is an RDF property.

This property links an estimate to the predicted work breakdown structure.

##
`probability`

`ems:probability`

is an RDF property.

This property gives the cumulative probability.
For example, the cumulative probability of the third quartile is 75%.

##
`ProbabilityDistribution`

`ems:ProbabilityDistribution`

is an RDF class.

This class describes *probability distributions*.
A probability distribution gives the likelihood that a measurement of some value
(a random variable)
will fall within some given range.
Probability distributions are used in scenario assumptions
(see `ems:assumes`

) and estimate predictions
(see `ems:predicts`

).

**Label: **ProbabilityDistribution

##
`ProductivityMetric`

`ems:ProductivityMetric`

is an RDF class.

A *productivity metric* is a metric that measures the rate at which some artifact, such as software, is produced.
For example,
*lines of code per unit time*
(`metric:EslocPerTime`

) and
*team velocity*
(`metric:TeamVelocity`

)
are productivity metrics.

**Label: **ProductivityMetric

##
`Project`

`ems:Project`

is an RDF class.

Within the scope of EMS, a project is any activity, system, or thing that can be the subject of a set of measurements.
In practice, a project is often a time-bounded work effort that produces a unique result.

##
`Quantile`

`ems:Quantile`

is an RDF class.

This class describes a *quantile* of a quantile function.
The cumulative probability of a quantile is given by
`ems:probability`

.
The cumulative probability MUST be greater than 0 and less than 1.
The upper limit of the range of measurement values is given by
`ems:numericValue`

.
The lower limit of the range of measurement values is given by
the upper limit of the preceding quantiles.

The probability that a measurement gives a value less than or equal to
the numeric value is equal to the cumulative probability.

##
`quantile`

`ems:quantile`

is an RDF property.

This property links a quantile function resource to one or more quantiles.

##
`QuantileFunction`

`ems:QuantileFunction`

is an RDF class.

A *quantile function* is a probability distribution that breaks up a range of values
into quantiles that each have the same probability.
When the number of quantiles is 4, 10, or 100, we refer to them as *quartiles*,
*deciles*, and *percentiles*.
For example, there is a 25% probability that a measurement will fall within any given quartile.
The number of quantiles is given by
`ems:numberOfQuantiles`

.
The number of quantiles MUST be greater than one.

The range of possible measurement values may be unbounded.
If a lower bound exists, it is given by `ems:low`

.
If an upper bound exists, it is given by `ems:high`

.

The graph of the quantile function is given by a set of measurement values that
correspond to the equally spaced cumulative probabilities between 0 and 1.
For example, for quartiles the cumulative probabilities are 25%, 50%, and 75%.
The cumulative probability values are given by one or more
`ems:quantile`

properties.

**Label: **QuantileDistribution

##
`realProjectId`

`ems:realProjectId`

is an RDF property.

This property links a project to an identifier of the project as a real-world object.

##
`scale`

`ems:scale`

is an RDF property.

This property gives the *scale* parameter value of a probability distribution.
This parameter is also known as the *standard deviation* and is often denoted by
the Greek letter sigma.

##
`Scenario`

`ems:Scenario`

is an RDF class.

A scenario is a set of assumptions about how a project will be executed.
These assumptions are used as inputs to estimates.

##
`seeAlsoEstimation`

`ems:seeAlsoEstimation`

is an RDF property.

This property links a project to a corresponding resource in an estimation application.

`ems:seeAlsoPerformance`

is an RDF property.

This property links a project to a corresponding resource in a performance management application.

**Label: **seeAlsoPerformance

##
`seeAlsoPortfolio`

`ems:seeAlsoPortfolio`

is an RDF property.

This property links a project to a corresponding resource in a portfolio management application.

##
`seeAlsoProject`

`ems:seeAlsoProject`

is an RDF property.

This property links a project to a corresponding resource in a project management application.

##
`Service`

`ems:Service`

is an RDF class.

An EMS *service* hosts and manages a set of resources that describe projects, scenarios, estimates, measurements, and baselines.
Each instance of an service has a set of resource containers that contain resources of a given type.

##
`service`

`ems:service`

is an RDF property.

This property is used to link a resource to the EMS service instance that hosts it.

##
`SizeMetric`

`ems:SizeMetric`

is an RDF class.

A *size metric* is a metric that measures the magnitude, volume, bulk, or capability of some artifact such as software.
For example,
*lines of code*
(`metric:Sloc`

) and
*story points*
(`metric:StoryPoints`

)
are size metrics.

##
`tableSource`

`ems:tableSource`

is an RDF property.

Fact tables contain actual measurements for projects, systems, or things.
In practice, there may be many measurements and they may be updated frequently.
The measurements may be at a finer level of granularity than the estimates,
e.g. a project may estimate total defects found per month,
whereas the actual number found may be collected daily.
Furthermore, these measurements are often collected automatically by software development tools
such as bug tracking systems or source code control systems.
It may therefore be useful to simply refer to the source of the measurements rather than copy
the actual measurements into the EMS service provider,
e.g. a dynamic query on a software tool may generate the fact table on demand.

This property lets you refer to the remote source of the fact table data via a URL.
An HTTP GET request on this URL MUST return an
`ems:FactTable`

resource whose
`dcterms:title`

and
`ems:head`

properties match this resource.

##
`to`

`ems:to`

is an RDF property.

This property links a mapping to its dimension member URI.
Many mappings MAY map to the same dimension member URI.

##
`TriangularDistribution`

`ems:TriangularDistribution`

is an RDF class.

A *triangular distribution* is a probability distribution that concentrated between
*high* and *low* values, and that linearly rises to and falls from to an
intermediate *most likely* value.
The low value is given by `ems:low`

.
The most likely value is given by `ems:mostLikely`

.
The high value is given by `ems:high`

.

**Label: **TriangularDistribution

`ems:UniformDistribution`

is an RDF class.

A *uniform distribution* is a probability distribution that is evenly spread between
a *high* and a *low* value.
The high value is given by `ems:high`

.
The low value is given by `ems:low`

.

**Label: **UniformDistribution

##
`unitOfMeasure`

`ems:unitOfMeasure`

is an RDF property.

This property gives the unit of measure. For example, the measure *duration of 12 months* has a unit of measure *months*.

##
`wbsContent`

`ems:wbsContent`

is an RDF property.

This property gives the literal XML WBS content of a WBS resource.
This content MUST be in the XML format specified by the WBS resource.
If this property is absent, then `ems:wbsSource`

MUST be present.
If this property and `ems:wbsSource`

are present,
then the value of this property SHOULD be the XML document representation returned in the
HTTP GET response for the link given in `ems:wbsSource`

.

`ems:wbsFormat`

is an RDF property.

This property links a WBS resource to the XML format of its content.
EMS does not define a format for WBS content.
Instead, this property identifies the specification that defines the XML format of the WBS content.

##
`wbsSource`

`ems:wbsSource`

is an RDF property.

This property links a WBS resource to a resource that contains the WBS XML content.
This content MUST be in the XML format specified by the WBS resource.
When this link is deferenced using an HTTP GET request, the response MUST be the WBS.
If this property is absent, then the WBS resource MUST have a
`ems:wbsContent`

property.

##
`WorkBreakdownStructure`

`ems:WorkBreakdownStructure`

is an RDF class.

This class describes *work breakdown structures*.
A work breakdown structure (WBS) is a common way to represent the work to be performed in a project.
In EMS, a WBS may be used as an assumption in an scenario,
as a prediction in an estimate, or as an observation in a measurement.

A WBS has a format
(see `ems:wbsFormat`

), and may either include
(see `ems:wbsContent`

) or link to
(see `ems:wbsSource`

) its content.
The included or linked WBS content MUST be in the specified format.

**Label: **WorkBreakdownStructure