AI
- abstract input symbol type.AO
- abstract output symbol type.CI
- concrete input symbol type.CO
- concrete output symbol type.public interface Mapper<AI,AO,CI,CO>
SUL
or MembershipOracle
from an "abstract" to a "concrete" level.
The notion of "abstract" and "concrete" is not universally defined, and mostly depends on the chosen perspective.
Generally speaking, the point of a Mapper<AI,AO,CI,CO>
is to translate a SUL<CI,CO>
into a SUL<AI,AO>
, and additionally provide facilities to map exceptions occurring at the concrete level to symbols at the
abstract level.
Modifier and Type | Interface and Description |
---|---|
static interface |
Mapper.AsynchronousMapper<AI,AO,CI,CO>
A mapper refinement to establish the contract of a asynchronous, query-wise translation of input words.
|
static interface |
Mapper.SynchronousMapper<AI,AO,CI,CO>
A mapper refinement to establish the contract of a synchronized, symbol-wise translation of input words for
reactive systems.
|
Modifier and Type | Method and Description |
---|---|
CI |
mapInput(AI abstractInput)
Method that maps an abstract input to a corresponding concrete input.
|
AO |
mapOutput(CO concreteOutput)
Method that maps a concrete output to a corresponding abstract output.
|
default void |
post()
Method that is invoked after all translation steps on a word are performed.
|
default void |
pre()
Method that is invoked before any translation steps on a word are performed.
|
default void pre()
default void post()
CI mapInput(AI abstractInput)
abstractInput
- the abstract inputCopyright © 2018. All rights reserved.