Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation from BON to Java #704

Open
atiti opened this issue Mar 15, 2013 · 2 comments
Open

Translation from BON to Java #704

atiti opened this issue Mar 15, 2013 · 2 comments
Assignees

Comments

@atiti
Copy link
Collaborator

atiti commented Mar 15, 2013

"deferred class interfaced" in BON becomes (when choosing 'Generate skeleton code'):
"public /@ nullable_by_default @/ abstract class "

I believe it should become:
"public /@ nullable_by_default @/ interface "

@atiti
Copy link
Collaborator Author

atiti commented Mar 15, 2013

From: fintan (GH: fintanf) Date: Mon Mar 14 00:15:50 2011

The keyword interfaced in BON means that the class is "interfaced with the outside world: some class operation encapsulates external communication (function calls, data, etc.)" (source: the BON book).

The decision for determining whether a bon class becomes becomes a class, abstract class, or interface in Java is made according to the deferred keyword on the class and the features contained within.

@atiti
Copy link
Collaborator Author

atiti commented Mar 15, 2013

From: kiniry (GH: kiniry) Date: Mon Mar 14 09:33:41 2011

My apologies, Ólavur, about mis-remembering the refinement semantics of BON's interfaced keyword.

See Section 3.1 of [http://kindsoftware.com/documents/reports/Darulova09.pdf Eva's report] for details on the refinement.

In particular, to specify a Java interface, you need to state that the BON class is deferred and all features must have public visibility and deferred.

@ghost ghost assigned fintanf Mar 15, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants