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]]