Skip to content

Latest commit

 

History

History
79 lines (43 loc) · 4.22 KB

File metadata and controls

79 lines (43 loc) · 4.22 KB
graph LR
    ModelingLanguage["ModelingLanguage"]
    ModelingLanguageChanged["ModelingLanguageChanged"]
    MainWindow["MainWindow"]
    Toolbox["Toolbox"]
    ModelBrowser["ModelBrowser"]
    ElementEditor["ElementEditor"]
    ModelingLanguage -- "triggers" --> ModelingLanguageChanged
    ModelingLanguageChanged -- "notifies" --> Toolbox
    ModelingLanguageChanged -- "notifies" --> ModelBrowser
    ModelingLanguageChanged -- "notifies" --> MainWindow
    ModelingLanguageChanged -- "notifies" --> ElementEditor
    MainWindow -- "initiates change in" --> ModelingLanguage
Loading

CodeBoardingDemoContact

Details

The Modeling Language Services subsystem is centered around managing the active modeling language within the application, ensuring all language-specific definitions and rules are consistently applied across various UI components.

ModelingLanguage

This is the authoritative service component responsible for managing the application's active modeling language (e.g., UML, SysML). It provides language-specific definitions for toolbox elements, diagram types, and element behaviors, ensuring adherence to the chosen modeling standard. It acts as the "Model" or core logic for language definition.

Related Classes/Methods:

ModelingLanguageChanged

This is an event or message component that serves as a broadcast mechanism. It notifies other parts of the application when the active modeling language has been altered, enabling dependent components to update their state or display accordingly. It's a key part of the event system for decoupling.

Related Classes/Methods:

MainWindow

Manages the main application window and provides the primary user interface for selecting and initiating changes to the modeling language. It acts as a "Controller" or "Presenter" by interacting with the ModelingLanguage service and also as a "View" by reacting to language change notifications.

Related Classes/Methods:

Toolbox

Displays a palette of tools for creating model elements. Its content is dynamic and depends entirely on the currently active modeling language. It acts as a "View" component that must adapt its offerings based on language changes.

Related Classes/Methods:

ModelBrowser

Provides a tree-like view of the model's elements. The structure and types of elements displayed are inherently tied to the active modeling language, requiring it to update its presentation when the language changes. It functions as a "View" of the model's structure.

Related Classes/Methods:

ElementEditor

Allows users to view and modify properties of selected model elements. The available properties, their types, and validation rules are specific to the active modeling language, necessitating updates upon language changes. It acts as a "View" and "Controller" for element properties.

Related Classes/Methods: