Module interface

Module interface 

Expand description

Contains Interface and InterfaceType and their essential implementations used to model behaviors and states of systems.

An Interface specifies the observable behavior of a system. By generalizing the idea of interfaces and combining with InterfaceType, we will be able to model all aspects of complex dynamic system.

§Interfaces

In its simplest form, an interface specifies how to the system converts a set of inputs into a set of outputs. We can write this as

    f: (I) → O

This conforms to our notion of functions in programming. This describes the observable behavior of a system we are modeling, a unit of computation, if we may.

While it is simplistic to think of f as a function, it is, in fact, far more general. It can represent an event, a process or even a complete system. It is the f interface that contractually guarantees that the
system will return an output O given an input I. It captures the notion of some computation, an f computation or an f system.

In Rust, this this is captured by the call method on the Interface trait.

   fn call(input: I) -> O;

Traits§

Interface
An Interface specifies the behavior of a system as a map from input to output.
InterfaceType
An InterfaceType