lingua-franca 0.10.1
Lingua Franca code generator
Loading...
Searching...
No Matches
org.lflang.diagram.synthesis.LinguaFrancaSynthesis Class Reference

Diagram synthesis for Lingua Franca programs. More...

Inherits AbstractDiagramSynthesis< Model >.

Public Member Functions

void addStateVariableList (KContainerRendering container, List< StateVar > variables)
KNode configureReactorNodeLayout (KNode node, boolean main)
List< DisplayedActionData > getDisplayedActions ()
List< SynthesisOption > getDisplayedSynthesisOptions ()
void setAnnotatedLayoutOptions (EObject modelElement, EMapPropertyHolder kgraphElement)
 Searches the "@layout" annotations and applies them to the corresponding element.
KNode transform (final Model model)

Static Public Member Functions

static double getReactorPortOffset (boolean sideLeft, boolean multiport, boolean bank)

Static Public Attributes

static final List< Float > ALTERNATIVE_DASH_PATTERN = List.of(3.0f)
static final SynthesisOption APPEARANCE
 Synthesis category.
static final DisplayedActionData COLLAPSE_ALL
 Synthesis actions.
static final SynthesisOption CYCLE_DETECTION
static final SynthesisOption DEFAULT_EXPAND_ALL
static final DisplayedActionData EXPAND_ALL
static final SynthesisOption EXPERIMENTAL
static final SynthesisOption FIXED_PORT_SIDE
static final String ID = "org.lflang.diagram.synthesis.LinguaFrancaSynthesis"
static final SynthesisOption LAYOUT
static final Property< Boolean > REACTION_SPECIAL_TRIGGER
static final SynthesisOption REACTIONS_USE_HYPEREDGES
static final SynthesisOption REACTOR_BODY_TABLE_COLS
static final Property< Boolean > REACTOR_HAS_BANK_PORT_OFFSET
static final Property< Boolean > REACTOR_INPUT
static final Property< Boolean > REACTOR_MULTIPORT
static final Property< Boolean > REACTOR_OUTPUT
static final SynthesisOption REACTOR_PARAMETER_MODE
static final Property< Boolean > REACTOR_RECURSIVE_INSTANTIATION
static final SynthesisOption SHOW_ALL_REACTORS
 Synthesis options.
static final SynthesisOption SHOW_HYPERLINKS
static final SynthesisOption SHOW_INSTANCE_NAMES
static final SynthesisOption SHOW_MULTIPORT_WIDTH
static final SynthesisOption SHOW_PORT_NAMES
static final SynthesisOption SHOW_REACTION_CODE
static final SynthesisOption SHOW_REACTION_NAMES
static final SynthesisOption SHOW_REACTION_ORDER_EDGES
static final SynthesisOption SHOW_REACTOR_HOST
static final SynthesisOption SHOW_STATE_VARIABLES
static final SynthesisOption SHOW_USER_LABELS
static final SynthesisOption SPACING
static final String TEXT_ERROR_CONTAINS_CYCLE = "Reactor contains cyclic dependencies!"
static final String TEXT_ERROR_CONTAINS_RECURSION
static final String TEXT_ERROR_CYCLE_BTN_FILTER = "Filter Cycle"
static final String TEXT_ERROR_CYCLE_BTN_SHOW = "Show Cycle"
static final String TEXT_ERROR_CYCLE_BTN_UNFILTER = "Remove Cycle Filter"
static final String TEXT_ERROR_CYCLE_DETECTION
static final String TEXT_ERROR_RECURSIVE = "Recursive reactor instantiation!"
static final String TEXT_HIDE_ACTION = "[Hide]"
static final String TEXT_NO_MAIN_REACTOR = "No Main Reactor"
static final String TEXT_REACTOR_NULL = "Reactor is null"
static final String TEXT_SHOW_ACTION = "[Details]"
static final SynthesisOption USE_ALTERNATIVE_DASH_PATTERN

Detailed Description

Diagram synthesis for Lingua Franca programs.

Author
Alexander Schulz-Rosengarten

Member Function Documentation

◆ addStateVariableList()

void org.lflang.diagram.synthesis.LinguaFrancaSynthesis.addStateVariableList ( KContainerRendering container,
List< StateVar > variables )

◆ configureReactorNodeLayout()

KNode org.lflang.diagram.synthesis.LinguaFrancaSynthesis.configureReactorNodeLayout ( KNode node,
boolean main )

◆ getDisplayedActions()

List< DisplayedActionData > org.lflang.diagram.synthesis.LinguaFrancaSynthesis.getDisplayedActions ( )

◆ getDisplayedSynthesisOptions()

List< SynthesisOption > org.lflang.diagram.synthesis.LinguaFrancaSynthesis.getDisplayedSynthesisOptions ( )

◆ getReactorPortOffset()

double org.lflang.diagram.synthesis.LinguaFrancaSynthesis.getReactorPortOffset ( boolean sideLeft,
boolean multiport,
boolean bank )
static

◆ setAnnotatedLayoutOptions()

