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

Support java compilation of generated code and limited model execution in UmpleOnline #1394

Open
TimLethbridge opened this Issue Oct 19, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@TimLethbridge
Member

TimLethbridge commented Oct 19, 2018

UmpleOnline currently does not allow actual execution of generated code. There are risks in doing that (security, server load). UmpleOnline doesn't even compile the generated code to see if there are any syntax errors in user-defined methods. However this could be done on a limited basis by analysing an Umple model to determine that it is 'safe' for server use. A model would be safe if it only called methods that are defined in its own generated API (as determined by scanning), or a limited set of system methods (e.g. System.out.println()).

The idea is to allow generation and compilation of Java as a new generation target. This would cause error messages in java to be output. Compilation of Java would only occur if there are no errors in compilation of Umple.

Then also, a second new generation target would be generate, compile and run. This would do the following:

  • Compile the umple, and compile the java as above.
  • if no errors in Java compilation are found, then verify the code is 'safe' as above, and execute the first main program found, with a time limit of (for example) 50ms.

This feature has been requested by users to make UmpleOnline more attractive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment