Language
- Language
- a core abstract method component
that consists of a vocabulary (i.e., a set of terms) combined with a
set of grammatical rules (i.e., associated syntax and semmantic)
that are used to produce one or more
work products.
As illustrated in the preceding figure, Language is part of the following inheritance hierarchy:
- Type: Abstract
- Superclass: Process Component Class
- Subclasses:
The typical responsibilities of a Language are to:
- Produce all or part of a work product.
- Communicate the work product to humans or automated digital applications.
- Languages may be either textual (e.g., English, Java) or primarily graphic (e.g., UML, OML).
- Documents are typically written in a combination of natural languages with diagrams written
using visual modeling languages.
- Requirements specifications may be written in a combination of natural language, visual modeling language,
and (if especially formal) specification language.
- Visual modeling languages are especially used in architecture and design work products.
- Data components (content) are typically written using natural languages, but they may also be written
using certain programming languages (e.g., HTML, XML).
- Software components are primarily written in implementation languages, but may also include substantial
use of natural languages in the form of embedded comments.
- As part of developing a process, process engineers or technical leaders need to decide what languages to use to
produce documents, software components, and data (content) components.
- An important language decision is driven by
internationalization requirements. In how many languages must
the content be presented to the user?
- With rapidly evolving languages (e.g., HTML, JavaScript),
the choice of version and supplier become important and should be well documented.