void org.lflang.diagram.synthesis.LinguaFrancaSynthesis.setAnnotatedLayoutOptions ( EObject modelElement,
EMapPropertyHolder kgraphElement )

Searches the "@layout" annotations and applies them to the corresponding element.

Parameters
kgraphElementThe view model element to apply the layout options to, e.g. a KNode.
modelElementThe model element that has the annotations, e.g. a reactor.

◆ transform()

KNode org.lflang.diagram.synthesis.LinguaFrancaSynthesis.transform ( final Model model)

Member Data Documentation

◆ ALTERNATIVE_DASH_PATTERN

final List<Float> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.ALTERNATIVE_DASH_PATTERN = List.of(3.0f)
static

◆ APPEARANCE

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.APPEARANCE
static
Initial value:
=
SynthesisOption.createCategory("Appearance", true)

Synthesis category.

◆ COLLAPSE_ALL

final DisplayedActionData org.lflang.diagram.synthesis.LinguaFrancaSynthesis.COLLAPSE_ALL
static
Initial value:
=
DisplayedActionData.create(CollapseAllReactorsAction.ID, "Hide all Details")
Action that expands (shows details) of all reactor nodes.
Definition CollapseAllReactorsAction.java:17
static final String ID
Definition CollapseAllReactorsAction.java:19

Synthesis actions.

◆ CYCLE_DETECTION

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.CYCLE_DETECTION
static
Initial value:
=
SynthesisOption.createCheckOption("Dependency Cycle Detection", true)

◆ DEFAULT_EXPAND_ALL

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.DEFAULT_EXPAND_ALL
static
Initial value:
=
SynthesisOption.createCheckOption("Expand reactors by default", false)

◆ EXPAND_ALL

final DisplayedActionData org.lflang.diagram.synthesis.LinguaFrancaSynthesis.EXPAND_ALL
static
Initial value:
=
DisplayedActionData.create(ExpandAllReactorsAction.ID, "Show all Details")
Action that collapses (hides details) of all reactor nodes.
Definition ExpandAllReactorsAction.java:17
static final String ID
Definition ExpandAllReactorsAction.java:19

◆ EXPERIMENTAL

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.EXPERIMENTAL
static
Initial value:
=
SynthesisOption.createCategory("Experimental", true)

◆ FIXED_PORT_SIDE

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.FIXED_PORT_SIDE
static
Initial value:
=
SynthesisOption.createCheckOption("Fixed Port Sides", true).setCategory(LAYOUT)
static final SynthesisOption LAYOUT
Definition LinguaFrancaSynthesis.java:192

◆ ID

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.ID = "org.lflang.diagram.synthesis.LinguaFrancaSynthesis"
static

◆ LAYOUT

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.LAYOUT
static
Initial value:
=
SynthesisOption.createCategory("Layout", false).setCategory(LinguaFrancaSynthesis.APPEARANCE)
Diagram synthesis for Lingua Franca programs.
Definition LinguaFrancaSynthesis.java:124
static final SynthesisOption APPEARANCE
Synthesis category.
Definition LinguaFrancaSynthesis.java:187

◆ REACTION_SPECIAL_TRIGGER

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTION_SPECIAL_TRIGGER
static
Initial value:
=
new Property<>("org.lflang.linguafranca.diagram.synthesis.reaction.special.trigger", false)

◆ REACTIONS_USE_HYPEREDGES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTIONS_USE_HYPEREDGES
static
Initial value:
=
SynthesisOption.createCheckOption("Bundled Dependencies", false).setCategory(APPEARANCE)

◆ REACTOR_BODY_TABLE_COLS

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_BODY_TABLE_COLS
static
Initial value:
=
SynthesisOption.<Integer>createRangeOption("Reactor Parameter/Variable Columns", 1, 10, 1)
.setCategory(APPEARANCE)

◆ REACTOR_HAS_BANK_PORT_OFFSET

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_HAS_BANK_PORT_OFFSET
static
Initial value:
=
new Property<>("org.lflang.linguafranca.diagram.synthesis.reactor.bank.offset", false)

◆ REACTOR_INPUT

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_INPUT
static
Initial value:
=
new Property<>("org.lflang.linguafranca.diagram.synthesis.reactor.input", false)

◆ REACTOR_MULTIPORT

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_MULTIPORT
static
Initial value:
=
new Property<>("org.lflang.linguafranca.diagram.synthesis.reactor.multiport", false)

◆ REACTOR_OUTPUT

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_OUTPUT
static
Initial value:
=
new Property<>("org.lflang.linguafranca.diagram.synthesis.reactor.output", false)

