
276 . Alexander Tuzhilin
metaattributes, and provides support for deductive rules and integrity con-
straints. All these features added to RML make Telos a powerful require-
ments specification lang-sage that is relatively easy for the specifier to use.
Also, Telos has a rigorously defined semantics.
However, Telos does not fully satisfy some of the objectives stated in the
introduction. First, it is more difficult to map requirements specifications
written in Telos into a broad range of design specification languages than for
some of the previously considered specification languages, such as ERAE or
TRIO, for the same reasons as it is for RML. Second, Telos does not fully
satisfy requirements (1) and (2) because the SA still has to do a
certain
amount of encoding. Although Telos supports Allen’s [1984] time interval
temporal logic, it does not support point-based operators of temporal logic, as
INFOLOG, ERAE, TRIO, and RDL do. For instance, the example in
Mylopoulos et al. [1990, p. 333] saying that an author cannot referee his own
paper is stated in Telos as:
(v
Y / F’erson)(y = paper. author - =(3 t/ Time)y = paper. referee [at t])
This expression is contrasted with an equivalent temporal logic expression
that provides a more user-friendly treatment of time:
(V Y / Person)(y c paper. author = always_ in_the_future y @paper.referee)
Furthermore, Telos rules have the if-then structure and do not support
when, while, before, and after clauses. Without these clauses and without
the full support of temporal logic, Telos specifications require various encod-
ing techniques to specify end-user requirements involving time.
Tempera [Loucopoulos et al. 1990] is still another specification language
supporting time, complex objects, an extended entity-relationship (E-R) data
model, and deductive rules. As in Tel OS, it also represents a rich modeling
language. However, it also does not fully satisfy some of the requirements
stated in the introduction. The rule structure of Tempera supports temporal
logic, events, the when clause, and is based on the Event-Condition-Action
model of a rule [McBrien et al. 1991]. Therefore, it provides a more user-
-friendly rule structure than other languages considered so far. However,
Tempera supports only events and conditions and does not support activities.
This means that activities occurring over time require some type of encoding
in Tempera. For example, Tempera rules have to use some encoding tech-
niques to model statement “while an activity lasts . . . ,“ such as the one
presented in the introduction. Therefore, Tempera violates, to a certain
extent, our second objective because the end-user has to understand encoding
techniques used by the SA. Moreover, Tempera depends heavily on the E-R
data model and complex objects. This makes it more difficult to map require-
ments specifications written in Tempera into design specifications that use
other paradigms, such as the object-oriented paradigm (e.g., language TDL
[Borgida et al. 1993]),
than for such language as TRIO (because TRIO is
based only on temporal predicates that can be easily simulated in most of the
modeling paradigms). Therefore, Tempera specifications do not fully satisfy
our third objective to provide a specification language that can be mapped
into a broad range of design specification languages.
ACM Transac’uons on Information Systems, Vol. 13, No. 3, July 1995