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.