ideas about development and maintenance of C# and Java versions of OpenMI |
OpenMI version 1.4 will contain both C# and Java versions of Standard defined.
Java interfaces will be created using semi-automatic procedure and will represent exact mirror of C# version. Except language differences between two frameworks.
In this way both Java and C# users of OpenMI should be happy because they will use framework classes from the platform of their choice: System.* in .NET Framework or org.* in JDK.
For example:
using System.Collections.Generic; namespace OpenMI.Standard { public interface ILinkableComponent { IList<IExchangeItem> InputItems { get; } IList<IExchangeItem> OutputItems { get; } event LinkableComponentDataChangedEventHandler DataChanged; } } |
May look like this:
package org.openmi.standard; import java.util.List; public interface ILinkableComponent { public abstract List<IExchangeItem> getInputItems(); public abstract List<IExchangeItem> getOutputItems(); public abstract void addDataChangedListener(LinkableComponentDataChangedEvent e); public abstract void removeDataChangedListener(LinkableComponentDataChangedEvent e); } |
After that the following directions have to be investigated in order to re-use components between different platforms:
Please note:
|
Tool |
Description |
Comment |
---|---|---|
Binary Java <-> .NET conversion |
Latest development version is based on OpenJDK, see blog |
|
Binary .NET -> Java convertion |
Does it use ikvm internaly |
|
Converts .class into .java |
Also contains GUI called FrontEnd Plus |