◆ REACTOR_PARAMETER_MODE

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_PARAMETER_MODE
static
Initial value:
=
SynthesisOption.createChoiceOption(
"Reactor Parameters",
((List<?>) Conversions.doWrapArray(ReactorParameterDisplayModes.values())),
.setCategory(APPEARANCE)
Enumeration of different display options for reactor parameters.
Definition ReactorParameterDisplayModes.java:9
NONE
Definition ReactorParameterDisplayModes.java:10

◆ REACTOR_RECURSIVE_INSTANTIATION

final Property<Boolean> org.lflang.diagram.synthesis.LinguaFrancaSynthesis.REACTOR_RECURSIVE_INSTANTIATION
static
Initial value:
=
new Property<>(
"org.lflang.linguafranca.diagram.synthesis.reactor.recursive.instantiation", false)

◆ SHOW_ALL_REACTORS

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_ALL_REACTORS
static
Initial value:
=
SynthesisOption.createCheckOption("All Reactors", false)

Synthesis options.

◆ SHOW_HYPERLINKS

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_HYPERLINKS
static
Initial value:
=
SynthesisOption.createCheckOption("Expand/Collapse Hyperlinks", false)
.setCategory(APPEARANCE)

◆ SHOW_INSTANCE_NAMES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_INSTANCE_NAMES
static
Initial value:
=
SynthesisOption.createCheckOption("Reactor Instance Names", false).setCategory(APPEARANCE)

◆ SHOW_MULTIPORT_WIDTH

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_MULTIPORT_WIDTH
static
Initial value:
=
SynthesisOption.createCheckOption("Multiport Widths", false).setCategory(APPEARANCE)

◆ SHOW_PORT_NAMES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_PORT_NAMES
static
Initial value:
=
SynthesisOption.createCheckOption("Port names", true).setCategory(APPEARANCE)

◆ SHOW_REACTION_CODE

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_REACTION_CODE
static
Initial value:
=
SynthesisOption.createCheckOption("Reaction Code", false).setCategory(APPEARANCE)

◆ SHOW_REACTION_NAMES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_REACTION_NAMES
static
Initial value:
=
SynthesisOption.createCheckOption("Reaction Names", false).setCategory(APPEARANCE)

◆ SHOW_REACTION_ORDER_EDGES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_REACTION_ORDER_EDGES
static
Initial value:
=
SynthesisOption.createCheckOption("Reaction Order Edges", false).setCategory(APPEARANCE)

◆ SHOW_REACTOR_HOST

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_REACTOR_HOST
static
Initial value:
=
SynthesisOption.createCheckOption("Reactor Host Addresses", true).setCategory(APPEARANCE)

◆ SHOW_STATE_VARIABLES

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_STATE_VARIABLES
static
Initial value:
=
SynthesisOption.createCheckOption("Reactor State Variables", false).setCategory(APPEARANCE)

◆ SHOW_USER_LABELS

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SHOW_USER_LABELS
static
Initial value:
=
SynthesisOption.createCheckOption("User Labels (@label attribute)", true)
.setCategory(APPEARANCE)

◆ SPACING

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.SPACING
static
Initial value:
=
SynthesisOption.<Integer>createRangeOption("Spacing (%)", 0, 150, 5, 75).setCategory(LAYOUT)

◆ TEXT_ERROR_CONTAINS_CYCLE

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CONTAINS_CYCLE = "Reactor contains cyclic dependencies!"
static

◆ TEXT_ERROR_CONTAINS_RECURSION

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CONTAINS_RECURSION
static
Initial value:
=
"Reactor contains recursive instantiation!"

◆ TEXT_ERROR_CYCLE_BTN_FILTER

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CYCLE_BTN_FILTER = "Filter Cycle"
static

◆ TEXT_ERROR_CYCLE_BTN_SHOW

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CYCLE_BTN_SHOW = "Show Cycle"
static

◆ TEXT_ERROR_CYCLE_BTN_UNFILTER

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CYCLE_BTN_UNFILTER = "Remove Cycle Filter"
static

◆ TEXT_ERROR_CYCLE_DETECTION

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_CYCLE_DETECTION
static
Initial value:
=
"Dependency cycle detection failed.\n"
+ "Could not detect dependency cycles due to unexpected graph structure."

◆ TEXT_ERROR_RECURSIVE

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_ERROR_RECURSIVE = "Recursive reactor instantiation!"
static

◆ TEXT_HIDE_ACTION

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_HIDE_ACTION = "[Hide]"
static

◆ TEXT_NO_MAIN_REACTOR

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_NO_MAIN_REACTOR = "No Main Reactor"
static

◆ TEXT_REACTOR_NULL

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_REACTOR_NULL = "Reactor is null"
static

◆ TEXT_SHOW_ACTION

final String org.lflang.diagram.synthesis.LinguaFrancaSynthesis.TEXT_SHOW_ACTION = "[Details]"
static

◆ USE_ALTERNATIVE_DASH_PATTERN

final SynthesisOption org.lflang.diagram.synthesis.LinguaFrancaSynthesis.USE_ALTERNATIVE_DASH_PATTERN
static
Initial value:
=
SynthesisOption.createCheckOption("Alternative Dependency Line Style", false)
.setCategory(APPEARANCE)

The documentation for this class was generated from the following file:
  • /Users/runner/work/lingua-franca/lingua-franca/core/src/main/java/org/lflang/diagram/synthesis/LinguaFrancaSynthesis.java