|
Re: Epsilon languages as specification language [message #1850575 is a reply to message #1850569] |
Tue, 08 March 2022 18:00 |
|
Hi Joseph,
This is my personal opinion, but I think Epsilon is not really designed to describe the behaviour of a system by itself. Instead, its purpose is to allow you to implement your own domain-specific modeling language more easily, e.g. by introducing validated automation for your models through EVL, generating visualisations through Picto, or giving your models concrete semantics through interpretation (e.g. EOL), code generation (e.g. EGL/EGX), or model transformation (ETL).
You'd normally create the modeling language in some way (e.g. with Eugenia, Sirius, Xtext, an Excel spreadsheet with a certain structure... many things can be models!), and then use Epsilon to make the models "run" (if that's the intent) or otherwise support whatever intended use you have for them.
Another option would be to reuse an existing business analysis modeling language (BPMN, perhaps?) and then use Epsilon to make it do something for you other than provide documentation :-).
Best,
Antonio
[Updated on: Tue, 08 March 2022 18:02] Report message to a moderator
|
|
|
|
Re: Epsilon languages as specification language [message #1850590 is a reply to message #1850578] |
Wed, 09 March 2022 09:10 |
|
Hi Joseph,
If your system's main goal is to manipulate models, but the final implementation cannot use Epsilon as is (e.g. you have to work in a different language like C/C++), then then yes, Epsilon is a good tool to prototype the logic you want to achieve before implementing it. (I've used it to prototype algorithms on high-level software models before, which could then be ported over to closer-to-the-metal languages.) You'd need to port over the logic from Epsilon to your target language yourself, or write an automated translation (which I think nobody has really attempted yet with Epsilon).
That said, it'd depend on the profile of the people collecting and writing those requirements. If they do not have programming skills, it might be difficult for them to use Epsilon as it assumes the user knows how to write programs. For things like business automation, some of the texts I've read on BPMN even suggested having analysts do a high-level model of the business process, and then have developers fill in the details needed for full-on automation.
I know that some people in the Epsilon community have actually dabbled with "simplified English" sort of DSLs which could still be translated to runnable implementations. For instance, this ECMFA 2018 paper talked about executable natural language rules. Is that closer to the type of approach you'd like?
Best,
Antonio
|
|
|
|
Powered by
FUDForum. Page generated in 0.03184 seconds