This doesn't exist, but is something I might try building someday if I get sufficiently bored.
I think that [[OPM]] and [[Archimate]] are both **really close** to an "ideal" generalized modeling toolset. Something that has [[Model-View Separation]], something that could scale well while also being easy-to-approach. I'd probably want to borrow some elements from [[SysML]], too.
I'd love to see a [[Modeling as a Knowledge Base]] option that closes the [[Gap Between Modeling and Writing]], with the following features:
- **[[Model-View Separation]]** - elements and their relationships should be able to be re-used between diagrams, meaning an underlying data model exists
- **Bi-modality** - like [[OPM#OPL]], a diagram that builds sentences that explain its contents
- **Flexible [[Ontology]]** - I don't think any *one* ontology could cover all potential use cases
- I could imagine a very basic "base" ontology that could be extended
- e.g. "is composed of", "exhibits property", "is an instance of", "is a generalization of"
- **Clarity** - Elements should require a *label*, and support a *description* on hover.
- **Configurable Notation** - notations (e.g. line shading, box shape, etc) should be allowed and should inform the underlying data, but the [[Information Mapping]] between the notation and [[Ontology, Semantics, and Syntax|semantics]] should be configured & defined by the on-diagram *legend*
- aka "Legendary Configuration"
- **Supporting Line & Encapsulation-based Semantics** - like [[Archimate]], there should be [[affordances]] for representing relationships using *lines* between things and also encapsulation of things.
- Problem to work out - how does one communicate the [[Entity Relationship Categories]] implied by encapsulation? Lines are easy to label, but containment is not.
- **Optional [[Positional Semantics]]** -
- it should be possible to stipulate [[Positional Semantics#Absolute Position Semantics]] by encoding diagrams with meaningful axes
- it would be a good stretch goal to support [[Positional Semantics#Relative Position Semantics]], although the number of possible relative positional semantics is huge - at a minimum the "which side does the arrow enter" syntax is useful
- This would also be configured in the legend
****
# More
## Source
- [[Myself]]