Commit 76293977 authored by Matthias Simon's avatar Matthias Simon
Browse files

Update terms and log-function

parent 154ca271
Loading
Loading
Loading
Loading
Loading
+35 −3
Original line number Diff line number Diff line
@@ -7,13 +7,45 @@ Expression
: The computation of a value.

Value
: Data
: An instance of a type that can be used to represent information and
: participate in TTCN-3 language constructs according to the rules defined
: for that type.
: A value can be either concrete, a template value or a reference.

Value, concrete
:
: A value that completely determines the information it represents without
: requiring additional interpretation, matching, or substitution.

Value, template
:
: A value that specifies constraints, matching conditions, predicates or
: value selections for values of a given type.

Reference
: A value that denotes another value instance rather than representing that
: value instance directly.
: A reference can denotes values, fields ands objects.

Object
: A runtime instance of a class that encapsulates state and behaviour as defined by the class

Class
: A type that defines the structure and behaviour of objects instantiated from 
: it, including the set of attributes and operations applicable to such objects 

String Representation
:

Lifetime
: The period during which a value, object, or entity is defined and can be
referenced or used within the semantics of the language, as determined by its
creation and termination rules

Data Type
: A type whose values are represented directly by the value itself
: and whose assignment, parameter passing, and return semantics operate on a
: copy of that value.

Reference Type
: A type whose values denote an existing value instance rather than representing
: that value directly, and whose assignment, parameter passing, and return
: semantics operate on a reference to the same value instance Lifetime
+8 −10
Original line number Diff line number Diff line
## The log-statement
## The log function

The `log` statement logs given arguments to the logging stream associated with
the current component.
The `log` statement logs the string represenation of given arguments to the
logging stream associated with the current component.

**Syntactical Structure**

```ttcn3
function log(any args...);
function log(in any args...);
```

**Semantic Description**


Given _arguments_ shall be evaluated according to the rules specified in
[parameterization]. Their values are passed to the `log` function, their
[string representation] is logged to the logging stream associated with the
current component.


> NOTE: The implementation of the logging stream is outside the scope of
> this document.

- string representation is implementation specific
- arguments are expressions (rules specified in parameterization)

> NOTE: It is strongly recommended that the evaluation of the arguments has no
> side effects on the test behaviour. In particular, functions used in a log
> statement should not (explicitly or implicitly) change component variable
> values, port or timer status.