I enjoyed the presentation. It seems like Nablab and Nabla (http://www.nabla-lang.org/)
have some common elements with Triquetrum:
* Triquetrum (https://wiki.eclipse.org/Triquetrum) uses Ptolemy
II (http://ptolemy.org) as its execution engine for Synchronous
Data Flow (SDF) graphs. The Kahn Process Network (PN) model of
computation is also included. One of the key elements of Ptolemy
II is that data flow graphs are mutable at runtime. Ptolemy II
also includes support for finite state machines and modal models.
A modal model is a model (a graph) that is a state machine where
the states may themselves contain SDF, PN or other models. I'm
not sure if Triquetrum includes the modal model work, but modal
models are very powerful.
Ptolemy II is also the core of the Kepler Scientific Workflow
System, see https://kepler-project.org/
I'm not sure how Nablab could use Ptolemy II's data flow
representation, but it is worth knowing that it is out there. We
have a free PDF book at
https://ptolemy.eecs.berkeley.edu/books/Systems/ about the Ptolemy
II system and the models of computation.
* Triquetrum has a block diagram editor, see the attached image.
The block diagram editor is a work in progress, it is not yet
ready for production use. It might be worth collaborating on a
block diagram editor, or doing a review of what other Eclipse
projects are using block diagrams.
* Ptolemy II may optionally use the Kieler layout engine.
Triquetrum is not yet using Kieler, but there is the Eclipse
Layout Kernel
(https://projects.eclipse.org/proposals/elk-eclipse-layout-kernel)
that could be of use for Nablab.
About licensing, there are many small details. Nabla is
licensed under CeCILL (http://www.cecill.info/index.en.html),
which seems to be similar to GPLv2.
A good summary is would be incomplete, but the key elements are
that software that is committed to an Eclipse repository would
need to be licensed under the Eclipse Public License v2 and would
need to be committed by someone who has signed a committer
agreement. Software that was previously written under a different
license would need to go under an IP vetting process. As Jay
said, it is possible to call GPLv2 and GPLv3 code via interprocess
communication. However, code that is called via a Java or C api
almost certainly should not be GPLv2 or GPLv3. There are a lot of
details, and my summary is lacking and likely slightly incorrect.
I'm not the right person to explain the details of the licensing,
I suggest reviewing the doc below and asking questions of the
Eclipse staff.
https://www.eclipse.org/org/documents/epl-2.0/faq.php
https://www.eclipse.org/projects/dev_process/development_process.php
One word of warning is that I was not able to get the University
of California (UC) to agree to the Eclipse Public License because
of patent concerns. I disagree with UC's view in this area, so I
am contributing as an individual committer. Getting LLNL, CEA or
Inria to agree to the Eclipse Public License v2 might be
difficult, so Nablab committers might come in as individual
committers. This is not that difficult, but it does require a
signed document from the individual committer's employer.
_Christopher
On 12/14/17 6:27 AM, Tracy Miranda
wrote:
All,
It was a pleasure to have CEA present and show us Nablab
Environment at yesterday's meeting.
Attached are the slides for reference/those who missed it.
Regards,
Tracy
_______________________________________________
science-iwg mailing list
science-iwg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/science-iwg
--
Christopher Brooks, PMP
Academic Program Manager
iCyPhy/Ptolemy/TerraSwarm
University of California, Berkeley
707.332.0670, cxh@xxxxxxxxxxxx, https://ptolemy.eecs.berkeley.edu/~cxh