bugGNU Octave - Bugs: bug #51824, octave integration into java

 
 

bug #51824: octave integration into java

Submitter:  Ernst Reissner <ernstreissner>
Submitted:  Tue 22 Aug 2017 11:10:55 PM UTC
   
 
Category:  Documentation Severity:  2 - Minor
Priority:  5 - Normal Item Group:  Documentation
Status:  Invalid / Not an Octave Bug Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 22 Feb 2019 01:34:06 AM UTC, comment #7: 

I think this topic is way too big for a simple bug report. This is a project that someone can work on if they are interested in, to integrate the Octave runtime into a Java interface. Octave will continue to support loading a JVM and working with Java data from within Octave, but the inverse is a completely different project. Closing as out of scope for the bug tracker.

Mike Miller <mtmiller>
Group Member
Thu 19 Jul 2018 09:07:38 AM UTC, comment #6: 

FWIW, this is a pretty big project. It sounds like you're asking for functionality similar to the Matlab Compiler SDK's Java support (formerly known as Matlab Builder JA). This basically means taking the embeddable version of Octave, wrapping it in a Java class library, and providing a tool to generate Java class wrappers for user-supplied M-code entry points. That would require formalizing the parts of octave.jar that allow dispatching M-code calls from Java code.

I'm not saying it's not worth doing; just noting that it would take a lot of work.

> Note that matlab is integrated in java as it is written in java.


Only the GUI parts of Matlab and some support libraries are written in Java. The core of Matlab is a C/C++/Fortran application, like Octave is. The Matlab Compiler SDK's Java support is a separate wrapper layer on top of the "native" Matlab application/library. There's synergy in the GUI bits, but that's it.

Andrew Janke <apjanke>
Fri 20 Oct 2017 07:51:12 AM UTC, comment #5: 

Further information: Found the developer of javaoctave.
Maybe he answers.
I try to maintain the software which seemed to be lost.

Ernst Reissner <ernstreissner>
Thu 19 Oct 2017 11:56:35 PM UTC, comment #4: 

Information:

The main provider for integration of octave within java
was javaOctave (https://kenai.com/projects/javaoctave/pages/Home),
whereas some alternative is joPas (http://jopas.sourceforge.
net/) which is comparatively poor.

The problem is, that http://kenai.com/ closed.
Thus I fetched my own site to host this project.
This is necessary because javaoctave was written in java
and java for class naming requires ownership of a website
to obtain a unique namespace for its classes.

For example, octave has site www.octave.org
and so it owns all java classes named org.octave.xxx.

My new site is www.simuline.eu,
which gives me the right to write public java classes
named eu.simuline.xxx.
This prevents name clash.


 

Ernst Reissner <ernstreissner>
Wed 23 Aug 2017 08:37:45 AM UTC, comment #3: 

@mike: did you have a look at jopas?
It is very small.
Michael Gofiouls code is even smaller.
So I think we could and should integrate something like that into octave for matlab compatibility.

Ernst Reissner <ernstreissner>
Wed 23 Aug 2017 08:21:51 AM UTC, comment #2: 

Mike, you misunderstood me.
This 3rd party tool is no longer supported.
But we need some integration of java into octave and vice versa.
I do not want to support a foreign tool,
but I want octave to be integrated in java.

Note that matlab is integrated in java as it is written in java.
So, that feature is for matlab compatibility.

As you added the package integrating java into octave,
why not adding the converse integration?
Why didn't you vote against integrating java into octave at all?
If you have a look at the original integration
by Michael Goffioul, there was and still is some code for integration of octave into java.

Ernst Reissner <ernstreissner>
Wed 23 Aug 2017 06:45:58 AM UTC, comment #1: 

I doubt we want to take on maintenance of a third-party tool to load Octave as a Java extension.

But I do support pruning these third-party tools from the manual if they don't work or aren't being maintained anymore.

Mike Miller <mtmiller>
Group Member
Tue 22 Aug 2017 11:10:55 PM UTC, original submission:  

According to the manual Section A.4,
there are two links to two external sources
providing the integration.
whereas jopas is highly incomplete, kenai has disappeared altoghether and the link is broken.

Fortunately, i have the kenai sources on my computer.
To fix the issue stably, it makes sense to include this software (kenai) into octave
in a jar-file as octave.jar which performs the converse integration
java into octave.

One may even provide a single jar with both functions.


Ernst Reissner <ernstreissner>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by apjanke (Posted a comment)
  • -email is unavailable- added by ernstreissner (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 8 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-22 mtmiller Carbon-CopyRemoved 80942 -
    2019-02-22 mtmiller StatusNeed Info Invalid / Not an Octave Bug
        Open/ClosedOpen Closed
    2017-10-19 ernstreissner Carbon-CopyRemoved -email is unavailable- -
    2017-08-23 mtmiller Severity3 - Normal 2 - Minor
        StatusNone Need Info
    2017-08-23 mtmiller Dependencies- bugs #51823 is dependent
    2017-08-22 ernstreissner Carbon-Copy- Added -email is unavailable-

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code