Process Specification Language
# Process Specification Language

The Process Specification Language (PSL) is a set of logic terms used to describe processes. The logic terms are specified in an ontology that provides a formal description of the components and their relationships that make up a process. The ontology was developed at the National Institute of Standards and Technology (NIST), and has been approved as an international standard in the document ISO 18629.

The Process Specification Language can be used for the representation of manufacturing, engineering and business processes, including production scheduling, process planning, workflow management, business process reengineering, simulation, process realization, process modelling, and project management. In the manufacturing domain, PSL's objective is to serve as a common representation for integrating several process-related applications throughout the manufacturing process life cycle.

## Ontology

The foundation of the ontology of PSL is a set of primitive concepts (object, activity, activity_occurrence, timepoint), constants (inf+, inf-), functions (beginof, endof), and relations (occurrence_of, participates_in, between, before, exists_at, is_occurring_at). This core ontology is then used to describe more complex concepts. The ontology uses the Common Logic Interchange Format (CLIF) to represent the concepts, constants, functions, and relations.

This ontology provides a vocabulary of classes and relations for concepts at the ground level of event-instances, object-instances, and timepoints. PSL's top level is built around the following:

* Activity, a class or type of action, such as install-part, which is the class of actions in which parts are installed
* Activity-occurrence, an event or action that takes place at a specific place and time, such as a specific instance of install-part occurring at a specific timestamp
* Timepoint, a point in time
* Object, anything that is not a timepoint or an activity.
