Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Epsilon languages as specification language
Epsilon languages as specification language [message #1850569] Tue, 08 March 2022 15:43 Go to next message
jo ber is currently offline jo berFriend
Messages: 94
Registered: August 2018
Member
Hi

Do you think the Epsilon languages can be used as a way to describe the 'behavior' of a system by people bridging gap between business and IT (e.g. requirement engineer RE and/or business analyst BA) or are the Epsilon languages only intended to be used by developer?

Many specifications I've read from BA or RE, describe the behavior of the system in natural language in word or excel document which can't be processed by a machine. Often, the specification are constructed with the intention be formal (at least in the way they are written) but aren't.

Kind regards,
Joseph
Re: Epsilon languages as specification language [message #1850575 is a reply to message #1850569] Tue, 08 March 2022 18:00 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-DominguezFriend
Messages: 594
Registered: January 2010
Location: Birmingham, UK
Senior Member

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 #1850578 is a reply to message #1850575] Tue, 08 March 2022 20:25 Go to previous messageGo to next message
jo ber is currently offline jo berFriend
Messages: 94
Registered: August 2018
Member
Hi Antonio

My question is indeed not very well formulated and suggests a misunderstanding on my part of what Epsilon is.

In the context of my work, the requirements of the software we develop are captured in English prose documents (typically MS Word document). These informal requirements are meant to be understood with more or less ease by software developers. It is usually assumed that developer can fill the gaps and resolve ambiguities themself.

The nature of these requirements varies between defining models, defining constraints on these models, transforming a source model to a target model or transforming a model to text. In general, these aspects are covered by one of the Epsilon languages.

When I discuss the benefits of a more formal approach with my colleagues, I face the same problem mentioned in [1]: "The real problem preventing a broader acceptance of formal methods is that there are no intuitive formalisms that practitioners can use to express logic requirements at the level of precision that is required for formal verification" (no, changing my colleagues is not an option atm ;-) ). a magic recipe?

Kind regards,

[1] Formalizing Requirements Is Hard, Gerard J. Holzmann (bof...)
Re: Epsilon languages as specification language [message #1850590 is a reply to message #1850578] Wed, 09 March 2022 09:10 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-DominguezFriend
Messages: 594
Registered: January 2010
Location: Birmingham, UK
Senior Member

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
Re: Epsilon languages as specification language [message #1850594 is a reply to message #1850590] Wed, 09 March 2022 12:46 Go to previous message
jo ber is currently offline jo berFriend
Messages: 94
Registered: August 2018
Member
very interesting paper, pretty much describing the problem I'm facing.
thank you
Previous Topic:EGL bulk insert
Next Topic:Creating a DataType Instance in ETL
Goto Forum:
  


Current Time: Sat Apr 27 06:30:10 GMT 2024

Powered by FUDForum. Page generated in 0.03184 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top