Comments (4)
Adding such "human syntactic sugar" things has previously been done in other projects (like Kermeta).
It leads to an increase in complexity of algorithms because of the exception cases introduced by this sugar, and this also influence the performance of loads/save/clones.
When using JSON to exchange data for the generation of a web page, generally produces a quite small JSON with a standard formatting; thus easy to read.
When using JSON to serialize models, it becomes as unreadable as XMI and this is normal. XMI has not been done to be human readable, an the JSON we serialize neither. Maybe we just lack of a reflexive tool to open the JSON as a tree, more readable by human for debug purposes...
What do you think ?
from kevoree-modeling-framework.
Let's first say this feature request is far from being mandatory for the upcoming release...
I could agree the "eClass" stuff is something that could introduce further issue in terms of performances and robustness (even though robustness is not so much of an issue since KMF would regenerate the loader/serializer if the metamodel changes).
For my second point on the path, I believe that in the case of small languages (metamodels) and/or small models, JSON provides a good solution for rapid prototyping in a light-weight environment (no need to wait 5 minutes to boot eclipse, 2 minutes to generate Eclipse plugins, and 5 more minutes to boot the second Eclipse running those plugins, and 2 minutes before it crashes for a perm gen exception, 2 more minutes to add more memory, 5 more minutes to reboot it). In the same time, you could have written 5 small json files assessing some properties of your language. I believe the paths would greatly simplify the writting of these files.
But that is just my opinion
from kevoree-modeling-framework.
Hello,
I also agree that the eClass attribute is less readable but exception in the loader take a lot time and make the global process weaker.
In an other hand PATH instead of XMIRef don't cost any thing I improve I lot the human readability of the generated JSON file. A related task is to add the default ID generation when no ID attribute is defined in the ECORE MetaModel file. This is mandatory to have a systematic process to replace XMIRef by KMFpath.
A take this feature request :-)
François
from kevoree-modeling-framework.
Closed by commit 8f131a4
from kevoree-modeling-framework.
Related Issues (20)
- Tracker makes KMF crash when removing modelelement contained in another modelElem HOT 1
- KOtlin Compilation Issue kmf 3.5.10 (js enable)
- KMF 3.5.11 snapshot : errors in generated code
- model query in JS HOT 1
- Code generation fails with uppercase letters in project path HOT 6
- KMF3: update Kotlin compiler to 0.10.4 HOT 1
- [v4.5.0][Bug] mm file compile to java with classes using opposite of HOT 4
- Test failure HOT 4
- Wrong cardinality in KMF MM generated from EMF MM HOT 7
- v4: ClassCastException when using Kevoree MM HOT 6
- Feature request: Adding a function related to HOT 3
- java.lang.ArrayIndexOutOfBoundsException: 31 on Kevoree MM HOT 4
- JavaScript generation should not generate files in src/main/resources HOT 3
- JS generated model does not follow the right namespace HOT 9
- [v4.8.0][Bug] mm file opposite of declaration
- Declaration order throws error for enums HOT 2
- JSON serialization does not escape special character HOT 1
- Unicity with @id is not guarantied HOT 1
- How to use it with gradle? HOT 3
- [v4.18.3][Minor Bug] minus character within MM file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kevoree-modeling-framework.