RecordFlux icon indicating copy to clipboard operation
RecordFlux copied to clipboard

Document specification features

Open treiher opened this issue 4 years ago • 1 comments

Specification Features

Main elements

  • Type: Modular Integer
  • Type: Range Integer
  • Type: Enumeration
  • Type: Enumeration (always valid)
  • Type: Boolean
  • Type: Message
  • Type: Derived message
  • Type: Sequence of scalar (modular, range enumerations)
  • Type: Sequence of message
  • Type refinement (specify type of opaque field)

Message type

  • Field type: Scalar (modular, range, enumeration)
  • Field type: Sequence of message
  • Field type: Sequence of scalar
  • Field type: Message
  • Field type: Opaque
  • Field length statically defined by type size
  • Field length statically defined by value
  • Field length dynamically defined by value of other fields
  • Field length dynamically defined by available space
  • Field condition: Logical expression referring to field value/length/first/last
  • Field condition: Logical expression referring to message length/last
  • Optional field (occurrence determined by condition)
  • Overlayed field (first bit on some position, same length)
  • Checksum aspect
  • Parameters

Session

  • Declarations
    • Renaming declaration
    • Variable declaration
  • Expressions
    • Aggregates
    • Attribute expressions
      • Head attribute
      • Has_Data attribute
      • Opaque attribute
      • Valid attribute
    • Bindings
    • Calls
    • Conversions
    • List comprehensions
    • Quantified expressions
    • Selected expressions
  • Session parameters
    • Channels
    • Functions
      • Allowed parameter types
        • Definite messages
        • Opaque fields of messages
        • Scalars
      • Allowed return types
        • Definite messages
        • Scalars
    • Private types
  • States
    • State actions
      • Assignment statements
      • Append attribute statements
      • Extend attribute statements
      • Read attribute statements
      • Reset attribute statements
      • Write attribute statements
    • State declarations
      • Renaming declarations
      • Variable declarations
    • Exception transition
    • Null state
    • State transitions

Structure

  • Use types of other specification file

Constraints

  • Names are case insensitive

treiher avatar Jul 16 '20 08:07 treiher

This also is related to #223.

senier avatar Jul 16 '20 09:07 senier