module Modelling.ActivityDiagram.Common (
finalNodesAdviceTitle,
finalNodesAdviceText,
finalNodesAdvice,
finalNodesAndTransitionsAdvice,
) where
import qualified Data.Map as M
import Modelling.Auxiliary.Output (ExtraText(..))
import Control.OutputCapable.Blocks (Language(..))
finalNodesAdviceTitle :: M.Map Language String
finalNodesAdviceTitle :: Map Language String
finalNodesAdviceTitle = [(Language, String)] -> Map Language String
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList [
(Language
English, String
"Hint on the translation to a Petri net"),
(Language
German, String
"Hinweis zur Übersetzung in ein Petrinetz")
]
finalNodesAdviceText :: M.Map Language String
finalNodesAdviceText :: Map Language String
finalNodesAdviceText = [(Language, String)] -> Map Language String
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList [
(Language
English, String
"For final nodes no additional places are introduced. They are realised in a way that a token is consumed, i.e. disappears from the net at that position."),
(Language
German, String
"Für Endknoten werden keine zusätzlichen Stellen eingeführt. Sie werden so realisiert, dass ein Token verbraucht wird, also an dieser Position aus dem Netz verschwindet.")
]
finalNodesAdvice :: ExtraText
finalNodesAdvice :: ExtraText
finalNodesAdvice = Bool -> Map Language String -> Map Language String -> ExtraText
Collapsible Bool
True Map Language String
finalNodesAdviceTitle Map Language String
finalNodesAdviceText
finalNodesAndTransitionsAdvice :: ExtraText
finalNodesAndTransitionsAdvice :: ExtraText
finalNodesAndTransitionsAdvice = Bool -> Map Language String -> Map Language String -> ExtraText
Collapsible Bool
True Map Language String
finalNodesAdviceTitle
([(Language, String)] -> Map Language String
forall k a. Ord k => [(k, a)] -> Map k a
M.fromList [
(Language
English, String
englishText),
(Language
German, String
germanText)
])
where
englishText :: String
englishText = (Map Language String
finalNodesAdviceText Map Language String -> Language -> String
forall k a. Ord k => Map k a -> k -> a
M.! Language
English) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" If an additional transition is required to realise this behavior, this transition does not count as auxiliary node."
germanText :: String
germanText = (Map Language String
finalNodesAdviceText Map Language String -> Language -> String
forall k a. Ord k => Map k a -> k -> a
M.! Language
German) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" Falls eine zusätzliche Transition erforderlich ist, um dieses Verhalten zu realisieren, zählt diese Transition nicht als Hilfsknoten."