[kepler-dev] starting an Actor IO package

Jianwu Wang jianwu at sdsc.edu
Tue Jul 8 00:19:45 PDT 2008

Hi Tristan,

    Thanks for your great work. I tried to follow your steps, but get 
the following error. I changed the pom.xml according to the mvn 
--version info (deleting other profile and add os name). But still 
failed. Any comments?

D:\Kepler\repository\hydrant>mvn --version
Maven version: 2.0.8
Java version: 1.5.0_15
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

D:\Kepler\repository\hydrant>mvn compile exec:exec -e
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] Building Maven Default Project
[INFO]    task-segment: [compile, exec:exec]
[INFO] Cannot execute mojo: resources. It requires a project with an 
existing po
m.xml, but the build is not using one.
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Cannot execute 
mojo: res
ources. It requires a project with an existing pom.xml, but the build is 
not usi
ng one.
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:282)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)

        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot 
execute mojo:
resources. It requires a project with an existing pom.xml, but the build 
is not
using one.

Best wishes

Sincerely yours

Jianwu Wang
jianwu at sdsc.edu

Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center 
University of California, San Diego
San Diego, U.S.A. 

Tristan King wrote:
> Hi All,
> I've modified how my prototype works and built an example extension 
> that demos how easy it is to build new a new view for actor outputs.
> I now use one generic IOFactory which uses spring to load the output 
> "devices". the spring config to use is passed in as a system property 
> so it can be easily changed.
> I have built console output in as the default for which i've built a 
> text output device and a graph output device, and modified the 
> Display, XYPlotter and TimedPlotter actors to take advantage of these 
> (note that this required breaking a lot of other code that depends on 
> the XYPlotter and TimedPlotter actors).
> Today I built a text output device which opens up a SWT window to 
> display text in. It is in it's own maven project and doesn't require 
> that you have the ptII source on your system as the ptII jar (my 
> actorio version) and all it's dependencies are stored in a maven 
> repository. This small package works on linux and windows, but i'm 
> having trouble with the macosx swt libraries. It's not bug free, but i 
> think it's a good proof-of-concept.
> to play with this:
> * install maven http://maven.apache.org/download.html
> * install git (http://code.google.com/p/msysgit/ works great on windows)
> * clone ptII-swt (git clone 
> git://git.hpc.jcu.edu.au/jc124742/ptII-swt.git 
> <http://git.hpc.jcu.edu.au/jc124742/ptII-swt.git>)
> (the above two steps can be skipped by downloading the latest snapshot 
> from http://www.hpc.jcu.edu.au/git/?p=jc124742/ptII-swt.git;a=summary)
> * compile and run using maven "mvn compile exec:exec" (this will take 
> a while the first time as maven has to download all the dependencies)
> * make/load a workflow that uses the display actor and run it.
> If it has compile errors on the maven step, please run the command
> mvn --version
> and send me the results (if you feel technical, you can find the 
> activation section in the pom.xml file and fix up the os info to match 
> the results from mvn --version)
> And if you feel like playing, you can edit the properties in 
> src/main/resources/au/edu/jcu/eresearch/ptolemy/swt/spring-confix.xml 
> to modify the default width and height of the window (requires mvn 
> compile exec:exec again to apply the changes).
> Comments?
> Cheers
> -Tristan
> On Thu, Jul 3, 2008 at 2:42 PM, Tristan King <tristan.king at jcu.edu.au 
> <mailto:tristan.king at jcu.edu.au>> wrote:
>     I've started doing a bit of work on building an actor IO package
>     (ptolemy.actor.io <http://ptolemy.actor.io>)
>     The purpose of this is to provide user input and output for actors
>     so that the actors themselves don't have to be responsible for how
>     they get user input, or how output is displayed. This will help to
>     build actors that are useable in gui and
>     headless environments without having to have modified actors for
>     each situation.
>     I've built a simple prototype which uses an IO factory which
>     is embedded in the Manager (since all actors can get access to the
>     manager which controls them). When an actor requires an IO
>     "device" it makes a request to the IO factory which returns an
>     instance of the desired "device". For example, the Display actor
>     requests a Text-based output device. This device implements a
>     standard text based output device interface which has a
>     write(String) function, and all the Display actor has to do is
>     "write" the text to the device which handles how to display
>     it. I've used spring to instantiate the correct IOFactory so that
>     in the case of vergil, each manager is loaded with a
>     ptolemy.vergil.io.VergilIOFactory and if vergil is not used the
>     manager defaults to a ptolemy.actor.io.HeadlessIOFactory.
>     My work is currently stored in my ptII git mirror, in a branch
>     which has been converted for maven compilation.
>     If you want to clone the whole repository here are the git
>     commands to clone the repository and to get to the branch (this
>     will take a while):
>     git clone git://git.hpc.jcu.edu.au/jc124742/ptII.git
>     <http://git.hpc.jcu.edu.au/jc124742/ptII.git>
>     git checkout -b actorio origin/actorio
>     or you can download the current snapshot of the branch (which is
>     about 35mb) from:
>     http://www.hpc.jcu.edu.au/git/?p=jc124742/ptII.git;a=shortlog;h=refs/heads/actorio
>     you can then run it by doing:
>     mvn compile # compiles the code, may take a while the first time
>     while maven sorts out it's dependencies
>     mvn exec:exec # starts vergil
>     then fire up any workflow while uses a Display actor. Note that
>     i'm rubbish with swing and some of the window placing/sizing
>     functionality has been removed to facilitate the separation of the
>     actor from the visualisation, so the display window isn't nearly
>     as good as the old one. If you start the workflow using
>     MoMLSimpleApplication (i.e:
>     mvn compile
>     java -cp
>     target/classes:$HOME/.m2/repository/org/springframework/spring-context/2.0.8/spring-context-2.0.8.jar:$HOME/.m2/repository/org/springframework/spring-beans/2.0.8/spring-beans-2.0.8.jar:$HOME/.m2/repository/org/springframework/spring-core/2.0.8/spring-core-2.0.8.jar:$HOME/.m2/repository/log4j/log4j/1.2.15/log4j-1.2.15.jar:$HOME/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar
>     ptolemy.actor.gui.MoMLSimpleApplication ../test.xml
>     ) it will print the output of any Display actors to the console.
>     If other people want to work on this, I will create a new branch
>     for it on the ptolemy II svn (it requires a few changes to the
>     core of ptolemy so i'm not gonna commit it to the trunk) and put
>     it there in makefile building mode.
>     So, is anyone else interested in this? I think it's a key
>     component in making kepler available in multiple environments. But
>     it's a big change, much too big to be left up to one person. I
>     would feel a lot more comfortable with a bunch of people telling
>     me my ideas and designs are rubbish and help me build a good
>     system rather than to build something that no one but me wants to use.
>     Things that need to be done:
>     * My factory idea and prototype architecture needs to be criticised.
>     * Types of "devices" need to be defined (i.e. text output, image
>     output, file output, graph output, etc)
>     * IO Factory and device interfaces need to be defined. 
>     * Existing actors need to be modified to use the factory.
>     * standard factory implementations need to be written (i.e. I'm
>     rubbish at swing and thus someone else should do the vergil factory).
>     Comments? Ideas? Criticisms?
>     Cheers
>     -Tristan
>     -- 
>     Tristan King
>     Research Officer,
>     eResearch Centre
>     James Cook University, Townsville Qld 4811
>     Australia
>     Phone: +61747816902
>     E-mail: tristan.king at jcu.edu.au <mailto:tristan.king at jcu.edu.au>
>     www: http://eresearch.jcu.edu.au 
> -- 
> Tristan King
> Research Officer,
> eResearch Centre
> James Cook University, Townsville Qld 4811
> Australia
> Phone: +61747816902
> E-mail: tristan.king at jcu.edu.au <mailto:tristan.king at jcu.edu.au> www: 
> http://eresearch.jcu.edu.au
> ------------------------------------------------------------------------
> _______________________________________________
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-dev/attachments/20080708/bb7554a0/attachment.html>

More information about the Kepler-dev mailing list