Manual
- Home
- Glossary
- User Interface
- Basic Notions
- Project structure
- Anatomy of a Modeling Language
- Jjodel Object Model (JjOM)
- Core Modeling Constructs
- JjOM API
- allInstances: Array<DObject>
- attributes: <DAttribute>
- className: String
- id: Pointer
- extendedBy: Array<DClass>
- extendedBy: <DClass>
- extends: Array<DClass>
- features: <Feature>
- final: Boolean (deprecated)
- instanceOf: DClass
- instanceOf: DClass
- instances: Array<DObject>
- isAbstract: Boolean
- isFinal: Boolean
- isInterface: Boolean
- isPrimitive: Boolean
- isMetamodel: Boolean
- isRootable: Boolean
- isSingleton: Boolean
- name: String
- objects: Array<DObject>
- operations: <DOperation>
- packages: Array<DPackage>
- packages: Array<DPackage>
- parent: *
- references: <DReference>
- rootable: Boolean (deprecated)
- Jjodel Definition Language
- Jjodel Events
- Local Installation
Projectional Editing
Projectional editing, also known as structured editing, is an approach to software development where the user interacts with and modifies the software’s underlying model directly, rather than editing the code that represents that model textually. This method can bypass some limitations of traditional textual code editing, such as the constraints imposed by the syntax of the programming language. Instead, projectional editing allows for the creation and manipulation of the model’s elements directly through a user interface that can include graphical, textual, and other types of representations.
Implementation of Projectional Editing in Jjodel
Direct Manipulation. Jjodel would likely offer a graphical interface where elements can be created, modified, and linked directly, without writing traditional code. Users could drag and drop components to build or modify the model’s structure.
Abstract Syntax. Behind its interface, Jjodel might maintain a structured representation of the model. Any changes made through the graphical interface would directly modify this tree, rather than altering source code text that is then parsed into such a structure.
Bidirectional Updates. Changes in the visual representation would immediately reflect in any textual view or code, and vice versa, ensuring consistency across different views of the model.
Such features are extended to multiple syntax viewpoints capable of propagating changes across the views seamlessly. This would align with its goal of simplifying model-driven engineering and broadening its accessibility and effectiveness in various domains.