Once again, this type is very similar to SET OF with difference in order significance. Thus, sequence is defined to contain components of the same type in specified order; it is a list of values, each having a stable position. This position can be used to determine value meaning, such as hour of the day, day of the month, month of the year, etc.
Type and value notations are simple, e.g. average month temperatures:
TemperatureReadings ::= SEQUENCE OF Temperature
Temperature ::= INTEGER (-100 .. 100)
StonhengeTemperatures TemperatureReadings ::= {-5, -4, 4, 15, 20 24, 29, 28, 20, 15, 3, -2}
This type is also useful to define arrays, with subtyping also with fixed number of 'cells':
SingleArray ::= SEQUENCE SIZE (20) OF REAL
SquareArray ::= SEQUENCE SIZE (5) OF SEQUENCE SIZE (5) OF INTEGER
RectArray ::= SEQUENCE SIZE (0..3) OF SEQUENCE SIZE (1..2) OF INTEGER (0..4)
array1 RectArray ::= {
{0, 2}, -- row 0
{1, 3}, -- row 1
{4, 0}, -- row 2
{2, 3}, -- row 3
}