preloader
Manual
Jjodel Object Model (JjOM)

The Jjodel Object Model (JjOM) is a conceptual framework designed to represent and manage all elements within a Jjodel project, encapsulating metamodels, models, and viewpoints. Serving as the core of Jjodel’s modeling environment, the JjOM establishes a structured approach to defining, visualizing, and manipulating the objects that compose a model-driven engineering project. Through a combination of data, layout, and syntax sub-models, the JjOM allows for flexible representation and interaction with all modeling artifacts, ensuring that model elements are both comprehensible and accessible.

 

The JjOM architecture is divided into three primary sub-models, each responsible for a distinct aspect of the modeling environment:

 

  1. Data Sub-Model: This sub-model captures the core elements of models and metamodels, including classes, attributes, relationships, and constraints and all correspondent instances. In JjOM, the data sub-model acts as a repository of domain concepts and structures, much like the Ecore or MOF metamodel layers. It represents the structure and behavior of model elements, making it possible to define specific domains or application-specific languages. Each model element in the data sub-model is managed as an object, complete with a unique identifier and relationships to other model elements, ensuring clear navigation and consistent data integrity across the model hierarchy.
  2. Node Sub-Model: This sub-model manages layout information, determining how model elements are spatially organized within the Jjodel environment. The node sub-model ensures that each element’s position and connections are well-defined, enabling effective visualization and interaction. By supporting layout metadata, such as coordinates, parent-child relationships, and connection points, the node sub-model provides a foundation for building intuitive and visually coherent models. This level of detail facilitates clarity, particularly in complex diagrams where relationships between elements must be clearly conveyed.
  3. View Sub-Model: This sub-model is dedicated to represent the relavant information about the concrete syntax and visual representations of model elements. The view sub-model enables the customization of each element’s appearance, supporting graphical notations, labels, colors, and other visual properties. This functionality allows users to create domain-specific notations, making the representation of abstract concepts more intuitive and tailored to specific needs. The view sub-model in JjOM ensures that visual representation aligns with the semantic intent of model elements, supporting both standard notations and fully custom visual languages.
Figure 1 – JjOM Sub-Models
 
JjOM API and Accessibility

 All primary components of the JjOM are accessible through a dedicated API, which provides a programmatic interface to navigate and interact with the JjOM structure. Documented in detail within this manual, the JjOM API offers methods for retrieving and manipulating objects representing model elements, their layout configurations, and their syntactic representations. Through this API, users can explore, modify, and integrate model data, supporting tasks such as constraint validation, model transformations, and dynamic updates. The API is also central to enabling JSX expressions for advanced interactions, particularly in defining navigation paths and constraints within the Jjodel environment. By allowing users to define customized constraints and navigational expressions, the API supports flexible model querying and enables a dynamic, interactive modeling experience.  

Leave a Reply

Your email address will not be published. Required fields are marked *