ptolemy text attribute question
Hi, I've been trying to figure out how to define an Attribute that allows the use of CDATA within the body of the property element. For instance: property name=documentation class=org.kepler.moml.DocumentationAttribute This is some docs... /property I don't see any current Attributes that will do this and upon looking at the MoMLParser code, it doesn't look like they can do this because the _handlePropertyElement() method is called before the charData() method gets called to handle the character data inside the element. This seems to limit the xml author to only including text inside the value attribute of the element. This would normally be fine, but I would like to include a lot of text. Maybe hundreds of lines. Putting the text into the value attribute doesn't lend itself to this very well. So, my question is, am I missing something and if not, would anyone object to me modifying the MoMLParser to be able to accept CDATA in leiu of the value attribute in a property element? thanks, chad Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [kepler-dev] ptolemy text attribute question
There is ConfigurableAttribute. The plotter uses this for example to include foreign XML as a parameter value for the actor. To see it, put a SequentialPlotter actor in a model, change its formatting (by clicking on the format button in the plot), and look at the resulting XML. The fact that the plotter's CDATA is XML is irrelevant... It could be arbitrary text (almost). Edward At 01:18 PM 8/22/2005 -0700, Chad Berkley wrote: Hi, I've been trying to figure out how to define an Attribute that allows the use of CDATA within the body of the property element. For instance: property name=documentation class=org.kepler.moml.DocumentationAttribute This is some docs... /property I don't see any current Attributes that will do this and upon looking at the MoMLParser code, it doesn't look like they can do this because the _handlePropertyElement() method is called before the charData() method gets called to handle the character data inside the element. This seems to limit the xml author to only including text inside the value attribute of the element. This would normally be fine, but I would like to include a lot of text. Maybe hundreds of lines. Putting the text into the value attribute doesn't lend itself to this very well. So, my question is, am I missing something and if not, would anyone object to me modifying the MoMLParser to be able to accept CDATA in leiu of the value attribute in a property element? thanks, chad ___ Kepler-dev mailing list [EMAIL PROTECTED] http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/kepler-dev Edward A. Lee Professor, Chair of the EE Division, Associate Chair of EECS 231 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: Transparent CompositeActor firings?
At 02:25 PM 6/16/2004, Christopher Hylands Brooks wrote: The following appeared in comp.soft-sys.ptolemy. If you respond, please cc [EMAIL PROTECTED] -Christopher --- Forwarded Message From: Mark Hodson [EMAIL PROTECTED] Subject: Transparent CompositeActor firings? Date: Tue, 15 Jun 2004 00:05:18 +0930 G'day Ptolemy seers, Despite having read the Ptolemy documentation more than once, I am having trouble coming to grips with one particular aspect of Ptolemy's execution model (I am mostly interested in the DE domain); I wish to hierarchically compose a system, lets say for simplicity entirely in the DE domain. I thus wish a DE director to exist at the top level, and every other part of the hierarchy below this to be transparent, thus allowing that one director to resolve a correct ordering for each iteration of the world. The benefit of transparency here is of course that you get significant interleaving of firings of the deepest (leaf) children as necessary. eg. The world has two transponders, A and B. Each transponder has an Rx and a Tx. The correct firing order is A.Tx with B.Tx before A.Rx and B.Rx. You needed A and B to be transparent to get this behaviour. Given that in this scenario, A.Rx/A.Tx/B.Rx/B.Tx are the 4 AtomicActors, and A and B are CompositeActors, my question is; do A and B get fired in any way? If not, why not, and if so, in accordance with what rules (wrt the firing of their children, at least). Only opaque actors are fired. This includes all atomic actors and composite actors with a director. So, no, A and B will not get fired. Of course if A and B have nothing to do, then there is no drama, but if A and B carry some of the mathematics/behaviour of the model, then they will require some sort of firing opportunity. Then they should be opaque... Note that in DE, a composite actor is perfectly able to fire if only some of its inputs have events. It will fire the correct contained actors that receive those events and then return. A case in point is the wiring of CompositeActor A's children, which notionally I consider it responsible for. There are many cases in scientific computing when the first iteration of bringing the models up to time zero has a different wiring to subsequent iterations. I would wish A to perform this rewiring duty at the conclusion of that first iteration. Other similar behaviours might include timed or triggered introduction of additional children (perhaps A holds an input port that is not connected to any child components, but rather is used as a trigger to mutate the topology of A). Can you give me some conceptual guidance on how you see this sort of problem is best solved, in general terms and in the bounds of Ptolemy II? Yes, these are certainly interesting questions... We have recently begun experimenting with some of these issues and some tentative first steps are in the new 4.0 release. We have variously been calling them lifecycle actors or higher-order actors depending on the particular case. Higher-order components tend to populate themselves during initialization, while lifecycle actors tend to make more dynamic modifications during runtime. I would take a look at these to see if you get some ideas... Some of the key difficulties are ensuring that the model is in a consistent state when making modifications and ensuring that static analysis, which is sometimes necessary to ensure semantics of a model, is performed again. I would note that there is a distinct tradeoff between complex, unchanging architectures and simpler, changing architectures... It may be easier to do a little bit more upfront work by explicilty representing the different control flows in the model. Steve Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: introduction distributed ptolemy
There was a mail configuration problem with the ptolemy-hackers list, so I'm forwarding a couple of bounced messages. Rather than trying to merge them, I'm sending them in the order they were originally sent. -Christopher From: Ferdinando Villa [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: Bertram Ludaescher [EMAIL PROTECTED] Cc: Edward A Lee [EMAIL PROTECTED], Tobin Fricke [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], yang [EMAIL PROTECTED], [EMAIL PROTECTED] In-Reply-To: [EMAIL PROTECTED] References: [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Content-Type: text/plain Organization: University of Vermont Message-Id: [EMAIL PROTECTED] Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Mon, 14 Jun 2004 11:25:19 -0400 Content-Transfer-Encoding: 7bit On Mon, 2004-06-14 at 11:01, Bertram Ludaescher wrote: Ideally the ports of an actor should (or at least could) have multiple types: - the data type (including say XML Schema type), - the semantic type (e.g. a concept expression describing more formally what else might be known about the data flowing through the port) [[aside for Ferdinando: our reductionist/separatist approach does not preclude forever an integrated modeling solution - it's just bottom up to get sth useful soon/in finite time ;-]] Hi Bertram! one point - if you read reductionistic (which I probably wrote somewhere) as reductive you're misinterpreting me - we ecologists mostly see reduct. vs. holistic as complementary (with hierarchical thinking as a possible integrating framework) so when we say reductionistic, we mean exactly what you also mean... one GOOD way to look at the problem, usually the most practical, easier to study, while often the least conducive to synthetic understanding... but NOT separatist Philosophy aside, here's a more SEEK-specific provocation: don't you think that the conceptual/holistic/top-down approach is the one that needs the semantic types, while the workflow/reductionist/ptolemy approach would be just fine with just the storage/machine types of whatever virtual machine AMS will be? Also: where do the transformations belong (scaling, units)? I'd argue they belong mechanically to the reductionistic side - just like all other actors, created to calculate a concept - and if the user don't need to see them, it's not because we hide them up in the conceptual description, but because they're actors in the workflow, and the conceptual description that users work with is not the workflow. Maybe we're mixing the sides up somewhat, and if so, is this ok... or is it going to postpone the beautiful moment of clarity when we all realize that we've all been thinking the same thing all along? Cheers, ferdinand - the event consumption/production type (useful for scheduling a la SDF) - the communication type (through the Ptolemy/Kepler client, directly via say FTP or HTTP) etc At some levels of modeling ones does explicitely hide such detail from the modeler/user but at other levels this might be a good way of overcoming some scalability issues (if you have terabyte data streams you want them to go directly where they need to) A related problem of web servies (as actors) is that they send results back to the caller (Kepler) and don't forward them to the subsequent actor making large data transfers virtually impossible.. A simple extension to the web service model (anyone knows whether that's already done???) would allow for data to include *references* so that a process would be able return to Kepler just a reference to the result data and that reference would be passed on to the consuming actor who then understands how to derefernce it. This simple extension seems to be an easy solution to what we called before the 3rd party transfer problem: --[Actor A] --- [ Actor B] -- ... To stream large data set D from A to B w/o going through Ptolemy/Kepler one can simply send instead a handle D and then B, upon receiving D, understands and dereferenes it by calling the appropriate protocol (FTP/gridFTP, HTTP, SRB,...) Note that there are already explicit Kepler actors (SRBread/SRBwrite, gridFTP) for large data transfer. More elegant would it be to just send handles in the form, e.g., dereference(http://...ref-to-D..) Note that the special tag 'derefence' is needed since not every URL should be dereferenced (a URL can be perfectly valid data all by itself) It would be good if we could (a) define our extensions in line with web services extensions that deal with dereferencing message parts (if such exists) and (b) can work on a joint Kepler/Ptolemy/Roadnet/SEEK/SDM etc approach (in fact, Kepler is such a joint forum for co-designing this together..) Bertram PS Tobin: I recently met Kent and heard good news about ORB access in Kepler
Support for resource allocation in Ptolemy?
Hi, hackers. We are using Ptolemy to do sytem-integration level simulation and testing for "smart" vehicles. Our main areas of interest are monitoring bandwidth of network connections and CPU utilization (although we are also modeling a number of other things). Is there a built-in actor that checks for resource (over-) allocation? I have thought about just using a summation of bandwidth, where the components in the system output an amount of bandwidth required at a given time and then a network simulation component sums these requirements and makes sure that the sum doesn't exceed the available. Is there a better way? Thanks for any advice you can give. -Steve -- Steve Rowe Research Engineer Cybernet (734) 668-2567 x 132
Re: [Ptolemy] [Info] needed regarding execution under SDF model
Stephen Andrew Neuendorffer wrote: I'm a bit at a loss as to why it must execute N1 times? In seems to me like the N1 firings of HT1 and the N2 firings of HT2 could be hidden inside the actor, but without more information about where the desired number of firings is coming from, I couldn't hazard a guess as to the right way to represent it. The N1 firings of HT1 and the N2 firings of HT2 could be hidden inside I do agree with you, but I don't know how to proceed... In fact in our model, there are two levels : The first is the one I described in my last mail. Each HT (Hierarchical Task), contains the second level : When I take an input token, I cut it in N parts, I do a computation on each part. At the end I take the N results of the computation and I produce the result token. So I use N firings to do the N computations. I don't have the choice because I need to increment a counter in the firing method of the director. The director is an SDF director. I try to use the iterate method but i don't know how to use it properly. I can't use the preinitialize or initialize method because all the methods preinitialize or initialize of all the HT must be executed before a fire. I would like to call it between initialize and prefire. I think it's the best solution. But I do not know if it is possible ? Philippe Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] [Info] needed regarding execution under SDF model
At 05:53 AM 6/3/2004, Philippe.Dumont wrote: Stephen Andrew Neuendorffer wrote: I'm a bit at a loss as to why it must execute N1 times? In seems to me like the N1 firings of HT1 and the N2 firings of HT2 could be hidden inside the actor, but without more information about where the desired number of firings is coming from, I couldn't hazard a guess as to the right way to represent it. The N1 firings of HT1 and the N2 firings of HT2 could be hidden inside I do agree with you, but I don't know how to proceed... In fact in our model, there are two levels : The first is the one I described in my last mail. Each HT (Hierarchical Task), contains the second level : When I take an input token, I cut it in N parts, I do a computation on each part. At the end I take the N results of the computation and I produce the result token. So I use N firings to do the N computations. I don't have the choice because I need to increment a counter in the firing method of the director. OK, so I see two ways to approach this: 1) represent the extraction and composition of the N parts explicitly. 2) have it happen implicitly. I'm not sure what you are interested in: 1) is pretty straightforward (use an ArrayToSequence to extract the N tokens, send them through an actor, and then use a Downsampler to discard all but the last output) 2) I could picture doing a couple of ways, depending on how you are representing the primitive operation and what is important about it. The Director.transferInputs and transferOutputs methods could be overridden to do what you want to do. The primary downside to this is that you end up with an extra layer of hieararchy. The IterateOverArray actor (actor.lib.hoc) implements one way of hiding the extra hierarchy in the user interface. It overrides the director to behave as a ArrayToSequence, followed by an actor, followed by SequenceToArray It sounds like you want something similar, but with a DownSampler instead of a SequenceToArray. The director is an SDF director. I try to use the iterate method but i don't know how to use it properly. I can't use the preinitialize or initialize method because all the methods preinitialize or initialize of all the HT must be executed before a fire. I would like to call it between initialize and prefire. I think it's the best solution. But I do not know if it is possible ? I don't understand what you are trying to do here... Steve Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy applets problems
Efrat Jaeger [EMAIL PROTECTED] writes: - I created the following applet, http://users.sdsc.edu/~efrat/workflows/queryPGAP.htm, very similar to the demo applets. Apparently it loads on some computers but on others I get a java.lang.NoClassDefFoundError: ptolemy/actor/gui/MoMLApplet error. On the same computers the existing demo applets load perfectly. I wasn't able to figure out what causes the exception. Does anyone have any suggestions? - Applets are notoriously tricky to get right. I looked over the source code and did not see anything obvious. There is some documentation at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/coding/applets.htm and there is a custom applet chapter in Volume 2 of the Ptolemy II design doc: http://ptolemy.eecs.berkeley.edu/papers/03/ptIIDesignSoftware The applet code you are using is the complex applet code that will work under Netscape 4.x. If you do not require support of Netscape 4.x, then you could use the much simpler applet .. /applet code. In fact, for debugging, I would use the simple applet code so that you are testing the same html code on the different platforms. Another trick is to look at the website logs and see what files are being downloaded. With Java 1.4.2, I noticed that if a class was loaded from a jar file, then it seemed like the applet class loader would not find individual .class files on the file system. The solution was to make sure and have the archive= tag include jar files that included all the .class files. I'm not sure about the details of this new behaviour, I poked around on the Sun website but did not see anything. When I tried to run your applet, I had to install Java 1.4.1_02, the applet would not run with Java 1.5.0-beta under Mozilla. Applets can have dynamic versioning or static versioning. Dynamic versioning permits a JRE greater or equal to a a certain version to be used. Static versioning requires that a certain version of JRE be used. The details are covered in: http://java.sun.com/products/plugin/versions.html From the title tag, it looks like your applet is based on one of the Ptolemy Eye applets. It looks like your applet and the Ptolemy II 3.0 SDF Eye applet are using dynamic versioning under IE, but static versioning under Mozilla? This would be a bug. The IE section says: classid=clsid:8AD9C840-044E-11D1-B3E9-00805F499D93 which http://java.sun.com/products/plugin/versions.html indicates is for dynamic versioning. The Netscape section says: application/x-java-applet;jpi-version=1.4.1_02 http://java.sun.com/products/plugin/versions.html indicates is for static versioning. The applet code shipped in Ptolemy II 3.0 in theory uses static version to restrict the version of the JVM can be used to 1.4.1_02. This was done because of a bug in 1.4.1 and 1.4.1_01 that machines that use a particular video chip set to hang. Since Professor Lee and I were affected by this bug, we restricted the JVM choice to 1.4.1_02. I tried to make the applet use dynamic versioning for Netscape so we would accept 1.4.1_02 or greater, but could not get this to work, it appeared to be a problem with the patch level. If possible, it is better to use dynamic versioning. The Ptolemy II 4.0 applets use dynamic versioning correctly to require Java 1.4.2 or later. In principle, Java 1.5.0-beta should work with these applets. In general, applets have restrictions: 1) Don't use the readFile() expression function in a model that is within an applet. This is because of restrictions in the applet class loader. 2) If possible, use the simple applet .../applet code and avoid the really complex javascript code. If you really think you need to support Netscape 4.x, consider looking at the web server logs for the number of Netscape 4.x users and evaluate the cost of supporting applets for those users. Note that Ptolemy II 4.0 supports Netscape 4.x. Perhaps the next release of Ptolemy II applets will not support Netscape 4.x? 3) The MoMLViewerApplet class does not permit look inside. It would be cool if we could use the Single Window interface created by Thales within an applet. To run the single window interface in Ptolemy II 4.0, do $PTII/bin/vergil -single The idea would be to create an applet that would use this interface 4) The code generator will generate applets for a model. See $PTII/doc/codegen.htm for somewhat out of date documentation. There will be a chapter in the design doc about how to use the applet generator. 5) For vergil applets, it might be better to create Web Start versions. I noticed that the Java Event Listener Tutorial is now using Web Start, see http://java.sun.com/docs/books/tutorial/uiswing/events/example-1dot4/ I started hacking up the applet code generator to generate both applets and Web Start configurations, but I never really finished that work BTW - If you use the controls parameter in your applet, then users can run the applet. To do
Ptolemy applets problems
Hi, I created the following applet, http://users.sdsc.edu/~efrat/workflows/queryPGAP.htm,verysimilar to the demo applets. Apparently it loads on some computers but on others I get a "java.lang.NoClassDefFoundError: ptolemy/actor/gui/MoMLApplet" error. On the same computers the existing demo applets load perfectly. I wasn't able to figure out what causes the exception. Does anyone have any suggestions? Thanks, Efrat
Ptolemy II 4.0-beta is available for download
Ptolemy II 4.0-beta is available for download. Changed between 4.0-alpha and 4.0-beta: Feature enhancements * IterateOverArray usability features: Look inside now skips a level to show the model that actually gets iterated rather than the intermediate level. Also, IterateComposite can be dropped on IterateOverArray, and changes to its ports either inside or outside will be reflected in the IterateOverArray actor. * Gave a more reasonable title to window used to edit custom icons. Bug Fixes * Fixed bug that didn't allow changing the name of graphical attributes when there were subclasses. * Fixed potential deadlock in simultaneous accesses to a CrossReferenceList. * If change requests are queued in a top-level entity and then its container is set, the change requests were never executed. Now, they are transferred to the new container. * If a change request is made during cloning of an object, then the change request was executed immediately even if deferChangeRequests(true) has been called on object being cloned. This is because during cloning, the cloned object has no container. Now, the clone() method of NamedObj ensures that every cloned object has deferChangeRequests(true) set before it starts to get populated with its contents. This means that callers to clone() need to set it back to false if this is what they want. * Improved performance of models that animate execution by changing parameters of icons (removed spurious acquisition of write permission on the Workspace). * StyleConfigurer was directly making kernel calls rather than issuing change requests to apply changes. This could result in exceptions if a style is changed while a model is running, and it also means that changes to a style are not propagated to subclasses and instances. * Fixed bug where deleting class definitions and subclasses or instances would throw a spurious exception because it would try to delete the subclasses or instances twice. * Fixed bug where editing the custom icon of a class definition did not propagate to instances and subclasses until the model was closed and reopened. * Fixed bug where dropping an actor into a model, followed by undo left the icon in the model (but without any associated actor) until the model was closed and re-opened. * Removed a leak in diva.graph.AbstractGraphController where figures that are no longer being used by the model were still stored in a private hash table. * Fixed a bug with TerrainModel in the wireless domain where the geometry that was used for determining terrain obstacles didn't match the geometry displayed in the icon. * StyleConfigurer was directly making kernel calls rather than issuing change requests to apply changes. This could result in exceptions if a style is changed while a model is running, and it also means that changes to a style are not propagated to subclasses and instances. * Many uses of the _hideName attribute were Parameter or Attribute rather than SingletonAttribute. Changed to consistently be SingletonAttribute. * Configure now handles causes where the Java Advanced Imaging (JAI) interface is in a location outside of the JRE * Configure now sets up $PTII/.classpath properly for use by Eclipse * Broken HTML links have been fixed. Below is an update of the announcement I sent out with Ptolemy II 4.0-alpha. ---start-- VisualSense-4.0-beta is also available as part of the download. VisualSense is a visual editor and simulator for wireless sensor network systems. Modeling of wireless sensor networks requires sophisticated modeling of communication channels, sensor channels, ad-hoc networking protocols, localization strategies, media access control protocols, energy consumption in sensor nodes, etc. VisualSense is designed to support a component-based construction of such models. VisualSense is intended to enable the research community to share models of disjoint aspects of the sensor nets problem and to build models that include sophisticated elements from several aspects. The VisualSense documentation can be found at http://ptolemy.eecs.berkeley.edu/papers/04/VisualSenseERLMemo0408/VisualSenseERLMemo0408.pdf Eventually, we will have a separate VisualSense only Windows installer. In this release, under Windows, to install VisualSense, install the full version of Ptolemy II and select Vergil - VisualSense from the Start menu. If you rebuild from source, then to start up VisualSense, run vergil -visualsense New Features Major Features that are new in Ptolemy II 4.0 * Modeling wireless sensor networks (VisualSense) The wireless domain extends the DE domain with wireless channel modeling and library of components and methodologies for modeling wireless systems. This domain is packaged in a Ptolemy II configuration called VisualSense, which includes an extensive suite of demos
A customized ptolemy for bioinformatic
Hi all, perhaps someone could give me some advice or remarks on the application based on Ptolemy and Vergil I need to develop. 1 - This application will execute bioinformatics workflows designed from a graphical interface (a customized vergil). For a main part the actors are external applications a user can easily add to his workspace without programming (I need to develop an actor which acts as a wrapper). 2 - The workflow must be able to run these applications concurrently : I think of using a customized PN director which executes the workflow only one time. 3 - I need to be able to run several instances of one model. For example after creating a model which analyze DNA sequences, I launch several instances concurrently with different parameters and then compare the results between the instances. 4 - As the external applications can be very long (several days), I would like to be able to a design the workflow, launch ptolemy in background (without graphical interface) and retrieve at any moment the current state from a graphical interface used as a viewer. I have already made a little prototype which launches external applications and displays the state of each. I've tried with a PN director to try the concurrent executions but it seems to do an infinite loop (I'm currently reading the doc and I think my comprehension of behaviours is not perfect yet !) I think the point 4 is the most délicate but I'm rather confident as ptolemy and vergil communicates using event messages. It seems I don't need to break all the architecture ! Do you think my features are reasonable ? ;) Sorry if some answers are in the doc, I'm currently reading it too ! Franck Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: I am using ptolemy II to develop an optical network simulator.
In comp.soft-sys.ptolemy, [EMAIL PROTECTED] (Kaizen) writes: This is for an academic project so the complexity of the simulator will not reach that of something commercial like Optiwave or VPI. VPI and Ptolemy Classic have a connection, http://ptolemy.eecs.berkeley.edu/conferences/99/opticalsystems.pdf Says VPI products comprise: *Photonic Transmission Design Suite (PTDS) based on Ptolemy 0.7 . . . The components that I am simulating include the transmitter, the fiber and the receiver. In the transmitter which I am working on now, there is a PRBS that goes thru a NRZ and that signal is modulated with that of a DFB laser. I don't know much about optical systems, so the above are just TLAs to me :-) What kind of domain should I be simulating this in, Hard to say. Usually network simulators use a timed domain, such as DE. However, it can be tricky to create large efficient DE models - it is hard to get the level of abstraction right. Someone else might have a suggestion I am currently doing it in SDF, but so far the entire simulation just slows down a lot when I leave it running for a while. 1. Make sure you are not using the Display actor, it eats up memory. 2. Try monitoring your memory usage. Is the java process consuming lots of memory? 3. There are some notes at $PTII/doc/coding/performance.htm, which is at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII4.0/ptII4.0-beta/doc/coding/performance.htm ( I see that the file has a .html bug which I will fix shortly) 4. Using a commercial tool like JProbe can help. They have a free trial. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Compiling Ptolemy with Eclipse
Thanks for your help, I also tried the method described but I can not get the project compiled, here is what I tried : tar xfz ptII3.0.2.src.tar.gz mv ptII3.0.2 ptII export PTII=/home/franck/bin/my_PTII/ptII cd $PTII ./configure cd ~/bin/my_PTII eclipse File-New Project Project Name : ptII Directory: /home/franck/bin/my_PTII Finish -- An error occured while creating the java project Reason : invalid project description /home/franck/bin/my_PTII and /home/franck/bin/my_PTII/workspace overlap If I change the directory with : /home/franck/bin/my_PTII/ptII -- An error occurred while creating the java project See error log for more details. (java.lang.NullPointerException in the .log of Eclipse !) I tried other thinks but I can only compile and run (make fast install) without Eclipse ! Franck On Mon, 2004-05-03 at 17:14, Christopher Hylands Brooks wrote: With Eclipse, usually it is necessary to run configure so that the .classpath file is properly set up. An alternative is to set up the project class path by hand. Locally, our Eclipse users run configure, so the by hand section of the doc could probably use some testing and updating. One issue is that Ptolemy II includes many packages that use other external packages that might not be present, so setting the classpath and excluding packages by hand can be time consuming. -Christopher Good morning, I'm a software designer in the Pasteur Institute (Paris) and I'm involved with a workflow definition and conception for sequence analysis (mainly). Ptolemy II seems to correspond to the core functionalities I need and seems to be easy to customize (thanks to have made docs and UML diagrams !) Unfortunatly I'm trying to make an eclipse project following the instructions described but without success. I'm now trying to install Ptolemy by hand following the chapter Setting up for Ptolemy II By Hand described in doc/coding/eclipse.htm and I have these errors : 1 - The project was not built since its classpath is incomplete. Cannot find the class file for ptolemy.math.Complex. Fix the classpath then try rebuilding this project. 2 - For the file /ptolemy/matlab/test/TestEngine.java : This compilation unit indirectly references the missing type ptolemy.math.Complex (typically some required class file is referencing a type outside the classpath) (Weird because I can see ptolemy.math in Eclipse) Can you say me if there is a mistake in the procedure described or I made something wrong. Thanks a lot ! Regards Franck Valentin --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Compiling Ptolemy with Eclipse
Hmm, this sounds like an Eclipse bug tickled by Ptolemy adjusting setting up the ptII/.classpath file. I've seen stack traces inside eclipse 2.1.2. Rather than reinstalling, what I usually what I ended up doing was removing my eclipse/workspace directory and trying various things. You could try removing ptII/.classpath and seeing if the setup completes. That worked for me. I was able to build after hacking adding the following to .classpath.in: classpathentry excluding=cm/ kind=src path=ptolemy/copernicus/c/test/ and I had to add ptolemy/copernicus/c/test/cm/| to the list of excluded files. At one point, the Java build path window came up and I had to remove jmf.jar and sound.jar I later removed the jxta jar files because they had this bogus ${PTII} inside of them. I'll fix configure momentarily. This bug occurred because our devel tree contains the jxta jar files, but we don't ship these jar files. To remove the jxta jar files, right click on the ptII project, select Properties - Java Build Path - Libraries You may later want to exclude ptolemy/moml/jxta from the build. Below is a copy of the .classpath.in that worked for me: --start-- ?xml version=1.0 encoding=UTF-8? classpath classpathentry excluding=cm/ kind=src path=ptolemy/copernicus/c/test/ classpathentry excluding=**/CVS/|**/codeDoc/|config/|doc/coding/templates/|ptolemy/apps/agilent/|ptolemy/apps/anytimecontrol/|ptolemy/apps/charon/|ptolemy/apps/crazyboard/|ptolemy/apps/etherealSting/|ptolemy/apps/fullscreen/|ptolemy/apps/giotto/|ptolemy/apps/ia/|ptolemy/apps/kurt/|ptolemy/apps/jmf/|ptolemy/apps/kvm/|ptolemy/apps/lego/|ptolemy/apps/lejos/|ptolemy/apps/midp/|ptolemy/apps/mobileCoding/|ptolemy/apps/pendulum/|ptolemy/apps/rijndael/|ptolemy/apps/robot/|ptolemy/apps/security/|ptolemy/apps/sobel/|ptolemy/apps/softwalls/|ptolemy/apps/soot/|ptolemy/apps/throttle/|ptolemy/apps/tini/|ptolemy/apps/transmission/|ptolemy/apps/vergil/|ptolemy/apps/waba/|ptolemy/apps/webstart/|ptolemy/apps/xsl/|ptolemy/copernicus/c/test/|ptolemy/copernicus/c/test/cm/|ptolemy/domains/ct/demo/Saber/|ptolemy/domains/gr/lib/experimental/|ptolemy/domains/pdf/|ptolemy/plot/servlet/|vendors/@ECLIPSE_EXCLUDING_SRC@ kind=src path=/ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ @ECLIPSE_CLASSPATHENTRY_LIBS@ classpathentry kind=output path=/ /classpath --end-- I'll add a note to the website about this -Christopher Thanks for your help, I also tried the method described but I can not get the project compiled, here is what I tried : tar xfz ptII3.0.2.src.tar.gz mv ptII3.0.2 ptII export PTII=/home/franck/bin/my_PTII/ptII cd $PTII ./configure cd ~/bin/my_PTII eclipse File-New Project Project Name : ptII Directory: /home/franck/bin/my_PTII Finish -- An error occured while creating the java project Reason : invalid project description /home/franck/bin/my_PTII and /home/franck/bin/my_PTII/workspace overlap If I change the directory with : /home/franck/bin/my_PTII/ptII -- An error occurred while creating the java project See error log for more details. (java.lang.NullPointerException in the .log of Eclipse !) I tried other thinks but I can only compile and run (make fast install) without Eclipse ! Franck On Mon, 2004-05-03 at 17:14, Christopher Hylands Brooks wrote: With Eclipse, usually it is necessary to run configure so that the .classpath file is properly set up. An alternative is to set up the project class path by hand. Locally, our Eclipse users run configure, so the by hand section of the doc could probably use some testing and updating. One issue is that Ptolemy II includes many packages that use other external packages that might not be present, so setting the classpath and excluding packages by hand can be time consuming. -Christopher Good morning, I'm a software designer in the Pasteur Institute (Paris) and I'm involved with a workflow definition and conception for sequence analy sis (mainly). Ptolemy II seems to correspond to the core functionalities I need and seems to be easy to customize (thanks to have made docs and UML diagrams !) Unfortunatly I'm trying to make an eclipse project following the instructions described but without success. I'm now trying to install Ptolemy by hand following the chapter Setting up for Ptolemy II By Hand described in doc/coding/eclipse.h tm and I have these errors : 1 - The project was not built since its classpath is incomplete. Cann ot find the class file for ptolemy.math.Complex
Compiling Ptolemy with Eclipse
Good morning, I'm a software designer in the Pasteur Institute (Paris) and I'm involved with a workflow definition and conception for sequence analysis (mainly). Ptolemy II seems to correspond to the core functionalities I need and seems to be easy to customize (thanks to have made docs and UML diagrams !) Unfortunatly I'm trying to make an eclipse project following the instructions described but without success. I'm now trying to install Ptolemy by hand following the chapter Setting up for Ptolemy II By Hand described in doc/coding/eclipse.htm and I have these errors : 1 - The project was not built since its classpath is incomplete. Cannot find the class file for ptolemy.math.Complex. Fix the classpath then try rebuilding this project. 2 - For the file /ptolemy/matlab/test/TestEngine.java : This compilation unit indirectly references the missing type ptolemy.math.Complex (typically some required class file is referencing a type outside the classpath) (Weird because I can see ptolemy.math in Eclipse) Can you say me if there is a mistake in the procedure described or I made something wrong. Thanks a lot ! Regards Franck Valentin Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Compiling Ptolemy with Eclipse
Hi Franck: fyi: you may also be interested in the following Ptolemy II spin-off called Kepler that has been used for bioinformatics and other scientific workflows: http://kepler.ecoinformatics.org The first official Kepler release is planned for later this month, but the code is available already (and earlier pre-releases). There is also a page contributed by one of the Kepler folks to using Eclipse: http://kepler.ecoinformatics.org/eclipse.html Bertram FV == Franck Valentin [EMAIL PROTECTED] writes: FV FV Good morning, FV I'm a software designer in the Pasteur Institute (Paris) and I'm FV involved with a workflow definition and conception for sequence analysis FV (mainly). Ptolemy II seems to correspond to the core functionalities I FV need and seems to be easy to customize (thanks to have made docs and UML FV diagrams !) FV FV Unfortunatly I'm trying to make an eclipse project following the FV instructions described but without success. FV FV I'm now trying to install Ptolemy by hand following the chapter FV Setting up for Ptolemy II By Hand described in doc/coding/eclipse.htm FV and I have these errors : FV FV 1 - The project was not built since its classpath is incomplete. Cannot FV find the class file for ptolemy.math.Complex. Fix the classpath then try FV rebuilding this project. FV FV 2 - For the file /ptolemy/matlab/test/TestEngine.java : FV This compilation unit indirectly references the missing type FV ptolemy.math.Complex (typically some required class file is referencing FV a type outside the classpath) FV FV (Weird because I can see ptolemy.math in Eclipse) FV Can you say me if there is a mistake in the procedure described or I FV made something wrong. FV FV Thanks a lot ! FV FV FV FV Regards FV FV Franck Valentin FV FV FV FV Posted to the ptolemy-hackers mailing list. Please send administrative FV mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Compiling Ptolemy with Eclipse
With Eclipse, usually it is necessary to run configure so that the .classpath file is properly set up. An alternative is to set up the project class path by hand. Locally, our Eclipse users run configure, so the by hand section of the doc could probably use some testing and updating. One issue is that Ptolemy II includes many packages that use other external packages that might not be present, so setting the classpath and excluding packages by hand can be time consuming. -Christopher Good morning, I'm a software designer in the Pasteur Institute (Paris) and I'm involved with a workflow definition and conception for sequence analysis (mainly). Ptolemy II seems to correspond to the core functionalities I need and seems to be easy to customize (thanks to have made docs and UML diagrams !) Unfortunatly I'm trying to make an eclipse project following the instructions described but without success. I'm now trying to install Ptolemy by hand following the chapter Setting up for Ptolemy II By Hand described in doc/coding/eclipse.htm and I have these errors : 1 - The project was not built since its classpath is incomplete. Cannot find the class file for ptolemy.math.Complex. Fix the classpath then try rebuilding this project. 2 - For the file /ptolemy/matlab/test/TestEngine.java : This compilation unit indirectly references the missing type ptolemy.math.Complex (typically some required class file is referencing a type outside the classpath) (Weird because I can see ptolemy.math in Eclipse) Can you say me if there is a mistake in the procedure described or I made something wrong. Thanks a lot ! Regards Franck Valentin --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
RE: Using Ptolemy II embedded in my product
Hi Christopher How do I run the shallow code generator from the command line? Michael The shallow code generator will read in certain models and generate java files. (See http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/codegen.htm ) Below I ran the shallow code generator on ptII/ptolemy/domains/de/lib/test/auto/Queue.xml and added throws lines so that it would compile The file is in the ptolemy/copernicus/shallow/cg/Queue directory, so it is in the ptolemy.copernicus.shallow.cg.Queue package. [EMAIL PROTECTED] 66% pwd /vol/maury/maury2/cxh/ptII/ptolemy/copernicus/shallow/cg/Queue [EMAIL PROTECTED] 67% cat CGQueue.java /* CGQueue - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package ptolemy.copernicus.shallow.cg.Queue; Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Add an extra button to Ptolemy/Vergil
Hi, The short question is: How do I add a button to the toolbar in Ptolemy. I'm working on a add-on for ptolemy to do some specific actions. The goal is for users to click the to-be made button and then let the magic happen: validation of some values against a database. The huge amount of code dazzled me :) Where do I start with extending vergil/ptolemy to fit my needs? Martijn Bodewes -- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Add an extra button to Ptolemy/Vergil
At 10:48 AM 3/29/2004 +0200, Martijn Bodewes wrote: Hi, The short question is: How do I add a button to the toolbar in Ptolemy. I'm working on a add-on for ptolemy to do some specific actions. The goal is for users to click the to-be made button and then let the magic happen: validation of some values against a database. The huge amount of code dazzled me :) Where do I start with extending vergil/ptolemy to fit my needs? The simplest way to do this is to define an attribute that you drop into your model where double clicking on your attribute invokes your magic. Below is an example of such an attribute that in this case opens its own, custom UI for a verification tool called Chic. You can also add buttons to the toolbar, but doing so is more involved. You need to subclass the ActorGraphFrame to add to the toolbar, and ActorGraphTableau, which creates the ActorGraphFrame (both in $PTII/ptolemy/vergil/actor). Then you need to create a Configuration (like those in $PTII/ptolemy/configs) to create this tableau rather than the default one. This latter mechanism is intended for much more drastic changes to the UI than just adding a button to the toolbar (you can create a completely custom UI for a model this way). Hope this helps... Edward --- the attribute that you drop in your model: public class ChicInvoker extends Attribute { /** Construct an attribute with the specified container and name. * @param container The container. * @param name The name of the attribute. * @exception IllegalActionException If the factory is not of an * acceptable attribute for the container. * @exception NameDuplicationException If the name coincides with * an attribute already in the container. */ public ChicInvoker(NamedObj container, String name) throws IllegalActionException, NameDuplicationException { super(container, name); // Create a custom icon. _attachText(_iconDescription, svg\n + rect x=\-50\ y=\-25\ + width=\100\ height=\50\ + style=\fill:white\/\n + image x=\-50\ y=\-25\ width=\100\ height=\50\ + xlink:href=\ptolemy/chic/chic.gif\/\n + /svg\n); // Do not show the actor name. new SingletonAttribute(this, _hideName); // Create the attribute that overrides what you do when you // double click. new ChicControllerFactory(this, _controllerFactory); ... } -- The controller attribute: /* An attribute that produces a custom node controller for ChicInvoker. Copyright (c) 1998-2003 The Regents of the University of California. All rights reserved. Permission is hereby granted, without written agreement and without license or royalty fees, to use, copy, modify, and distribute this software and its documentation for any purpose, provided that the above copyright notice and the following two paragraphs appear in all copies of this software. IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN AS IS BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. PT_COPYRIGHT_VERSION_2 COPYRIGHTENDKEY @ProposedRating @AcceptedRating */ package ptolemy.chic; // Diva imports import diva.graph.GraphController; // Ptolemy imports import ptolemy.kernel.util.*; import ptolemy.vergil.basic.NamedObjController; import ptolemy.vergil.basic.NodeControllerFactory; // Java imports // ChicControllerFactory /** This is an attribute that produces a custom node controller for Chic visible attributes. This class creates an instance of ChicController, for controlling Chic visible attributes in a ptolemy model. @author Eleftherios Matsikoudis @version $Id: ChicControllerFactory.java,v 1.2 2003/07/28 01:26:53 cxh Exp $ @since Ptolemy II 3.0 */ public class ChicControllerFactory extends NodeControllerFactory { /** Construct a new attribute with the given container and name. * @param container The container. * @param name The name. * @exception IllegalActionException If the attribute cannot be contained * by the proposed container. * @exception NameDuplicationException If the container already has an * attribute with this name. */ public
Re: Using Ptolemy II embedded in my product
Michael Doorley writes: Hi Christopher Thanks for adding me to the list. 1. Can I use Ptolemy II by calling methods in the API that would create a model, populate it, run a simulation and extract the results? As a bonus for the advanced user I would like to save the model as an XML file that could be opened in Ptolemy II GUI tools (e.g. Vergil), but that is not a priority. Yes. See ptolemy/actor/gui/MoMLSimpleApplication.java and ptolemy/actor/gui/PtExecuteApplication.java, which both instantiate and run a model. I have looked at MoMLSimpleApplication.java and my problem with it is that it seems to require a file as input. I am looking for a solution where I can create and populate model in memory directly from my program. The closest thing I have found is the Dining Philosophers demo of the CSP domain, which does not seem to have a file dependency, unless I am missing it. I am currently trying build an equivalent of that program for DE. Do you know if any similar sample already exists? Thanks for your help, Michael Sorry, I thought you wanted to _read_ a MoML file. You could do something similar to how the ptII/ptolemy/domains/ct/demo/Helicopter/Helicopter.java works. You could create a similar model with domain polymorphic or DE actors and using the DE Director Note that if you call System.out.println(exportMoML()); from within a TypedCompositeActor, then you will get the MoML output. See also: ct/demo/Lorenz/Lorenz.java ct/demo/SigmaDelta/SigmaDelta.java ct/demo/SquareWave/SquareWave.java ct/demo/StickyMasses/StickyMasses.java ct/demo/Thermostat/Thermostat.java sdf/demo/Butterfly/Butterfly.java For example, to run the last demo, you would do java -classpath ptolemy.actor.gui.CompositeActorApplication -class ptolemy.domains.sdf.demo.Butterfly.Butterfly The shallow code generator will read in certain models and generate java files. (See http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/codegen.htm) Below I ran the shallow code generator on ptII/ptolemy/domains/de/lib/test/auto/Queue.xml and added throws lines so that it would compile The file is in the ptolemy/copernicus/shallow/cg/Queue directory, so it is in the ptolemy.copernicus.shallow.cg.Queue package. [EMAIL PROTECTED] 66% pwd /vol/maury/maury2/cxh/ptII/ptolemy/copernicus/shallow/cg/Queue [EMAIL PROTECTED] 67% cat CGQueue.java /* CGQueue - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ package ptolemy.copernicus.shallow.cg.Queue; import ptolemy.actor.IOPort; import ptolemy.actor.TypedCompositeActor; import ptolemy.actor.TypedIOPort; import ptolemy.actor.TypedIORelation; import ptolemy.actor.gui.LocationAttribute; import ptolemy.actor.gui.SizeAttribute; import ptolemy.actor.lib.Clock; import ptolemy.actor.lib.Test; import ptolemy.data.expr.Parameter; import ptolemy.domains.de.kernel.DEDirector; import ptolemy.domains.de.kernel.DEIOPort; import ptolemy.domains.de.lib.Queue; import ptolemy.kernel.ComponentPort; import ptolemy.kernel.CompositeEntity; import ptolemy.kernel.attributes.VersionAttribute; import ptolemy.kernel.util.Settable; import ptolemy.kernel.util.Workspace; import ptolemy.kernel.util.IllegalActionException; import ptolemy.kernel.util.NameDuplicationException; import ptolemy.moml.Documentation; import ptolemy.moml.Vertex; public class CGQueue extends TypedCompositeActor { public VersionAttribute A_createdBy; public SizeAttribute A_vergilSize; public LocationAttribute A_vergilLocation; public DEDirector ADE; public Parameter ADE_startTime; public Parameter ADE_stopTime; public Parameter ADE_stopWhenQueueIsEmpty; public Parameter ADE_synchronizeToRealTime; public Parameter ADE_isCQAdaptive; public Parameter ADE_minBinCount; public Parameter ADE_binCountFactor; public ComponentPort PQueue_input; public ComponentPort PQueue_output; public ComponentPort PQueue_trigger; public ComponentPort PClock_output; public ComponentPort PClock_trigger; public Parameter AClock_stopTime; public Parameter AClock_period; public Parameter AClock_offsets; public Parameter AClock_values; public Parameter AClock_numberOfCycles; public Documentation AClock__doc; public ComponentPort PClock2_output; public ComponentPort PClock2_trigger; public Parameter AClock2_stopTime; public Parameter AClock2_period; public Parameter AClock2_offsets; public Parameter AClock2_values; public Parameter AClock2_numberOfCycles; public Documentation AClock2__doc; public ComponentPort PTest_input; public ComponentPort PTest_output; public Parameter ATest_correctValues; public Parameter ATest_tolerance; public Parameter ATest_trainingMode; public Vertex Arelation5_vertex1; public CGQueue(Workspace workspace) throws IllegalActionException, NameDuplicationException { super(workspace); __CGInit
Re: [Ptolemy] Re: how to set icon locations
From: [EMAIL PROTECTED] (Manish_Kushwaha) Subject: how to set icon locations Date: 14 Jan 2004 13:25:30 -0800 Hi there, I am using ptolemy II for my application. I have a small question. I want to place the entity icons at specified locations. I have a file having a list of what icon will go where. Can someone tell me how do we read those file entries and set _location property in the XML file. Is this the correct way to set location or there is another approach. Thank you, Manish Kushwaha The MoML representation of location is, by default: property name=_location class=ptolemy.kernel.util.Location value=205.0, 155.0 /property If you simply set the X and Y value as shown, this will work. You could use an XSL script, for example. You can also set the position of an icon within a Ptolemy model. There is an example at: $PTII/ptolemy/actor/parameters/demo/Bouncer/ It uses a parameter of class ptolemy.actor.parameters.LocationParameter whic can have a value that is an expression that depends on other parameters in the model. In that example, the location is changed dynamically. Edward Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Coupling HLA federate with Ptolemy II ?
Hi, Which is the positioning of Ptolemy compared to HLA ? How coupling an HLA federate with Ptolemy II ? Best regards, Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II : reuse legacy application, distributed actors
Hi, I have 2 (newbie?) questions : * While waiting for e-ptolemy, with Ptolemy II and in the same simulation, how to use local actors and remote (distributed) actors ? : use of applets... * and how to reuse legacy application e.g. how to wrap C,FORTRAN,ADA!! code to be an Ptolemy II actor ? Best regards, Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy II : reuse legacy application, distributed actors
BERGERO Didier [EMAIL PROTECTED] writes: I have 2 (newbie?) questions : * While waiting for e-ptolemy, with Ptolemy II and in the same simulation, how to use local actors and remote (distributed) actors ? : use of applets... I'm not sure what e-ptolemy is in this context. There are some actors that use jxta in $PTII/ptolemy/actor/lib/jxta We have some corba actors, though they have not been released. We are starting to look at Grid computing, but we do not have any results to report yet. Use of applets is covered in http://ptolemy.eecs.berkeley.edu/papers/03/ptIIDesignSoftware * and how to reuse legacy application e.g. how to wrap C,FORTRAN,ADA!! code to be an Ptolemy II actor ? Ptolemy II 3.0.2 includes an interface that uses JNI, see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII3.0/ptII3.0.2/jni/doc/JNIActorHelp.pdf See also the matlab actor in $PTII/ptolemy/matlab -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: Implementing high level queues
At 11:33 AM 11/21/2003 -0800, [EMAIL PROTECTED] wrote: I am currently looking for a way to implement a high level queue. By this I am looking to have a queue that exists in the top level model but can be accessed in a lower level model, e.g. in submodel A, tokens can enter a queue and in submodel B, tokens can enter the same queue, e.g. for accessing a shared resource such as a LAN. Is there a way to reference a queue or some other way to implement this? Are you saying you don't want the submodels to have connections to the queue? If actors communicate outside the structure of the model of computation, then you are on your own. You can implement this in Java by, for example, having a common base class for the actors with a static data structure representing instances of the resource you want to share. However, I would caution against this approach. Since the ordering of events will be outside the model of computation, the computation will likely be nondeterministic, which means your execution will not be repeatable, and also that you won't be able to infer much from an execution (it happened to execute this way this time...). A better approach would probably be to have a mechanism for actors to communicate without connections, but within the model of computation. We are currently developing a wireless domain that is based on DE that does this. The basic mechanism is to subclass TypedIOPort to create a specialized WirelessPort that has as a parameter the name of the channel through which communication will occur. You could do something similar, creating a ResourceIOPort with a parameter that identifies the shared resource (the queue). I would be happy to help in developing this, but I don't really have much time these days... Another thing I will be looking to implement is adding extra paramenters to each event. For example at the moment my poisson event creator emits a stream of doubles, could I implement it that it emits an array instead and that the other actors, e.g. queues, comparators can accept these tokens and maybe act on a particular element of the array, e.g. array[0], without having to make changes to these actors, and then write the modified value back to array[0]? If this is not possible could I emit a stream of incrementing doubles that I can use as reference numbers to the events and have a list of parameters that would be associated with each reference number that could then be accessed and modified? As I mentioned before I am looking to model a HTTP request and I need to associate information such as the size of the page, the number of images, etc. with each request, which will then be used to determine what way the system responds. Why not just make your event a record token? Then you can have named fields of arbitrary type and manipulate them independently. Edward Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy modeling of complex distributed software systems
Very interesting... Did you look at DEThreadActor? It has some of what you do, but not all... In particular, it doesn't have the (nice) feature that the director waits for active actors to allow time to pass. This is similar to what we've done in timed CSP and timed PN... As for these specific questions: At 06:12 PM 11/20/2003 -0600, Charles Liu wrote: The work around I have requires the insertion of a method call into the _dequeueEvents method, which can't be overriden easily due to access to private member variables in DEDirector. Here lies the question (or rather feature request): How can I request a change to the DEDirector for the next release to support what I'm attempting to do? For now, I've just modified my local copy of DEDirector. With the changes, my simulation seems to be running correctly. Please do request the change. It sounds like what you are doing is using the strategy pattern, which is often a good idea. I.e., have _dequeueEvents call a protected method where a simple default implementation is provided in the DEDirector, but your director subclasses this... If you send me your version of the DEDirector, I'll take a look. Note that any contributed code has to bear our copyright or something equivalent (e.g., you can change the name of the copyright holder if you contribute a new file). But in particular, we can't include GPL'd code in the main body of Ptolemy II, because then all of Ptolemy II will become GPL'd (this is a sort of copyright virus). Also, contributed code needs to follow our coding style in order to be included in the main code base. You can find this at: http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/coding/style.htm Another (easier) question: I would like to identify tag an IOPort for special processing while creating it in the constructor of an Actor. How can I do this without adding a Parameter to it or subclassing it? All I need is something that lets me add a property (perhaps Attribute?) to the IOPort. You can simply add an attribute to a port. To do this in vergil, right click on the port, select Configure and then do add. The added property will be persistent. The attribute can also be added by Java code. The right way to do this is queue a change request, so that the attribute is added at a time when it is safe to do that. See the SDF domain director for an example... It adds attributes to ports and actors for use with scheduling. Note that in the latest release, the only way to add a non-persistent attribute was to use one of the Attribute subclasses that are not persistent, such as TransientConfigurableAttribute. In the latest version (on the CVS tree), any attribute can be made non-persistent by calling setPersistent(false). This prevents the attribute from cluttering the MoML file. Edward Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
problems rebuilding Ptolemy classic from scratch
Hi again. Thanks all for your answers to my last question. i'm trying ti rebuild from scratch Ptolemy classic 0.7.1. I am with linux debian 3.0 (woody).I use bash, not cshell. I got the sources to 0.7.1,, the tar-gz archives with the global src and others. Then I untar the archives, in $PTOLEMY, and foollow the instructions in the web page of Ptolemy project, doing make and make install. Then an error happened, something related with Tycho. Perhaps I hasn't got Tcl/tk or something about that. Then, I do: make everything Now, I got an error related with xv. I suppose that I didn't finish my installation or something doesn't work right, because when I try to start pigi from $PTOLEMY/bin/pigi, it says that pigi.Rpc doesn't exists or is not prepared to be executable. I think I'm doing something wrong. Perphaps it would be easier if I get some .deb files from ptolemy, but I don't know how to got them. Can I receive some help? Thanks again and regards. - This mail sent through IMP: http://horde.org/imp/ Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: problems rebuilding Ptolemy classic from scratch
I have some notes for compiling Ptolemy II 0.7.2 devel under Linux at http://ptolemy.eecs.berkeley.edu/ptolemyclassic/pt0.7.2/linux.htm I'll see about adding a more prominent link to that page from the 0.7.1 page. xv not compiling is fairly common, you can run without it. xv is also available elsewhere. If pigiRpc is not present, then you probably have a compilation problem. Try cd $PTOLEMY make make.out and then look in make.out for lines that contain three *** -Christopher Hi again. Thanks all for your answers to my last question. i'm trying ti re build from scratch Ptolemy classic 0.7.1. I am with linux debian 3.0 (woody).I us e bash, not cshell. I got the sources to 0.7.1,, the tar-gz archives with the global src and others. Then I untar the archives, in $PTOLEMY, and foollow the instructi ons in the web page of Ptolemy project, doing make and make install. Then an er ror happened, something related with Tycho. Perhaps I hasn't got Tcl/tk or some thing about that. Then, I do: make everything Now, I got an error related with xv. I suppose that I didn't finish my installation or something doesn't work right, because when I try to start p igi from $PTOLEMY/bin/pigi, it says that pigi.Rpc doesn't exists or is not prep ared to be executable. I think I'm doing something wrong. Perphaps it would be easier if I get som e .deb files from ptolemy, but I don't know how to got them. Can I receive some help? Thanks again and regards. - This mail sent through IMP: http://horde.org/imp/ --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II under debian woody
Hi, I'm a student from Extremadura, Spain. I have tried to recompile everything to run Ptolemy II 3.0.2 in linux debian 3.0. I also got JDK 1.4.1, but I think I'm not well configured in the Java enviroment. I use linux since 3 months. Then, my question is: I would like to know what version of Ptolemy II is more stable or proved to start with it, or if the Ptolemy classic version is better for a new user like me. I know is a very simple question but I also think that you (hackers) are the best people to answer me, I'm a little bit lost from the moment. Thank you and sorry for my bad english. Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: The ID PI is undefined. in Ptolemy II 3.0-beta ...
Yes, this is a bug in the code generator that shipped with the beta. It is likely that the final release will include a fix that allows constants (like PI) to be dealt with correctly. Note that for other reasons, the Butterfly demo will not generate usable code. (Because the plotter uses parts of Ptolemy II that are not initialized or understood by the code generator). This is also something I'm working on, but it is unlikely that a fix will be included in the release. Steve At 04:04 PM 8/18/2003 -0700, Christopher Hylands Brooks wrote: Sorry for the delay in getting back to you on this, I was away on vacation On 8/02, in comp.soft-sys.ptolemy, [EMAIL PROTECTED] (Long-Bao) wrote: Hi, everyone: I've encounterd the following exception when I used code generator (for Java) with the Demo Butterfly (or something else) in SDF Domain: Soot started on Sat Aug 02 21:58:46 CST 2003 WatchDogTimer.internalTransform(wjtp.watchDog, {time=60, cancel=false}) ModelTransformer.internalTransform(wjtp.mt, {targetPackage=ptolemy.copernicus.java.cg.Butterfly}) ModelTransformer: Creating actor class ptolemy.copernicus.java.cg.Butterfly.CGRamp for actor .Butterfly.Ramp based on ptolemy.actor.lib.Ramp ptolemy.kernel.util.IllegalActionException: The ID PI is undefined. at ptolemy.copernicus.java.DataUtilities$ActorCodeGenerationScope.getType(DataUtilities.java:366) at ptolemy.data.expr.ParseTreeTypeInference._getTypeForName(ParseTreeTypeInference.java:495) at ptolemy.data.expr.ParseTreeTypeInference.visitLeafNode(ParseTreeTypeInference.java:303) at ptolemy.data.expr.ASTPtLeafNode.visit(ASTPtLeafNode.java:115) at ptolemy.data.expr.ParseTreeTypeInference._inferChild(ParseTreeTypeInference.java:536) at ptolemy.data.expr.ParseTreeTypeInference._inferAllChildren(ParseTreeTypeInference.java:519) at ptolemy.data.expr.ParseTreeTypeInference.visitProductNode(ParseTreeTypeInference.java:400) at ptolemy.data.expr.ASTPtProductNode.visit(ASTPtProductNode.java:124) at ptolemy.data.expr.ParseTreeTypeInference.inferTypes(ParseTreeTypeInference.java:78) at ptolemy.copernicus.java.ParseTreeCodeGenerator.generateCode(ParseTreeCodeGenerator.java:74) at ptolemy.copernicus.java.DataUtilities.generateExpressionCodeBefore(DataUtilities.java:184) at ptolemy.copernicus.java.ModelTransformer.computeAttributesBefore(ModelTransformer.java:185) at ptolemy.copernicus.java.GenericAtomicActorCreator.createAtomicActor(GenericAtomicActorCreator.java:196) at ptolemy.copernicus.java.ModelTransformer._createActorsIn(ModelTransformer.java:1462) at ptolemy.copernicus.java.ModelTransformer._createCompositeActor(ModelTransformer.java:1493) at ptolemy.copernicus.java.ModelTransformer.internalTransform(ModelTransformer.java:914) at soot.SceneTransformer.transform(SceneTransformer.java:46) at soot.Pack.apply(Pack.java:79) at soot.Main.run(Main.java:1649) at ptolemy.copernicus.kernel.KernelMain.generateCode(KernelMain.java:17 5) at ptolemy.copernicus.java.Main.main(Main.java:450) Code generation of 'jar:file:/C:/Ptolemy/Ptolemy_II_3.0-beta/ptolemy/domain s/sdf/demo/demo.jar!/ptolemy/domains/sdf/demo/Butterfly/Butterfly.xml' failed: java.lang.RuntimeException: ptolemy.kernel.util.IllegalActionException: The ID PI is undefined. at ptolemy.copernicus.java.DataUtilities.generateExpressionCodeBefore(DataUtilities.java:188) at ptolemy.copernicus.java.ModelTransformer.computeAttributesBefore(ModelTransformer.java:185) at ptolemy.copernicus.java.GenericAtomicActorCreator.createAtomicActor(GenericAtomicActorCreator.java:196) at ptolemy.copernicus.java.ModelTransformer._createActorsIn(ModelTransformer.java:1462) at ptolemy.copernicus.java.ModelTransformer._createCompositeActor(ModelTransformer.java:1493) at ptolemy.copernicus.java.ModelTransformer.internalTransform(ModelTransformer.java:914) at soot.SceneTransformer.transform(SceneTransformer.java:46) at soot.Pack.apply(Pack.java:79) at soot.Main.run(Main.java:1649) at ptolemy.copernicus.kernel.KernelMain.generateCode(KernelMain.java:175) at ptolemy.copernicus.java.Main.main(Main.java:450) WARNING: Default charset MS950 not supported, using ISO-8859-1 instead All Done. Have anyone met the same problem as me ?? Or I've done something wrong?? I'm using Ptolemy II Windows executable file that includes JVM on Windows XP Professional SP1 and Compaq Presario 1500. How to overcome it??? Thans a lot!!! Long-Bao I see the same problem in Ptolemy 3.0-beta in the Windows prebuilt executable and in a 3.0-beta binary built from scratch. I think the problem is the Expression actor. Generating code
Ptolemy related Soft Walls project in the news
BTW - Professor Lee, Adam Cataldo, Ian Mitchell, Xiaojun Liu, Steve Neuendorffer, Iman Ahmadi, Zhongning Chen, Professor Shankar Sastry and others have been working on the Soft Walls project, which is studying ways to modify the avionics control system on the aircraft to limit the space into which an aircraft can fly and possibly prevent 9/11 style disasters. The Soft Walls home page is at http://ptolemy.eecs.berkeley.edu/projects/softwalls/ The Soft Walls project has recently been covered by several media outlets, including: Radio Interview: WTOP, Washington DC (Real Audio Format) (7/14) http://www.wtopradio.com/media/july/0714_lee.ram Radio Interview: The Canadian Broadcasting Corporation's 'As it Happens' (7/9) http://www.cbc.ca/insite/AS_IT_HAPPENS_TORONTO/2003/7/9.html The interview begins around 15:35 in Part 2 of the As It Happens Real Audio stream: http://cbc.ca/asithappens/real/pt2-03-07-09-aih2.ram Slashdot (7/3) http://slashdot.org/articles/03/07/03/1639249.shtml?tid=126 The New Scientist (7/2) http://www.newscientist.com/news/news.jsp?id=ns3893 This article was also carried by many news outlets, including: CNN, Toronto Globe and Mail, The Washington Times, The Orlando Sentinel, The Straits Times (Singapore), The Times of India, The Star (SouthAfrica), The Age (Australia) Adam has been using Ptolemy II to model the various control algorithms though none of those models are ready for release yet. -Christopher Christopher Hylands[EMAIL PROTECTED] University of California Programmer/Analyst Chess/Ptolemy/GSRC US Mail: 558 Cory Hall #1770 ph: 510.643.9841 fax:510.642.2739 Berkeley, CA 94720-1770 home: (F-Tu) 707.665.0131 (W-F) 510.655.5480 (office: 400A Cory) Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Compiling custom source in ptolemy and SVG issues....
At 02:18 AM 6/13/2003 -0700, Hitanshu Gandhi wrote: Hi, In my Ptolemy simulation, I have several classes,refered in a XML file. On finding an error in a class, I recompile it. But Ptolemy refuses to notice the updated file. if I close my simulation window, and tell vergil to reopen my xml file, it doesnt use the updated classes. The only workaround I have noticed is to restart Vergil. I am running PtolemyII-3.0p locally on a PII350/SuSE8/2.4.18 system with 128 MB RAM. No amount of sync/rehash's solve the problem. Yes, this is (currently) correct. The difficulty is that the user interface for Ptolemy II is relatively tightly bound to the underlying Java code for atomic actors. I agree that it would be nice if actors could be dynamically reloaded. One of the things we are currently working on is some integration with the Eclipse Java environment, which will likely include a way to automatically save and reload any open models, using recompiled classes. Anyone else noticed this? or know some workarounds? The SVG support under Ptolemy is not well documented. The DIVA library(IIRC) provides limited SVG functionality. The table 5.11 fails to mention non-supported SVG options like rounded corners of boxes, and filled polygons. Also, is there another updated version of Diva available which has support for the path tag?(esp arcs?). The SVG Errors are also not very verbose. Are verbose SVG error messages available? If so, how? Given the complexity of SVG it wasn't feasible for us to sit down and write a complete SVG implementation. When I did this, java SVG libraries were extremely primitive. I'll take another look at what it would take to integrate with XML/Batik. Steve Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
about polis with ptolemy II
hi,everyone I want to experiment in the platform made of esterel compiler ,polis.linux.0.4 and ptolemy II in the linux os.I have downloaded all the necessary software,including the esterelv5_92 for linux,polis.linux.0.4 and ptolemy II for linux.Now I found a problem which is that the polis need ptolemy.071,but i don't use the ptolemy classic,and i only use ptolemy II.So my question is how i can run this embedded system platform made of polis.0.4 and ptolemy II.3x! _ MSN Explorer: http://explorer.msn.com/lccn/ Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy Miniconference: May 9, 2003, Oakland, California
The Ptolemy Miniconference is an opportunity for users and researchers from industry, academia, and government to get together and present their work to the Ptolemy community. It is typically held every two years. The Fifth Biennial Ptolemy Miniconference will be held on Friday, May 9, 2003 at the Claremont Hotel in Berkeley, California. The program includes invited speakers from organizations worldwide, plus members of the Ptolemy project describing current research at Berkeley. Tentative Program The program includes invited speakers from organizations worldwide, plus members of the Ptolemy project describing current research at Berkeley. Topics include: * Project Status * Distributed Ptolemy Models * Code Generation * Hardware Synthesis * Java/C++ hybrid simulation * Actor Definition Languages * Evolutionary Programming * Hybrid System Modeling * Model-Driven Architecture * Composition of Web Services * Modeling of Control Systems * Image and Video Processing * Communications Systems Modeling * Distributed Process Networks Please register for the conference by using the webpage registration form at http://ptolemy.eecs.berkeley.edu/ptconf Registration will close on May 1. In the past, the conference has sold out, so we recommend registering early. See the registrants list for who has registered thus far. Note that there will be a $200 conference fee. The fee is waived for students, sponsors and speakers and poster presenters. If you feel that the fee should be waived for you then enter your reason in the 'Conference Fee' section of the registration form. The fee can be paid in advance or paid at the conference. To pay in advance, send a cheque for $200 made out to 'The Regents of the University of California' to: University of California At Berkeley Nuala Mansard Room 545D Cory Hall 231 Cory Hall #1770 Berkeley, CA 94720-1770 At the conference, we will accept Visa and cheques. If you have questions, see the Ptolemy Conference Website at http://ptolemy.eecs.berkeley.edu/ptconf or send email to [EMAIL PROTECTED] -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: Serving Multiple tokens
You're right... You need a queue to keep the incoming requests and an 'arbiter' to dispatch requests when servers become idle. I imagine it would be fairly easy to build an arbiter using an FSM model. When a server finishes processing, it sends an event to the arbiter saying it is available. An arbiter may then send it another request from the input queue... It may also be useful to use a Switch in combination with an FSM to actually route requests to servers. Steve At 03:24 PM 2/23/2003 -0800, Christopher Hylands wrote: The following appeared in comp.soft-sys.ptolemy If you respond, cc [EMAIL PROTECTED] -Christopher --- Forwarded Message From: Herman Reintke [EMAIL PROTECTED] Subject: Serving Multiple tokens Date: Sun, 23 Feb 2003 19:04:51 +0100 LS, I am new in the Ptolemy system and am experimenting with some simple DE models to find my way. First model was fairly easy then an I accomplished to run it. - Poisson arrival, servicing the arrived tokens with a server, output average service times. But now I want to extend the model so it can use two (or more) servers to see the effect average service times. Now I cannot use multiple server actor, they could have tokens inside where the other server(s) are idle. But when using a queue, how to decide to which server it should go (how to know which server is idle). And a queue must be triggered to let the next token arrive. I do not see a solution, does anyone has some experience on hoe to handle these kind of simulations, hopefully without getting very complex. Kind regards, Herman Reintke --- End of Forwarded Message ___ Ptolemy maillist - [EMAIL PROTECTED] http://www.gigascale.org/ptolemy/listinfo/ptolemy Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Time domain simulation of Sigma Delta A/D converters using Ptolemy Classic
Frank Schilder of TU Ilmenau has contributed a tar file that contains a time domain simulation of sigma delta A/D converters using Ptolemy Classic. I've put the tar file, the installation notes and the documentation on the web at http://ptolemy.eecs.berkeley.edu/ptolemyclassic/pt0.7.1/adc/ -Christopher Christopher Hylands[EMAIL PROTECTED] University of California Programmer/Analyst Chess/Ptolemy/GSRC US Mail: 558 Cory Hall #1770 ph: (510)643-9841 fax:(510)642-2739 Berkeley, CA 94720-1770 home: (510)526-4010, (707)665-0131(office: 400A Cory) Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy Version 2.0.1 is incompatible with 1.0.1 ???
Yes, the Ptolemy II 1.0.1 installer has problems installing under versions of Java that were not known when the installer was created. I created dummy files for some versions of Java, probably up through Java 1.3.1_02, so there would be a problem with Java 1.3.1_07. This is because of a serioius limitation in the version of Installshield that was used to create the installer. We no longer use Installshield, we are using Installanywhere, and the most recent HyVisual installer includes a dialog that allows the user to select a JVM to use. The error you saw might have been the installer failing to find a suitable JVM. See http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/installshield.htm#bugs for a list of the InstallAnywhere limitations. The primary workaround is to install Ptolemy II 2.0. Another workaround is to install Ptolemy II 1.0 from source. Alisson Brito wrote the following about how to tell the installed version of Ptolemy II 1.0.1 to use a different version of the JVM: I've unmounted the installer file with the command: ptolemyII1.0.1.exe :is extract After that I've created a file called sun_win32_140.jvm Then I 've made the product,xml to know that my .jvm file exist and that I have a jdk1.4.0 installed in a determinated path. And finally I run: java run (that execute run.class) Ptolemy II 2.0.2 should read in Ptolemy II 1.0.1 models, but as always, there could be a bug in the conversion process. The Ptolemy bug you would see would not be Java crashing, it would be a dialog window popping up with a stack trace. The bug you report below is a platform specific Java bug that is triggered by Ptolemy II. I've verified that I can run a model under Ptolemy II 2.0.1 with JRE 1.3.1_07 under Windows 2000 on an IBM 600X with the most recent updates installed using IE's 'Tools - Windows Update' facility. The updates include SP3, DirectX 8.1 and Net Hi Christopher, My platform is Windows 2000 and updated all service pack through windows update. I installed Java 1.3.1_06 and sucessfully installed PT 2.0.1. But i discovered that PT 1.0.1 can't be installed under Java 1.3.1_06. It complains No suitable JVM found. However, after I installed Java 1.3.1_02, PT1.0.1 can be successfully installed. Now, PT 2.0.1 still can't reads PT1.0.1's library. How can I solve it? [EMAIL PROTECTED] (Christopher Hylands) wrote in message news:200301 [EMAIL PROTECTED]... That is a bug in Java, not a bug in Ptolemy II. Java should not crash, no matter what Ptolemy II does. What platform are you on? I'm guessing Windows NT. What service pack? You might try a different OS, or upgrade your current OS to the most recent service pack. It looks like you are running under Java 1.3.1_06 Ptolemy II 2.0.1 works best under Java 1.3.1 Try using the most recent version of Java 1.3.1, which is 1.3.1_07, see http://java.sun.com/j2se/1.3/download.html There is a slightly similar bug at http://developer.java.sun.com/developer/bugParade/bugs/4410477.html at the bottom someone reports a similar error, but there is no solution. You could also try running under Java 1.4.1. Note that the code generator facility in Ptolemy II 2.0.1 will not work with Java 1.4.1, but everything else should. BTW - 2.0.1 is not backward compatible with 1.0.1's library. 2.0.1 will convert 1.0.1 libraries to be compatible to 2.0.1. The ptolemy/moml/filter/*.java classes do the conversion, which is summarized in the release notes http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/doc/ptII2.0. release.htm In principle, it should be possible to convert from Ptolemy II 2.0.1 back to Ptolemy 1.0.1. I would probably use xslt to do this though, -Christopher Our project started using Ptolemy in 2001. We used the Ptolemy versio n 1.0.1 to build a good deal of self-defined library. Now, we are using Ptolemy2.0.1 and try to import our library. Unfortunately, the 2.0.1 is incompatible with 1.0.1's library. 2.0.1 can't open or import the library, with error showing in a txt file. How can we solve this problem? As it is non-sense to rebuild our library. Thanks b // txt file shows error An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d0d9c03 Function name=Java_sun_awt_Win32GraphicsConfig_getBounds Library=F:\jdk\jre\bin\awt.dll Current Java thread: at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run
Re: Ptolemy Version 2.0.1 is incompatible with 1.0.1 ???
That is a bug in Java, not a bug in Ptolemy II. Java should not crash, no matter what Ptolemy II does. What platform are you on? I'm guessing Windows NT. What service pack? You might try a different OS, or upgrade your current OS to the most recent service pack. It looks like you are running under Java 1.3.1_06 Ptolemy II 2.0.1 works best under Java 1.3.1 Try using the most recent version of Java 1.3.1, which is 1.3.1_07, see http://java.sun.com/j2se/1.3/download.html There is a slightly similar bug at http://developer.java.sun.com/developer/bugParade/bugs/4410477.html at the bottom someone reports a similar error, but there is no solution. You could also try running under Java 1.4.1. Note that the code generator facility in Ptolemy II 2.0.1 will not work with Java 1.4.1, but everything else should. BTW - 2.0.1 is not backward compatible with 1.0.1's library. 2.0.1 will convert 1.0.1 libraries to be compatible to 2.0.1. The ptolemy/moml/filter/*.java classes do the conversion, which is summarized in the release notes http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/doc/ptII2.0.release.htm In principle, it should be possible to convert from Ptolemy II 2.0.1 back to Ptolemy 1.0.1. I would probably use xslt to do this though, -Christopher Our project started using Ptolemy in 2001. We used the Ptolemy version 1.0.1 to build a good deal of self-defined library. Now, we are using Ptolemy2.0.1 and try to import our library. Unfortunately, the 2.0.1 is incompatible with 1.0.1's library. 2.0.1 can't open or import the library, with error showing in a txt file. How can we solve this problem? As it is non-sense to rebuild our library. Thanks b // txt file shows error An unexpected exception has been detected in native code outside the VM. Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x6d0d9c03 Function name=Java_sun_awt_Win32GraphicsConfig_getBounds Library=F:\jdk\jre\bin\awt.dll Current Java thread: at sun.awt.windows.WToolkit.eventLoop(Native Method) at sun.awt.windows.WToolkit.run(WToolkit.java:183) at java.lang.Thread.run(Thread.java:479) Dynamic libraries: 0x0040 - 0x00455000 F:\Ptolemy\vergil.exe 0x77F8 - 0x77FF9000 F:\WINNT\System32\ntdll.dll 0x77D9 - 0x77DEA000 F:\WINNT\system32\ADVAPI32.dll 0x77E6 - 0x77F36000 F:\WINNT\system32\KERNEL32.DLL 0x77D2 - 0x77D8F000 F:\WINNT\system32\RPCRT4.DLL 0x77DF - 0x77E54000 F:\WINNT\system32\USER32.dll 0x77F4 - 0x77F7C000 F:\WINNT\system32\GDI32.DLL 0x777E - 0x777E7000 F:\WINNT\system32\VERSION.dll 0x7595 - 0x75956000 F:\WINNT\system32\LZ32.DLL 0x75E0 - 0x75E1A000 F:\WINNT\System32\IMM32.DLL 0x6D42 - 0x6D4F9000 f:\jdk\jre\bin\hotspot\jvm.dll 0x7753 - 0x7756 F:\WINNT\System32\WINMM.dll 0x7800 - 0x78046000 F:\WINNT\system32\MSVCRT.dll 0x67ED - 0x67ED7000 F:\WINNT\System32\serwvdrv.dll 0x6636 - 0x66367000 F:\WINNT\System32\umdmxfrm.dll 0x6D22 - 0x6D227000 f:\jdk\jre\bin\hpi.dll 0x6D3B - 0x6D3BD000 f:\jdk\jre\bin\verify.dll 0x6D25 - 0x6D266000 f:\jdk\jre\bin\java.dll 0x6D3C - 0x6D3CD000 f:\jdk\jre\bin\zip.dll 0x6D02 - 0x6D12A000 F:\jdk\jre\bin\awt.dll 0x777C - 0x777DD000 F:\WINNT\System32\WINSPOOL.DRV 0x77A3 - 0x77B24000 F:\WINNT\system32\ole32.dll 0x6D1E - 0x6D21B000 F:\jdk\jre\bin\fontmanager.dll 0x7270 - 0x72746000 F:\WINNT\System32\DDRAW.dll 0x727A - 0x727A6000 F:\WINNT\System32\DCIMAN32.dll 0x1000 - 0x1017 F:\WINNT\System32\i81xgicd.dll 0x0D97 - 0x0D9CD000 F:\WINNT\System32\i81xGDEV.DLL 0x6E26 - 0x6E266000 F:\WINNT\System32\INDICDLL.dll 0x6D19 - 0x6D1B2000 F:\jdk\jre\bin\dcpr.dll 0x7790 - 0x77922000 F:\WINNT\system32\imagehlp.dll 0x7290 - 0x7292D000 F:\WINNT\system32\DBGHELP.dll 0x68E0 - 0x68E0B000 F:\WINNT\System32\PSAPI.DLL Local Time = Fri Jan 31 16:16:37 2003 Elapsed Time = 748 # # The exception above was detected in native code outside the VM # # Java VM: Java HotSpot(TM) Client VM (1.3.1_06-b01 mixed mode) # Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy Release and Miniconference News
HyVisual 2.2-beta - Next week, we will be releasing HyVisual 2.2-beta, which is a runtime only version of Ptolemy II that includes the CT and FSM domains. This version is primarily for the Model-Based Integration of Embedded Software (MoBIES) project, see http://ptolemy.eecs.berkeley.edu/projects/mobies/index.htm for information about MoBIES. I'll send out a more complete announcement when the release is ready. Ptolemy Miniconference -- The Ptolemy Miniconference will be held on Friday, May 9th at the Claremont Hotel in Oakland. If you you would like to suggest a presentation or poster, please email [EMAIL PROTECTED] If you sent email last September with a suggestion, and you got a response from us, then you need not resend the same suggestion. We will put up a registration website at some point and send out a information via the ptolemy-hackers and ptolemy-interest mailing lists. Ptolemy II release -- Our plan is to have a source release of Ptolemy in late May. The May release will include the features in HyVisual. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: extend the expression language of Ptolemy II
In comp.soft-sys.ptolemy, [EMAIL PROTECTED] (Hendrik Schoeneich) writes: Hi! I would like to extend the expression language of Ptolemy II to calculate integer values based on double values. I need this feature for a controller that I have created using a modal model. The documentation says: The expression language includes an extensible set of functions, such as sin(), cos(), etc. The functions that are built in include all static methods of the java.lang.Math class and the ptolemy.data.expr.UtilityFunctions class. This can easily be extended by registering another class that includes static methods. I am thankful for any help on interpreting easily registering. Thanks, Hendrik Schoeneich ptII/ptolemy/data/expr/UtilityFunctions.java contains static methods that return tokens. ptII/ptolemy/data/expr/ASTPtFunctionNode.java says: p A function node is created when a function call is parsed. This node will search for the function, using reflection, in the classes registered for this purpose with the parser. Thus to add to the list of functions available to the expression, it is only necessary to create a new class with the functions defined in it and register it with the parser. By default only java.lang.Math and ptolemy.data.expr.UtilityFunctions are searched for a given function. and it continues on with the details, see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/doc/codeDoc/ptolemy/data/expr/ASTPtFunctionNode.html PtParser.jjt contains a line that registers the UtilityFunctions class. PtParser.jjt gets converted by JavaCC to PtParser.jj and then to PtParser.java. To add a class to to be registered, you might be able to directly edit PtParser.java. Or, you could add your method directly to UtilityFunctions.java For example, UtilityFunctions.java contains a method: /** Return the approximate number of bytes available for future * object allocation. Note that requesting a garbage collection * may change this value. * @return The approximate number of bytes available. * @see #totalMemory */ public static LongToken freeMemory() { return new LongToken(Runtime.getRuntime().freeMemory()); } That method can be used to get the amount of free memory. $PTII/util/testsuite/memory.xml is a model that plots the free and total memory. The expression actor takes an input from a ramp that is always 0L so that the expression gets reevaluated each time the actor gets fired. I believe that the expression language works best with doubles. Offhand, I'm not sure of the details of the issues we ran into with non-double functions, but keep an eye out. -Christopher Christopher Hylands[EMAIL PROTECTED] University of California Programmer/Analyst Chess/Ptolemy/GSRC US Mail: 558 Cory Hall #1770 ph: (510)643-9841 fax:(510)642-2739 Berkeley, CA 94720-1770 home: (510)526-4010, (707)665-0131(office: 400A Cory) Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II under Mac OS X
I did a web start install of Ptolemy II under Mac OS 10.2.3 and everything went smoothly. While experimenting with Simple Signal Processing under Quick Tour, I discovered that I was unable to Look Inside the hierarchical blocks (e.g. Signal Source) since there is no right mouse button on my mouse. Normally contextual (popup) menus on a Mac are brought up by control-clicking, but control-clicking in Ptolemy II is defined to create a new relation. Does anyone have a work around? Is there another way to access the Look Inside function besides the popup? Is there a way to dissociate the control-click from the create new relation action, so that the Mac could use the control-click to trigger the contextual (popup) menu? Regards, Dick Fons American Superconductor Power Electronic Systems 15775 West Schaefer Court New Berlin, WI 53151 PH: 262-901-6000 (switchboard) FAX: 262-901-0100 PH: 262-901-6006 (direct) [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy and Matlab
In comp.soft-sys.ptolemy, [EMAIL PROTECTED] (Project Group) posted three messages concerning Ptolemy and Matlab. I've combined those messages into this message. Subject: Ptolemy matlab Hi, we would like to use the matlab code to enhance the simulation result in the vergil. Sounds interesting. We have set the run enviroment by following the web's instruction. And the test $PTII/ptolemy/matlab/demo/MatlabExpression/MatlabExpression.xml also successfully run. Our problem is: Is there any API for the use of this interface? We are not sure the way of linking matlab and Ptolemy actor- MatlabExpression. Ptolemy II 2.0.1 contains an interface to Matlab written by Zoltan Kemenczy and others at Research In Motion, Ltd. The Ptolemy II/Matlab interface uses the Java Native Interface (JNI) to pass values from Java to the C based Matlab dynamic library. See $PTII/ptolemy/matlab/Engine.java for details about the API. Online, the source can be found at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/ptolemy/matlab/Engine.java) and the javadoc output at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/doc/codeDoc/ptolemy/matlab/package-summary.html The second message was Subject: how can the Actor-- MatlabExpression link to a matlab .m file How can we configure the MatlabExpression Actor so as to link a matlab m file? Also how to configure the directory/path of the m file?? Subject: Ptolemy and Matlab From the previous message, So, you could develop m-files in Matlab and then call that code from a Ptolemy actor. I would like to know, what are the steps of executing this actor?? [Info from my earlier post about Matlab, where I [cxh] say:] So, you could develop m-files in Matlab and then call that code from a Ptolemy actor. I had not actually developed a m-file and called it using the Matlab interface, but it can be done. http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ptII2.0.1/ptolemy/matlab/Expression.java says: A Parameter named ipackageDirectories/i may be added to this actor to augment the matlab engine's search path during the firing of this actor. The value of this parameter should evaluate to a StringToken, e.g.: pre path1, path2, ... /pre containing a comma-separated list of paths to be prepended to the matlab engine search path before iexpression/i is evaluated. The list may contain paths relative to the directory in which ptolemy was started, or any directory listed in the current classpath (in that order, first match wins). See {@link ptolemy.data.expr.UtilityFunctions#findFile(String)}. After evaluation, the previous search path is restored.p This suggests that by adding a packageDirectories parameter, we can cause Matlab to search in our directories for our m-file. I was able to do this by creating a simple SDF model that looks like: Ramp-ptolemy.matlab.Expression-Display I first added a port called input to the Expression actor and set the expression to output=input; and verified that everything worked I then added a packageDirectories parameter to ptolemy.matlab.Expression actor by double clicking on the actor and adding the parameter Name: packageDirectories Default value: Class: ptolemy.data.expr.Parameter I changed the value of the expression and the packageDirectories to expression: output=mFileTest(input); packageDirectories: c:/cxh I then created c:/cxh/mFileTest.m that contains: function t = mFileTest(varargin) t=varargin{1} * 3.0; When I run the model, my mFileTest.m is found and the mFileTest function is found in it and the input is multiplied by 3.0 Note that I have very little experience using Matlab, so there are probably bettery ways to do this. The Ptolemy II 2.0.1 model I used is below: ?xml version=1.0 standalone=no? !DOCTYPE entity PUBLIC -//UC Berkeley//DTD MoML 1//EN http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd; entity name=mFileTest class=ptolemy.actor.TypedCompositeActor property name=_createdBy class=ptolemy.kernel.util.VersionAttribute value=2.0.1 /property property name=_vergilSize class=ptolemy.actor.gui.SizeAttribute value=[600, 400] /property property name=_vergilLocation class=ptolemy.actor.gui.LocationAttribute value=[104, 126] /property property name=SDF Director class=ptolemy.domains.sdf.kernel.SDFDirector property name=Scheduler class=ptolemy.domains.sdf.kernel.SDFScheduler /property property name=iterations class=ptolemy.data.expr.Parameter value=5 /property property name=vectorizationFactor class=ptolemy.data.expr.Parameter value=1 /property property name=_location class=ptolemy.moml.Location value=75.0, 45.0 /property /property entity name=Ramp class=ptolemy.actor.lib.Ramp property name=firingCountLimit class=ptolemy.data.expr.Parameter
Re: [Ptolemy] john m.: Convert parameters to ports
From: [EMAIL PROTECTED] (john m.) Subject: Convert parameters to ports Date: 3 Sep 2002 07:55:21 -0700 Dear all, I would greatly appreciate it somebody could point out a solution to the following problems: 1. Is there a way in Vergil (PtolemyII) to add ports to an actor and connect it to the parameters in the actor? I know it can be done on custom copies of the actors at the .java source level (implementing propably in the fire method) but I was looking for something quick in Vergil. 2. Is it possible and how to connect an input port to a user defined parameter in a composite actor? In other words can the value of a user defined parameter be updated by the output of some other actor? If this was possible then problem 1. can be solved by making composite actors containing the actors i need with ports by stting the internal parameters of the original actor in terms of the user parameters of the composite actor that contains them, which in turn (the user defined parameters) would be connected to the input port of the corresponding composite actor. Interestingly, I'm implemented this just a few weeks ago. In my implementation, you create an instance of PortParameter, and it automatically creates an associated ParameterPort. Below is the doc for the PortParameter class. Of course, this isn't in any release yet... It might just work to install the new classes on top of the 2.0.1 release, but there are two risks: 1) It won't work. 2) The implementation and/or interface will change in the next release. Let me know if you want to try... Edward // PortParameter /** A parameter that creates an associated port that can be used to update the current value of the parameter. The current value is set by the setCurrentValue() method and read by getToken(). The current value is distinct from the persistent value, which is set by setExpression() or setToken(), and accessed by getExpression(). Note that getToken() returns the current value, which is not necessarily the persistent value. The current value can be set in the usual way for a parameter (calling setToken() or setExpression()), or by feeding data into the associated port. Until the port receives data, the current value of the parameter is the same as the persistent value. After the port has received data, then the current value is that most recently received on the port since the last update of the persistent value. The getExpression() methods always return the persistent value, regardless of whether an override value has been received on the input port. On each call to getToken(), this parameter first checks to see whether an input has arrived at the associated port since the last setExpression() or setToken(), and if so, returns a token read from that port. Also, any call to get() on the associated port will result in the value of this parameter being updated. p When using this parameter in an actor, care must be exercised to read its value exactly once per firing by calling getToken(). Each time getToken() is called, a new token will be consumed from the associated port (if there is a token). If this is called multiple times in an iteration, it may result in consuming tokens that were intended for subsequent firings. Thus, for example, it should not be called in fire() and then again in postfire(). Moreover, in some domains (such as DE), it is essential that if a token is provided on a port, that it is consumed. In DE, the actor will be repeatedly fired until the token is consumed. Thus, it is an error to not call getToken() once per iteration. p If this is actor is placed in a container that does not implement the TypedActor interface, then no associated port is created, and it functions as an ordinary parameter. This is useful, for example, if this is put in a library, where one would not want the associated port to appear. @author Edward A. Lee @version $Id: PortParameter.java,v 1.11 2002/08/30 04:35:22 cxh Exp $ */ public class PortParameter extends Parameter { etc. } Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 2.0.1 is available for download
Ptolemy II 2.0.1 is available for download from http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0 Ptolemy II 2.0.1 includes the following features that were not present in Ptolemy II 2.0-beta: * Windows Installer * Design Document * Bug and Typo Fixes, see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0/ChangeLog.txt Ptolemy II is a software framework developed as part of the Ptolemy project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II. The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. The Ptolemy Project web page (http://ptolemy.eecs.berkeley.edu) contains much more information about the project. The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward A. Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer. Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Some of these are preliminary and/or experimental, as indicated below. Below is a text version of the web page that describes the release. ---start--- Ptolemy II 2.0.1 Release Notes Ptolemy II is a set of Java packages supporting heterogeneous, concurrent modeling and design. Its kernel package supports clustered hierarchical graphs, which are collections of entities and relations between those entities. Its actor package extends the kernel so that entities have functionality and can communicate via the relations. Its domains extend the actor package by imposing models of computation on the interaction between entities. Examples of models of computation include discrete-event systems, dataflow, process networks, synchronous/reactive systems, and communicating sequential processes. Ptolemy II includes a number of support packages, such as data, providing a type system, data encapsulation and an expression parser, plot, providing visual display of data, math, providing matrix and vector math and signal processing functions, and graph, providing graph-theoretic manipulations. The Ptolemy II Design Document describes the Ptolemy II design and the implementation of the Java classes. The Using Vergil chapter ( PDF - HTML) describes how to use Vergil. Complete List of Domains in Ptolemy II * CSP: communicating sequential processes, * CT: continuous-time modeling, * DE: discrete-event modeling, * DDE: distributed discrete events (experimental), * DT: discrete time, * FSM: finite state machines, * Giotto: periodic time-driven (experimental), * GR: 3-D graphics (experimental), * PN: process networks, * SDF: synchronous dataflow, * SR: synchronous/reactive (experimental), and * TM: timed multitasking (experimental). Platforms The core of Ptolemy II 2.0 is 100% Java, so it should work on any platform that has JDK1.3 We developed Ptolemy II 2.0 under Solaris 8 and Windows 2000 sr2 and with JDK1.3.1 and JDK1.4. Note that code generation only works under JDK1.3.0 or 1.3.1 because of limitations in Soot. Ptolemy II 2.0 will not compile under JDK1.2.2. The code generation facility requires JDK1.3.0, it will not work under JDK 1.4.0 Major Features that are new in Ptolemy 2.0 Modal Models (Xiaojun Liu, Edward A. Lee) A model model is one whose behavior depends on its mode of operation. A modal model in Ptolemy II is an FSM (finite state machine) combined hierarchically with other models. A state in the FSM represents a mode of operation, and can have a refinement that gives the behavior in that model. The refinement can be another FSM or some other model using some other Ptolemy domain. This example combines DE, FSM, and SDF to model a system where regularly sampled signals are perturbed by irregular events in time. Code Generation (Primary Author: Stephen Neuendorffer, Contributor: Christopher Hylands) This release includes a limited prototype of our code generation facility
Re: Ptolemy-Classic with KDE hangs at error messages
In comp.soft-sys.ptolemy, [EMAIL PROTECTED] (Peter Gunreben) writes: When using Ptolemy-Classic with KDE, the computer will hang for about 30 seconds if an error message occurs. The reason for this behavior is based in the procedure ::tycho::Dialog::wait. To overcome this problem you may comment out the following section in $PTOLEMY/tycho/kernel/gui/Dialog.itcl # if $autoraise { # If the user mouses in another window, raise # bind $instance Button +raise $instance # If the user moves the mouse in another window, raise # bind $instance Motion +raise $instance # } Thanks, I added a note about this to a couple of places in Ptolemy Classic 0.7.1 pages. In general, autoraise is a rather tricky thing to get right. If autoraise is not working, and a modal dialog box is invoked, then the UI will appear to freeze if the modal dialog is not visible. In general, modal dialogs are usually considered to be a 'bad thing', but sometimes they are unavoidable. I don't have a Linux box on hand to test this workaround, so I'm not going to fold it into the Ptolemy classic devel tree at this time, but it is listed as a bug, so we might look at it in the future. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: Displaying graphs and controlling the layout ofitems upon them
I'm confused... why are you not creating the models in Vergil? You should be able to just say: vergil filename.xml and it is open, perform the auto layout, and save the model. The way locations of icons are represented by Vergil is by attaching Location attributes to the objects in the model. I must be missing something here... Edward Lee From: [EMAIL PROTECTED] (Mike Price) Subject: Displaying graphs and controlling the layout of items upon them Date: 9 Aug 2002 02:13:02 -0700 I am trying to display a model as a graph and have been going around in circles in the JavaDoc pages! I have created a TypedCompositeActor in a Workspace and have successfully been able to create a Director, several Actors and links between them. This is then saved as a MoML file. However, when I open the model in Ptolemy II all of the components are stacked on top of each other. The auto-arrange feature works well and I would like to be able to use this. What I need to do first though is successfully open the model in the graph editor. I have been able to do this using VergilApplication filename but once the application opens I have no control over it from my application and rely on the user to re-arrange the icons, which is not acceptable. Are there any examples that show how a model can be opened as a graph and manipulated to re-arrange the icons displayed, or come to that, any examples other than the tutorial applets provided with the distribution? Many thanks, Mike Price. Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
RE: [Ptolemy] Re: higher order functions in Ptolemy II
Edward, We implemented a MultiContextComposite some time ago and use it to create multiple instances of the same model (e.g. logical channels of network protocols). In such a case, one would want to create N instances of the same model and as data arrives, route data to a particular (or all) instance(s) determined by some data element. This is a specialized form of HOF tailored towards the current PTII gui and execution environment. We have separated the problems of creating multiple instances (MultiContextComposite) from the problem of data routing to a particular instance (MultiContextController) and each may be used independently from the other. Below I will outline the behaviour of MultiContextComposite. If what's outlined below sounds as an acceptable approach, we would be happy to contibute the code to PTII. MultiContextComposite is derived from TypedCompositeActor and as such automatically supports all PTII vergil gui interactions as TypedCompositeActor. One has one predefined parameter, nContext that determines the number of instances (clones) to be created from the master. The master model is created using vergil in the same way as a TypedCompositeActor is created. MultiContextComposite input ports must not be multiports (for now) and may be connected to multiports or regular ports. During its preinitialize(), the master MultiContextComposite determines how its input ports are connected and creates additional relations in its container (the model it is embedded in) to connect the input ports of its clones (instances) to the same output port if that port is a multiport. If the output port is a regular port, the clones input port is linked to the already existing relation between the output port and the master's input port. MultiContextComposite output ports must not be multiports (for now) and must be connected to input multiports. The master MultiContextComposite creates additional relations to connect the output ports of its clones to the input port. Finally, after all these connections are made, the master's preinitialize() calls preinitalize() of the clones. From here on until wrapup() nothing special is needed. Type resolution to occur on all instances in the modified model, so does initialize(), the computation of schedules by directors of the master and clones, etc. We typically connect MultiContextComposite outputs to a Merge actor in the DE domain. Alternatively in SDF, one can use MultiContextComposite with Distributors and Commutators. During model wrapup(), the master MultiContextComposite deletes any relations created, unlinks any ports if needed, and deletes the clones it created. To re-sync vergil's model graph, a changerequest is also queued with the Manager. That's it... The description is almost as long as the code... :-) As far as MultiContextController is concerned, in general, it is similar to a Switch actor without a control input. Instead, the control value is computed based on input data. In our case, we use a (configurable) RecordToken fieldname (int-typed) that is looked up in the input RecordToken to determine which output channel (MultiContextComposite instance) to route data to. Regards, Zoltan Kemenczy Research in Motion Limited (www.rim.net) 305 Phillip St, Waterloo, Ontario Canada N2L 3W8 -Original Message- From: Edward A. Lee [mailto:[EMAIL PROTECTED]] Sent: July 30, 2002 3:13 PM To: Christopher Hylands Cc: [EMAIL PROTECTED] Subject: Re: [Ptolemy] Re: higher order functions in Ptolemy II From: [EMAIL PROTECTED] (Marcus Pang) Subject: higher order functions in Ptolemy II Date: 26 Jul 2002 14:02:56 -0700 I'd like to know if anyone has done any work on higher-order functions in Ptolemy II. Does anyone know if this is in Berkeley's to-do list? Thanks. Marcus Pang Marcus: This has been high on my to do list for some time, but I haven't found the time myself. Several in the group have talked about work in this direction, but I'm not aware of anything concrete that has happened yet. I would welcome some help with this. We could realize this pretty much exactly as in Ptolemy Classic, but there is one additional feature of Ptolemy II that suggests some richer possibilities. In Ptolemy II, models can be modified during an execution. Thus, one could build more dynamic HOF mechanisms. Our plan (if we ever get the bandwidth) is to implement in a ModelToken, which is a token that carries a model, a createModel() function in the expression language (that takes a filename or URL as an argument). Then, for example, an Apply actor would apply a set of inputs to a specified model. The model could be given by a parameter or input port (using the new PortParameter mechanism). Also, I would like to explore alternative visual representations... E.g., we could modify Look Inside for the Apply actor so that it shows the most recently seen model. Edward Edward A. Lee, Professor
Re: [Ptolemy] Re: higher order functions in Ptolemy II
From: [EMAIL PROTECTED] (Marcus Pang) Subject: higher order functions in Ptolemy II Date: 26 Jul 2002 14:02:56 -0700 I'd like to know if anyone has done any work on higher-order functions in Ptolemy II. Does anyone know if this is in Berkeley's to-do list? Thanks. Marcus Pang Marcus: This has been high on my to do list for some time, but I haven't found the time myself. Several in the group have talked about work in this direction, but I'm not aware of anything concrete that has happened yet. I would welcome some help with this. We could realize this pretty much exactly as in Ptolemy Classic, but there is one additional feature of Ptolemy II that suggests some richer possibilities. In Ptolemy II, models can be modified during an execution. Thus, one could build more dynamic HOF mechanisms. Our plan (if we ever get the bandwidth) is to implement in a ModelToken, which is a token that carries a model, a createModel() function in the expression language (that takes a filename or URL as an argument). Then, for example, an Apply actor would apply a set of inputs to a specified model. The model could be given by a parameter or input port (using the new PortParameter mechanism). Also, I would like to explore alternative visual representations... E.g., we could modify Look Inside for the Apply actor so that it shows the most recently seen model. Edward Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy-II and Java 1.4
Hi everybody, I am seeing a noticeable delay while droping actors into schematic pane window in Java 1.4. and this is not true for Java 1.3. Is this due to changes of DnD in Java 1.4 ? OR Does Ptolemy-II support Java 1.4 ? Advance thanks for your valuable answer. -karthik Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy-II and Java 1.4
Yes, Ptolemy II 2.0-beta supports Java 1.4. What platform are you running, and what is the precise version of Java you are running? To view the version of java, start up vergil and do File - New - Graph Editor and then View - JVM Properties The java.vm.version should be something like: java.vm.version = 1.4.0-b92 Under Windows 2000, I have not noticed a delay when dropping actors in 1.4.0-b92 or 1.4.1-beta I first tested this version: $ java -version java version 1.3.1_03 Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_03-b03) Java HotSpot(TM) Client VM (build 1.3.1_03-b03, mixed mode) and ran vergil and did some drag and drop, to get an idea about the speed: I then did reconfigured with 1.4.0-b92 by doing: PATH=/cygdrive/c/j2skd1.4.0/bin:$PATH java -version cd $PTII rm config.* ./configure bin/vergil This was with the following version of Java $ java -version java version 1.4.0 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92) Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode) Note that Java 1.4.0 has a bug where local applets that have spaces in the path name will not work. This bug is not present in Java 1.3.1_03 and 1.4.1-beta. The problem is that file:///C:/tmp/ptplot/ptolemy/plot/demo/Marks.htm works fine but file:///C:/tmp/pt plot/ptolemy/plot/demo/Marks.htm does not One other issue is that Soot does not work under Java 1.4.0, so if you want to use the SDF code generator, then you should use Java 1.3.1 The reason is that the virtual machine changed slightly between 1.3.1 and 1.4.0. -Christopher Hi everybody, I am seeing a noticeable delay while droping actors into schematic pane window in Java 1.4. and this is not true for Java 1.3. Is this due to changes of DnD in Java 1.4 ? OR Does Ptolemy-II support Java 1.4 ? Advance thanks for your valuable answer. -karthik Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Installing and Using Ptolemy II under Windows 2000
Bill, With JBuilder 5,6 or 7 Enterprise Edition, just create a project and set the Ptolemy folder as the sources folder of your project. You may have to click on the update button (like the update button in Internet Explorer), all the Ptolemy files will be added to the project. JBuilder Enterprise is not free, but is available under Unix and Windows plateforms. Another possible solution is Forte for Java from Sun. Xavier Bill Wood a écrit : Is Cygwin required for Ptolemy to be used once it is installed? Once built, can the Ptolemy directory tree be installed on any Windows machine and used (where useincludes defining new actors in Java, for example)? What are the minimal requirements to use Ptolemy? We've read the Windows installation material, but it is a little unclear on this point. I have potential users who are Unix-challanged :-) Thanks, -- Bill Wood Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
RE: Installing and Using Ptolemy II under Windows 2000
I'm in the process of putting the Ptolemy debug in JBuilder. I simply opened an empty new JBuilder 6 project. Then, with add files to project I collected the sources for Ptolemy (a bit tedious, as they are numerous). I compiled the project (It went seamless) and now I launch Ptolemy as the project in JBuilder debug mode, open my Ptolemy design with Vergil and debug the java code in it with the help of the environnement. It seems to work, but I have to get some more memory in my PC : After a couple of breakpoints the process fails with memory low exception. -Message d'origine- De: Edward A. Lee [mailto:[EMAIL PROTECTED]] Date: mardi 25 juin 2002 20:47 À: Bill Wood Cc: ptolemy Objet: Re: Installing and Using Ptolemy II under Windows 2000 You can certainly use Ptolemy II without Cygwin, but if you want to write new actors in Java, you need some way to compile Java. The makefiles shipped with Ptolemy II require Cygwin, but I believe you could use some other Java development environment, although it would require some setup, probably. Alternatively, you could probably get away with with just compiling the one actor you write, assuming you put the pertinent jar files into the CLASSPATH. It would be great to make the act of writing an loading new actors easier. It would also be nice to set it up so that they can be recompiled and reloaded without restarting the UI. But we haven't done these things. I don't think it be a very difficult enhancement, however. Edward At 12:39 PM 6/25/2002 -0500, Bill Wood wrote: Is Cygwin required for Ptolemy to be used once it is installed? Once built, can the Ptolemy directory tree be installed on any Windows machine and used (where useincludes defining new actors in Java, for example)? What are the minimal requirements to use Ptolemy? We've read the Windows installation material, but it is a little unclear on this point. I have potential users who are Unix-challanged :-) Thanks, -- Bill Wood --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Installing and Using Ptolemy II under Windows 2000
You can certainly use Ptolemy II without Cygwin, but if you want to write new actors in Java, you need some way to compile Java. The makefiles shipped with Ptolemy II require Cygwin, but I believe you could use some other Java development environment, although it would require some setup, probably. Alternatively, you could probably get away with with just compiling the one actor you write, assuming you put the pertinent jar files into the CLASSPATH. It would be great to make the act of writing an loading new actors easier. It would also be nice to set it up so that they can be recompiled and reloaded without restarting the UI. But we haven't done these things. I don't think it be a very difficult enhancement, however. Edward At 12:39 PM 6/25/2002 -0500, Bill Wood wrote: Is Cygwin required for Ptolemy to be used once it is installed? Once built, can the Ptolemy directory tree be installed on any Windows machine and used (where useincludes defining new actors in Java, for example)? What are the minimal requirements to use Ptolemy? We've read the Windows installation material, but it is a little unclear on this point. I have potential users who are Unix-challanged :-) Thanks, -- Bill Wood Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Wich version of Diva in ptolemy II 2.0beta?
Hi, In ptolemy II 2.0beta it seems like the diva version used defers from the one we can find on the Internet(ver 0.3 of april 2001). Specially about the new JCanvasPanner.class found in diva/toolbox package. The deal is that we used to have Scrollbars on the JCanvas of the _graphpanner(in GraphFrame - BasicGraphFrame). But now with the zoom and infinite _vergilSize features what to do ? JAD helps us to decompile this class but javadoc misses ;-) ! Anyone about how to find the diva source package used in ptolemy II 2.0beta ? Thanks Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Wich version of Diva in ptolemy II 2.0beta?
Yes, the version of Diva that is included in Ptolemy II 2.0-beta is different from Diva 0.3. I'll see if we can get the Diva group to build a source release. -Christopher Hi, In ptolemy II 2.0beta it seems like the diva version used defers from the one we can find on the Internet(ver 0.3 of april 2001). Specially about the new JCanvasPanner.class found in diva/toolbox package. The deal is that we used to have Scrollbars on the JCanvas of the _graphpanner(in GraphFrame - BasicGraphFrame). But now with the zoom and infinite _vergilSize features what to do ? JAD helps us to decompile this class but javadoc misses ;-) ! Anyone about how to find the diva source package used in ptolemy II 2.0beta ? Thanks --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
RE: Ptolemy Classic installation on Solaris (was RE: )
BHARADVAJ R PODDUTURI wrote: I am trying to install Ptolemy Classic on our unix machines at University Of Massachusetts at Amherst. I am having a problem installing it correctly. I have downloaded the tar files, untared them and also set the environment variables specified. but when I am running the following commands I am getting the following errors: 1) make bootstrap; make install; or any other make...it says it cannot find .obj/user/home/ptolemy/bin/ptarch or some other directories like lib, src, bin etc... 2) pigi; It says that it cannot find pigiRpC and also it cannot find ptarch I tried to install it on solaris machines. I tried to built it from both Prebuilt binaries and also from Scratchbut I am getting the same error. You don't mention what Unix machines you are using. Your problem looks very like a non-definition of PTARCH. Having built recently on Solaris 2.7 and 2.8, I suspect that your problem is with $PTOLEMY/bin/ptarch which enumerates appropriate settings of PTARCH for all known operating systems. 5 years on there are many new ones. In the particular case of Solaris 2.5.1, there is an extended naming convention that causes 2.5 and 2.5.1 to be treated the same although there is a trivial change in stdio.h that becomes serious if you inadvertently use a 2.5 build of the embedded gcc on 2.5.1. So for modern Solaris usage you might care to replace the following section of bin/ptarch sun4*:SunOS:5.5*:*) echo sol2.5 exit 0 ;; sun4*:SunOS:5.6*:*) echo sol2.6 exit 0 ;; by sun4*:SunOS:5.5.1:*) echo sol2.5.1 exit 0 ;; sun4*:SunOS:5.5*:*) echo sol2.5 exit 0 ;; sun4*:SunOS:5.6*:*) echo sol2.6 exit 0 ;; sun4*:SunOS:5.7*:*) echo sol2.7 exit 0 ;; sun4*:SunOS:5.8*:*) echo sol2.8 exit 0 ;; Fixing ptarch problems to identify new operating systems will give knock on problems because there is no $PTOLEMY/mk/config-$PTARCH.mk. This may be remedied by copying the most appropriate (latest) similar operating system: e.g. cp $PTOLEMY/mk/config-sol2.6.mk $PTOLEMY/mk/config-sol2.8.mk If you want to use a 'cfront' compiler such as the Sun C++ 4.x compiler rather than gcc, you will need to mend $PTOLEMY/mk/config-sol2.6.cfront.mk to define ARCHFLAGS after rather than before the inclusion of sol2.cfront. Don't even think about using an ISO C++ compiler. The widespread use of forward declarations such as class iostream; causes numerous errors. Ptolemy Classic works on the operating systems available 5 years ago when Ptolemy Classic matured. The evolution of C++ has induced severe bit rot, that is conveniently avoided when you use the bundled gcc. If you want to install with the minimum of effort you may prefer to use an old operating system. Regards Ed Willink E.D.Willink, Email: mailto:[EMAIL PROTECTED] Thales Research Ltd, Tel: +44 118 923 8278 (direct) Worton Drive, or+44 118 986 8601 (ext 8278) Worton Grange Industrial Estate, Fax: +44 118 923 8399 Reading, RG2 0SB ENGLAND http://www.computing.surrey.ac.uk/personal/pg/E.Willink (formerly Racal Research and Thomson-CSF) As the originator, I grant the addressee permission to divulge this email and any files transmitted with it to relevant third parties. *** This email and any files transmitted with it are intended solely for the use of the individual or entity to whom they are addressed and may not be divulged to any third party without the express permission of the originator. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thales Research Ltd. *** Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: ptolemy classic unfer Red Hat
Hi all I am using ptolemy classic under Linux Red Hat 7.2 whitout problems. I used the available binaries for Red Hat 6.x Mauricio. | Mauricio Alvarez Mesa | | Email: [EMAIL PROTECTED]Tel (574) 2105560 | Grupo de MicrolectrónicaDepartamento de IngenerÃa Electrónica | Universidad de AntioquiaMedellÃn Colombia -- -- Original Message --- From: tome anticic [EMAIL PROTECTED] To: BHARADVAJ R PODDUTURI [EMAIL PROTECTED] Sent: Thu, 16 May 2002 11:37:44 +0200 (CEST) Subject: Re: your mail I successfully installed ptolemy classic on Linux RedHat 6.2, 7.1, 7.3 (had some problems on 7.2) The source code and quick and easy instalation procedure can be found on http://trinity.irb.hr/alicedaq/index.html under new developments Tome On Wed, 15 May 2002, BHARADVAJ R PODDUTURI wrote: Dr.Lee, I am trying to install Ptolemy Classic on our unix machines at University Of Massachusetts at Amherst. I am having a problem installing it correctly. I have downloaded the tar files, untared them and also set the environment variables specified. but when I am running the following commands I am getting the following errors: 1) make bootstrap; make install; or any other make...it says it cannot find .obj/user/home/ptolemy/bin/ptarch or some other directories like lib, src, bin etc... 2) pigi; It says that it cannot find pigiRpC and also it cannot find ptarch I tried to install it on solaris machines. I tried to built it from both Prebuilt binaries and also from Scratchbut I am getting the same error. Can you guide me what the problem can be? thanks, Bharadvaj.. Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] -- Tome Anticic Rudjer Boskovic Institute Department of Experimental Physics Bijenicka 54 1 Zagreb CROATIA Phone: 385-1-4561-028 Fax: 385-1-4680-239 Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] --- End of Original Message --- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 2.0-beta feedback
Anyone want to provide feedback on the Ptolemy II 2.0-beta release? You can either email [EMAIL PROTECTED], post to the newsgroup or email me directly. Currently, I'm fixing bugs that are listed in the release notes, then I plan on working on the design doc. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 2.0-beta is available for download
Ptolemy II 2.0-beta is available for download from http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII2.0 Ptolemy II is a software framework developed as part of the Ptolemy project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II. The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. The Ptolemy Project web page (http://ptolemy.eecs.berkeley.edu) contains much more information about the project. The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward A. Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer. Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Some of these are preliminary and/or experimental, as indicated below. Below is a text version of the web page that describes the release. ---start--- Ptolemy II 2.0-beta Release Notes Ptolemy II is a set of Java packages supporting heterogeneous, concurrent modeling and design. Its kernel package supports clustered hierarchical graphs, which are collections of entities and relations between those entities. Its actor package extends the kernel so that entities have functionality and can communicate via the relations. Its domains extend the actor package by imposing models of computation on the interaction between entities. Examples of models of computation include discrete-event systems, dataflow, process networks, synchronous/reactive systems, and communicating sequential processes. the interaction between entities. Examples of models of computation include discrete-event systems, dataflow, process networks, synchronous/reactive systems, and communicating sequential processes. Ptolemy II includes a number of support packages, such as data, providing a type system, data encapsulation and an expression parser, plot, providing visual display of data, math, providing matrix and vector math and signal processing functions, and graph, providing graph-theoretic manipulations. The Ptolemy II design document describes the Ptolemy II design and the implementation of the Java classes. The design document is not included with Ptolemy II 2.0-beta, but will be shipped with the Ptolemy II 2.0 production release. In the interim, please see the Using Vergil chapter Complete List of Domains in Ptolemy II * CSP: communicating sequential processes, * CT: continuous-time modeling, * DE: discrete-event modeling, * DDE: distributed discrete events (experimental), * DT: discrete time, * FSM: finite state machines, * Giotto: periodic time-driven (experimental), * GR: 3-D graphics (experimental), * PN: process networks, * SDF: synchronous dataflow, * SR: synchronous/reactive (experimental), and * TM: timed multitasking (experimental). Platforms The core of Ptolemy II 2.0 is 100% Java, so it should work on any platform that has JDK1.3 We developed Ptolemy II 2.0 under Solaris 8 and Windows 2000 sr2 and with JDK1.3.1 and JDK1.4. Note that code generation only works under JDK1.3.0 or 1.3.1 because of limitations in Soot. Ptolemy II 2.0 will not compile under JDK1.2.2. The code generation facility requires JDK1.3.0, it will not work under JDK 1.4.0 Major Features that are new in Ptolemy 2.0 Modal Models (Xiaojun Liu, Edward A. Lee) A modal model is an FSM (finite state machine) combined hierarchically with other models. In our visual syntax, the system builder directly interacts with this hierarchical view. If you look inside the modal model, you will see a visual rendition of the FSM. If you create a state in this FSM, then you can create a refinement, and also you can look inside the state using the context menu on the state. The refinement can be another FSM or some other model using some other Ptolemy domain. For example, by using the CT domain (continuous time), one can easily build hybrid systems. Code
Re: Next Ptolemy II and DDE enhancements?
The following appeared on comp.soft-sys.ptolemy, below is my response, I'm sure that others will have some ideas as well. From: [EMAIL PROTECTED] (llmercy) Subject: Next Ptolemy II and DDE enhancements? Date: 10 Apr 2002 10:43:32 -0700 It sounds like the next version of Ptolemy II is getting close to completion. I have a few quick questions about Ptolemy II and the DDE domain in the next release: Yep, we are coming down to the wire on the release 1) Is the DDE still experimental or will it be stable? It is still experimental. Not much work has happened on dde. Recent changes in the devel tree (not the beta branch) broke dde and we are considering retiring it. dde needs a champion who is willing to develop it further. At this time, I'm not sure if there is anyone on site here at UC Berkeley who is interested in doing this. We would entertain collaborating with someone who wanted to further develop the dde domain and provide source code fixes and enhancements. 2) At one time there was talk of using RMI to distribute the actors in DDE. Is this implemented in the next release and if not, is it still being considered? No, this is not in Ptolemy II 2.0 We are not really considering this at this time 3) Is there support for doing checkpoints in the new version? If so, can they be used to restart a simulation from a checkpoint in the event of a crash? No, the next release does not support checkpoints. Ptolemy II never crashes :-) Seriously though, checkpoints would be nice, but we do not specific plans to implement checkpoints. BTW - I have a simple SDF model that is running in the foyer of the Donald O. Pederson Center where it displays a set of images using the full screen facility in JDK1.4. It has been running for weeks (months?) and has not crashed. 4) Is there support for running Monte Carlos in the next release? I think so. The FSM domain as been extended to perform multiple runs of refinement on a model I would appreciate any help with these questions. We're currently evaluating Ptolemy II for our work and one of our requirements is parallel distributed simulations. Any help in this endeavor would be very helpful. Yep, parallel distributed simulations are pretty tricky. In the past, people have tried to partition simulations and run actors and groups of actors over different processors. The big problem is that most networks, say 100Mb ethernet, have high latency, so this causes problems. Running standalone simulations in parallel seems to work a little better. Thank you. llmercy -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: [Ptolemy] Re: Keeping track of different instances.
This sounds like an interesting problem, but as you say, probably one that is not compatible with Vergil. It would be easy enough (and probably quite a bit of fun) to create a distinct visualization tool on top of diva to show these cells. You could, for example, show actors as small circles (you will have to place them), and not show connections, but rather have connections implied by proximate placing. Note that the Ptolemy kernel should have no difficulty with a model that creates actors and connections while it runs. Edward From: Marco Antoniotti [EMAIL PROTECTED] Subject: Keeping track of different instances. Date: 21 Jan 2002 17:28:36 -0500 Hi, I am investigating the use of Ptolemy to simulate biological systems. Of course there are several question regarding MoC's which I am sweeping under the carpet, but, apart from that, I have one question I'd like to ask. Suppose I want to simulate the process of cell division (nothing fancy, just have some internal timer that eventually causes the cell to either divide or die - this is a good enough approximation). I'd like a suggestion about what would be the best way to go ahead and put this into Ptolemy II. I am asking this because it is fairly obvious to me to write down a set of equations that do model the process at hand, yet from a low level computer scientist view, it'd be nice to actually model a cell division as a newCell = new Cell(); My (so far very superficial) understanding is that this is not something that you can easily achieve in Ptolemy II, especially using the Virgil GUI. Is that the case? Do I have other alternatives? Thanks Cheers - -- Marco Antoniotti NYU Courant Bioinformatics Grouptel. +1 - 212 - 998 3488 719 Broadway 12th Floor fax +1 - 212 - 995 4122 New York, NY 10003, USA http://bioinformatics.cat.nyu.edu Hello New York! We'll do what we can! Bill Murray in `Ghostbusters'. --- End of Forwarded Message ___ Ptolemy maillist - [EMAIL PROTECTED] http://www.gigascale.org/ptolemy/listinfo/ptolemy Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Batch running in Ptolemy II
Hi, I've been building a DE simulation of job assignment in a PC cluster using Ptolemy II under RedHat 7.2. I've put it together in Vergil using my own Actors, and it seems to be working the way I want it to. However I'd like to run it about 1000 times, and I don't want to do this by hand each time. There doesn't seem to be an iterations option like the the SDF domain has for DE. Is there anything simple I can do here, or will I have to work out how to use Ptjacl? I'm still quite naive about all of this, so apologies if I'm missing something obvious. I'd be grateful for any suggestions here. Thanks, Paul Crosby Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Fwd: Run times using Ptolemy II
Could you please tell me where to find the new version of the scheduler? I'm currently using version 1.0.1, downloaded from your website on 13 September. Best regards Chris Cox - Original Message - From: Stephen Andrew Neuendorffer [EMAIL PROTECTED] To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Sent: Wednesday, October 31, 2001 6:23 PM Subject: Re: Fwd: Run times using Ptolemy II I've recently made some improvements in the SDF scheduler that result in much faster scheduling times for exactly this type of model. The scheduler previously scheduled one firing at a time for each actor. Now the scheduler attempts to schedule the actor as many times as possible, based on the number of tokens at its input. This means that scheduling time is roughly O(model) instead of O(schedule). Your model is scheduled essentially instantaneously with the new scheduler. Steve At 08:40 AM 10/31/2001 -0800, Edward A. Lee wrote: Steve: You did some performance tuning on the SDF scheduler in response to reviews, right? Do you want to check this out? Edward From: Chris Cox [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Run times using Ptolemy II Date: Wed, 31 Oct 2001 10:46:30 - X-Mailer: Microsoft Outlook Express 5.50.4133.2400 Sender: [EMAIL PROTECTED] I've been writing simulations using the SDF model that contain a mix of different data rates. If the range of data rates in the simulation is large, then the initialisation and execution times can be excessive. The attached file is a simple example that multiplies two data series together. One data series is up-sampled by a user-specified sample rate factor. If I run the simulation with a sample rate factor of 64 for 64 iterations, then it runs very quickly. However if I run it with a sample rate factor of 4096 for 1 iteration, then it takes several seconds to initialise and execute, even though the number of multiplies should be the same. I've found this a big problem in more complex simulations. Can you give me any advice? Best regards Chris Cox Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Run times using Ptolemy II
I'vebeen writingsimulations using the SDF model that contain a mix of different data rates. If the range of data rates in the simulation is large, then the initialisation and execution times can be excessive. The attached file is a simple example that multiplies two data series together. One data series is up-sampled by a user-specified sample ratefactor. If I run the simulation with asample ratefactor of 64 for 64 iterations, then it runs very quickly. However if I run it with a sample ratefactor of 4096 for 1 iteration, then it takes several seconds to initialise and execute, even though the number of multiplies should be the same. I've found this a big problem in more complex simulations. Can you give me any advice? Best regards Chris Cox ?xml version=1.0 standalone=no? !DOCTYPE entity PUBLIC -//UC Berkeley//DTD MoML 1//EN http://ptolemy.eecs.berkeley.edu/xml/dtd/MoML_1.dtd; entity name=Avoid class=ptolemy.actor.TypedCompositeActor property name=_vergilSize class=ptolemy.actor.gui.SizeAttribute value=[597, 454] /property property name=_vergilLocation class=ptolemy.actor.gui.LocationAttribute value=[-6, 16] /property property name=SDF class=ptolemy.domains.sdf.kernel.SDFDirector property name=iterations class=ptolemy.data.expr.Parameter value=64 /property property name=vectorizationFactor class=ptolemy.data.expr.Parameter value=1 /property property name=_location class=ptolemy.moml.Location value=78.0, 44.0 /property /property property name=sampleFactor class=ptolemy.data.expr.Parameter value=64 /property entity name=Const class=ptolemy.actor.lib.Const property name=value class=ptolemy.data.expr.Parameter value=1 /property docCreate a constant sequence/doc property name=_location class=ptolemy.moml.Location value=77.0, 132.0 /property port name=output class=ptolemy.actor.TypedIOPort property name=output/ /port port name=trigger class=ptolemy.actor.TypedIOPort property name=input/ property name=multiport/ /port /entity entity name=Const2 class=ptolemy.actor.lib.Const property name=value class=ptolemy.data.expr.Parameter value=1 /property docCreate a constant sequence/doc property name=_location class=ptolemy.moml.Location value=210.0, 250.0 /property port name=output class=ptolemy.actor.TypedIOPort property name=output/ /port port name=trigger class=ptolemy.actor.TypedIOPort property name=input/ property name=multiport/ /port /entity entity name=UpSample class=ptolemy.domains.sdf.lib.UpSample property name=factor class=ptolemy.data.expr.Parameter value=sampleFactor /property property name=phase class=ptolemy.data.expr.Parameter value=0 /property property name=_location class=ptolemy.moml.Location value=205.0, 131.0 /property port name=input class=ptolemy.domains.sdf.kernel.SDFIOPort property name=input/ property name=tokenConsumptionRate class=ptolemy.data.expr.Parameter value=1 /property property name=tokenInitProduction class=ptolemy.data.expr.Parameter value=0 /property property name=tokenProductionRate class=ptolemy.data.expr.Parameter value=0 /property /port port name=output class=ptolemy.domains.sdf.kernel.SDFIOPort property name=output/ property name=tokenConsumptionRate class=ptolemy.data.expr.Parameter value=0 /property property name=tokenInitProduction class=ptolemy.data.expr.Parameter value=0 /property property name=tokenProductionRate class=ptolemy.data.expr.Parameter value=64 /property /port /entity entity name=MultiplyDivide class=ptolemy.actor.lib.MultiplyDivide property name=_location class=ptolemy.moml.Location value=357.0, 175.0 /property port name=multiply class=ptolemy.actor.TypedIOPort property name=input/ property name=multiport/ /port port name=divide class=ptolemy.actor.TypedIOPort property name=input/ property name=multiport/ /port port name=output class=ptolemy.actor.TypedIOPort property name=output/ /port /entity entity name=Discard class=ptolemy.actor.lib.Discard property name=_location class=ptolemy.moml.Location value=481.0, 176.0 /property port name=input class=ptolemy.actor.TypedIOPort property name=input/ property name=multiport/ /port /entity relation name=relation class=ptolemy.actor.TypedIORelation /relation relation name=relation3 class=ptolemy.actor.TypedIORelation /relation
Re: Conditional initial state in FSM domain of Ptolemy II
It is not currently supported, although I agree that it would be a good thing to have... As a workaround, you can have a dummy initial state with guarded transitions out of it. This is not exactly equivalent, of course, because it takes one iteration to make those transitions. Edward Lee At 12:58 PM 10/31/2001 +, [EMAIL PROTECTED] wrote: I've read Bilung Lee's thesis on * charts, and thought the notion of 'conditional initial state' would be great for handling inter- hierarchy interaction of FSM states (, essential capability for me). But, It's very hard to find related information on that within the document included in the current release of Ptolemy II. And, I wonder if the 'conditional initial state' feature is supported in the current release of Ptolemy II. Any comments? Thanks in advance. Sunghyun Lee Seoul National Univ. Design Automation Lab. Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Simulation in the BDF domain (Ptolemy Classic)
Offhand, I'm not sure. I'm not that familiar with BDF. src/domains/bdf/kernel/BDFClustPort.cc is where the error message comes from: // The following procedures are used in the propagation of arc // counts from outer to inner arcs. int BDFClustPort::maxArcCount() { BDFClustPort* p = this; while (p !p-geo()) p = p-outPtr(); if (p) return p-geo()-maxNumParticles(); Error::abortRun(*this, can't find outer geodesic); return 0; } Seems like p is getting set to null somewhere. -Christopher Hi, I am currently developing a testbench for a communication system using Ptolemy Classic 0.7p1(OS: Solaris 2.5). At some place in the chain, I have a pair of interpolation/decimation filters, which introduce unnecessary samples. I would like to discard these extra samples. In my opinion, one of the most appropriate way is to put a Switch star (BDF domain with default-BDF target). Unfortunately, though it works properly for some parameters (even if the schedule is quite strange), I get the following error message: Error:.bagX.bagY.starname...: can't find outer geodesic for some other sets of parameters that should work too. I cannot find any reference to this problem (I am a beginner). Any suggestion? Thanks --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Simulation in the BDF domain (Ptolemy Classic)
Hi, I am currently developing a testbench for a communication system using Ptolemy Classic 0.7p1(OS: Solaris 2.5). At some place in the chain, I have a pair of interpolation/decimation filters, which introduce unnecessary samples. I would like to discard these extra samples. In my opinion, one of the most appropriate way is to put a Switch star (BDF domain with default-BDF target). Unfortunately, though it works properly for some parameters (even if the schedule is quite strange), I get the following error message: Error:.bagX.bagY.starname...: can't find outer geodesic for some other sets of parameters that should work too. I cannot find any reference to this problem (I am a beginner). Any suggestion? Thanks Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
ptolemy
Hello, I installed j2re-1_3_0_01-win.exe, j2sdk-1_3_0-update1-doc.zip and i copied ptII1_0ptinybeta2setup.exe but when i open the vergil, it write the application JVM not valide. Thinks. ___ Satire Arabic style. Find it all on Cartoonopia http://www.arabia.com/cartoonopia/ Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
ptolemy
Hello, I installed j2re-1_3_0_01-win.exe et j2sdk-1_3_0-update1-doc.zip. but when i would installed ptII1_0ptinybeta2setup.exe, it serach java 1.3 but d'ont found. Plaese telle me the probleme because i need Vergil for graphical interface. Thinks. ___ Satire Arabic style. Find it all on Cartoonopia http://www.arabia.com/cartoonopia/ Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II on CD-ROM
G'day, For testing purposes I would like to put a copy of the installed Ptolemy on CD-ROM. Unfortunately it doesn't work without setting some parameters (probably java classpath and so on). Can somebody tell me what the parameters are and how to get Ptolemy on a CD? Thank you Chris. Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy II on CD-ROM
I'm slightly confused, are you planning on creating your own cd with Ptolemy on it, or having problems with the Ptolemy II cd we supplied at the miniconference? Also, I'm assuming we are talking about the Windows platform here. If you are having problem installing Ptolemy II from the cd we distributed, then send me the error messages, and see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/download.htm for instructions. Building your own cd is somewhat more complex than it should be. The easiest thing to do from the user's point of view is to assume that Cygwin is not installed. This makes the release engineer's job harder. Users without Cygwin will need to set their classpath to point to the installation and include the lib/diva.jar file. $PTII/bin has some simple .bat scripts that attempt to do the right thing. I used Installshield Multiplatform to create a .exe installer. Installshield MP has several bugs and limitations that make it hard to use, see http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/download.htm I'm probably going to look at ZeroG and JExpress for the next release. If you want a really small installation that includes just SDF, try downloading the Ptiny version of Ptolemy II and shipping only those files. Users with Cygwin can follow the installation instructions at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/download.htm and run configure. -Christopher G'day, For testing purposes I would like to put a copy of the installed Ptolemy on CD-ROM. Unfortunately it doesn't work without setting some parameters (probably java classpath and so on). Can somebody tell me what the parameters are and how to get Ptolemy on a CD? Thank you Chris. --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: UML model of Ptolemy II
Ed.Willink wrote: Can anyone recommend a good tool for drawing and maintaining UML diagrams during the design phase? ArgoUML looks promising... http://argouml.tigris.org/ The goal of the ArgoUML project is to build an object oriented design tool that is: A joy to use (we really mean it), Actually helpful to designers when they are making design decisions, Completely open source Java, Leading edge (supports the latest UML specifications), Modular and extensible, Integrated with the web and other Tigris tools. -Dan Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: UML model of Ptolemy II
Sure... The source code is in the distribution. Rose should be able to read it, right (?) Edward Lee At 04:50 PM 6/1/2001 +0200, Vincent Arnould wrote: Hi all, Is it possible to get the UML model of Ptolemy II in a Rose (.mdl) or Rahpsody or another format file? Kind regards, Vincent Arnould Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Infobus Ptolemy II
Daniel =?iso-8859-1?Q?L=E1zaro?= Cuadrado [EMAIL PROTECTED] writes: Hi everybody! I would like to know whether you have ever considered to use the Infobus technology within Ptolemy II and if so, what was the result (if there is any useful applicability of it to the projet, why or why not). Thanks a lot! http://java.sun.com/products/javabeans/infobus/ says: InfoBus enables dynamic exchange of data between JavaBeansTM component architecture by defining a small number of interfaces between cooperating Beans and specifying the protocol for use of those interfaces. The protocols are based on a notion of an information bus. All components which implement these interfaces can plug into the bus. As a member of the bus any component can exchange data with any other component in a structured way, including arrays, tables, and database rowsets. I'm not very familiar with InfoBus, but it looks like InfoBus uses some sort of dataflow semantics as opposed to event driven semantics. http://esuite.lotus.com/devsite/devsite.nsf/Linking+View/eSuite+InfoBus+Technology+Brief says: The InfoBus is similar to a hardware bus. Multiple consumers can receive and use data published by a producer, and a consumer can easily obtain data from multiple producers. In fact, a request for data can elicit multiple responses. Multiple conversations can occur simultaneously without requiring anything special from the participating components. When we were first developing Ptolemy II, we looked at Java beans in general, and sort of wondered what the model of computation was. Classic Java Beans are sort of event driven. I'm not sure what can be said about determinacy. I'm not sure if InfoBus was around when we started in on Ptolemy II. Ptolemy II is a framework for developing models that use various models of computation. For example, I'm not sure how we would use InfoBus to implement continuous time semantics. InfoBus looks interesting though, we should take a good look at it. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Infobus Ptolemy II
Hi everybody! I would like to know whether you have ever considered to use the Infobus technology within Ptolemy II and if so, what was the result (if there is any useful applicability of it to the projet, why or why not). Thanks a lot! begin:vcard n: ; tel;cell:0045 26930980 tel;fax:0045 98151583 tel;work:0045 96358637 x-mozilla-html:FALSE org:Aalborg University;Embedded Systems (http://embsys.auc.dk/) version:2.1 email;internet:[EMAIL PROTECTED] title:Ph.D. Student adr;quoted-printable:;;Niels Jernes Vej 12 room A5-220=0D=0A;9220 Aalborg Ø;;;Denmark fn:Daniel Lázaro Cuadrado end:vcard
Creating a stdin/stdout filter with Ptolemy II
I would like to use Ptolemy II to create a filter that reads from standard input, and creates output on standard output. Are there specialized sources and sinks for this purpose? Greg Rohling Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
ptolemy
Hello, Please i want join the forum of groupes ptolemy-Hackers, i want for that the site of article or transparent about: *ptolemy+image processing. *ptolemy+systemc. Thinks at all. ___ Know the meaning of ALL Arabic names! Click here http://www.arabia.com/asmaa Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: pthread of Ptolemy in Linux system
I believe that the problem with the PN domain under Linux was a compilation problem, but this was so long ago, I'm not really sure. On 98/03/26 I folded the following changes in from Wolfgang Reimer into mk/config-linux.mk: change optimization flags to get better performance with Pentium - add -D_REENTRANT to ARCHFLAGS (necessary for pthtreads) - add code to determine setting for variables INCLUDE_MATLAB, INCLUDE_MATHEMATICA, and INCLUDE_PN_DOMAIN I poked around in my logs, but did not find any further explanation. I'm surprised that adding -lpthread to the link command is causing a crash, it must be that some function that is usually pulled in from another library at runtime is being pulled in from the pthread library instead. The way I would track down your error message is to create a ptcl binary with debugging and then run ptcl under a debugger such as gdb. This would at least tell you where the failure is occuring. Threads under C are somewhat difficult to work with. You may want to consider using Ptolemy II and Java threads instead. Several years ago, I found it very very difficult to port threaded C code between platforms. This situation has probably improved, but I would still look at Java threads instead. -Christopher Hi ptolemy hackers! My name is Chaeni Rhee and I'm in PeaCE Team at Seoul National University i n Korea. May I ask you a question about pthread in Linux? There is not a ' pn domain ' in Linux Ptolemy. Why? Are there some problems? I develop PeaCE system and want to use pthread in Linux. I included a pthread library in makefile and compiled. There is no error message. But when PeaCE starts to run, an error happens like --- rshCommand: mkdir -p $HOME/PEACE_SYSTEMS/CGC Error accessing memory address 0x40041b14: No such process. --- In source codes, no pthread code is included. Just -lpthread is added in makefile. I hope you can give me help... --- Chaeni. --- - Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Internationalization workaround to Ptolemy II
Johan Ecker pointed out that Ptolemy does not behave well under Windows machines that are not using the US locale. Other people had similar problems in at the Miniconference. Johan wrote: Floating Point Delimiter Ptolemy gave tons of exception when started on my laptop which has Swedish settings as default. The Swedish standard for floating points are "2,3", i.e. using a comma as delimiter. However, I think most Swedes are adaptable and do not mind using a dot instead since this more or less has become the world standard, at least in engineering. The problem is that I needed to change my global settings to start Ptolemy and this is quite annoying. I guess that the expression parser should just ignore the delimiter settings on the local computer and always use dot, otherwise Ptolemy will crash using its own init files. Johan found a fix: The internationalization problem is easily fixed by adding "java.util.Locale.setDefault(java.util.Locale.US);" at a suitable place in Vergil. I tested with the following modified constructor and it seems to work. public VergilApplication(String args[]) throws Exception { super(args); java.util.Locale.setDefault(java.util.Locale.US); } The file to edit is: ptII/ptolemy/vergil/VergilApplication.java You would then need to recompile Ptolemy II At this time, we don't have plans to roll out another Windows installer, but if we do, this change will be in it. -Christopher ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
RE: Ptolemy Miniconference
I would like to say "Thank you" to the hard-worked organizers for arranging such an event. It not only gave us the opportunity to present our works, but more importantly brought together a cross-functional yet highly correlated group of people to discuss various issues and opportunities. Regards, Hasan Saleheen Corning Incorporated -- From: Edward A. Lee[SMTP:[EMAIL PROTECTED]] Sent: Wednesday, March 28, 2001 12:30 AM To: [EMAIL PROTECTED] Subject: Ptolemy Miniconference For those of you who missed the big event, you may be interested in learning that the 4-th Biennial Ptolemy Miniconference, held at the Claremont Hotel last Thursday and Friday, drew 93 people from 44 organizations worldwide. It turned in to far too big an event to call a "miniconference." We had 24 talks and 16 posters, with over half of the presentations and posters coming from outside Berkeley. We gave a tutorial on Ptolemy II on Friday afternoon, at which approximately 40 of the participants worked hard to earn a fashionable Ptolemy II sticker to put on their computers... Attendees also received Ptolemy shirts :-) We hope to soon have all presentation materials up on the Ptolemy website... Edward Lee Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy Miniconference
For those of you who missed the big event, you may be interested in learning that the 4-th Biennial Ptolemy Miniconference, held at the Claremont Hotel last Thursday and Friday, drew 93 people from 44 organizations worldwide. It turned in to far too big an event to call a "miniconference." We had 24 talks and 16 posters, with over half of the presentations and posters coming from outside Berkeley. We gave a tutorial on Ptolemy II on Friday afternoon, at which approximately 40 of the participants worked hard to earn a fashionable Ptolemy II sticker to put on their computers... Attendees also received Ptolemy shirts :-) We hope to soon have all presentation materials up on the Ptolemy website... Edward Lee Edward A. Lee, Professor 518 Cory Hall, UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 1.0.1 available for download
Apologies, but in the rush to get a master CD out for the Ptolemy Miniconference Tutorial, there are three small errors that prevent rebuilding the Ptolemy II 1.0. These errors primarily affect Windows users who use the Installshield Windows installer to install Ptolemy II in a directory that has a space in the pathname, such as c:\Program Files\Ptolemy\Ptolemy II 1.0 and who want to rebuild Ptolemy II. I've created new installers and bumped the version number up to 1.0.1. I considered creating a patch, but decided that building a patch would probably cause more trouble on user systems than it is worth. Users who do not want to rebuild can stick with Ptolemy II 1.0, there is no need to upgrade to Ptolemy II 1.0.1 People attending the Ptolemy II Miniconference tutorial should either make the fixes below or install Ptolemy II 1.0.1. configure.in and configure -- Running configure fails if the pathname to the Ptolemy II installation directory contains one or or more spaces. To replicate the bug, run the following commands inside bash: PTII=c:\\Program\ Files\\Ptolemy\\Ptolemy\ II\ 1.0 export PTII cd "$PTII" ./configure The following messages will appear in the configure output: checking for Java 3D... cd: can't cd to ./config cd: can't cd to /cygdrive/c/Program checking for javax.sound... cd: can't cd to ./config sed: can't read confdefs.h: No such file or directory creating ./config.status creating mk/ptII.mk sed: can't read ./mk/ptII.mk.in: No such file or directory creating bin/ptinvoke sed: can't read ./bin/ptinvoke.in: No such file or directory Workaround: One workaround is to install Ptolemy II in a directory that does not contain a space. Another workaround might be to to mount the Ptolemy II home directory as a separate network drive. Fix: Edit $PTII/configure and search for 'cd $' and place double quotes around the argument to the cd command. The first couple of 'cd $' commands at lines 670 PTJAVA_DIR=`cd $DEFAULT_JDK; pwd` and 676 PTJAVA_DIR=`cd $DEFAULT_JDK; pwd` do not need to be fixed, $DEFAULT_JDK will never have a space in it. At line 830, change: cd $srcdir/config To: cd "$srcdir/config" At line 847, change: cd $startdir To: cd "$startdir" At line 1182, change: cd $srcdir/config To: cd "$srcdir/config" At line 1195, change: cd $startdir To: cd "$startdir" At line 1209, change: cd $srcdir/config To: cd "$srcdir/config" At line 1220, change: cd $startdir To: cd "$startdir" In theory, similar changes should be made to configure.in, but most since most developers will not be otherwise modifying the configuration environment by editing configure.in running autoconf and generating a new $PTII/configure file, then editing only $PTII/configure will be sufficient bin/ptinvoke.in --- There is a similar problem in with space names in bin/ptinvoke.in If you run $PTII/bin/ptjacl Then you may see: basename: too many arguments Try `basename --help' for more information. The fix is to edit line 129 and change case "`basename $0`" in To: case `basename "$0"` in and to edit line 228 and change if [ ! -f $PTJACL_JAR ]; then To if [ ! -f "$PTJACL_JAR" ]; then and then to run cd "$PTII"/bin make ptolemy/configs/makefile Here, the problem is that the Windows installer does not include introPtiny.htm and vergilConfigurationPtiny.xml. This problem is not in the ptII1.0.src.tar.gz file, only in the Windows installer. The fix is to edit $PTII/ptolemy/configs/makefile and remove these lines: introPtiny.htm \ vergilConfigurationPtiny.xml \ An alternative fix is to run these two commands: touch $PTII/ptolemy/configs/introPtiny.htm touch $PTII/ptolemy/configs/vergilConfigurationPtiny.xml -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 1.0 is available for download
Ptolemy II 1.0 is available for download from http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0 Ptolemy II is a software framework developed as part of the Ptolemy project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II. The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. The Ptolemy Project web page (http://ptolemy.eecs.berkeley.edu) contains much more information about the project. The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward A. Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer. Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Some of these are preliminary and/or experimental, as indicated below. CT: continuous-time modeling DE: discrete-event modeling FSM: finite state machines PN: process networks SDF: synchronous dataflow CSP: communicating sequential processes (experimental) DDE: distributed discrete events (experimental) DT: discrete time (experimental) Giotto: periodic time-driven (experimental) GR: 3-D graphics (experimental) Ptolemy II contains the following features: * Vergil: A block-diagram editor for building models * User interface utilities for applets and applications * Live editing of models and parameters * Network integration * A sophisticated type system including Type constant propagation, Record Types, Array types, and Fixed-point type * An expression language for parameter expressions * Data and domain polymorphic component library * A polymorphic expression actor * A very simple XML file format called MoML * A flexible signal plotter * 3-D graphics animation infrastructure * Hierarchically interoperable domains * On-line documentation (in HTML) * Audio signal processing capabilities The Ptolemy II website contains Ptolemy II applets that can be run by using the Java Plug-in 1.3. Ptolemy II is available for download in two versions: * Ptiny - which can be used to build models in CT, DE, FSM, PN and SDF using built-in actors. The Ptiny version is a 5.6Mb download for Windows. * Full - which includes other domains and support for developing custom actors. The Full version is a 20Mb download for Windows or a 5.3Mb source only download for Windows and Unix. Tutorial If you are attending the Ptolemy II Tutorial at the Ptolemy Miniconference, please install: Ptolemy II 1.0 (the full version) http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0 JDK1.3.0 (The JDK, not the JRE) http://java.sun.com/j2se/1.3/ Cygwin (make and other command line tools) http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/cygwin.htm Mail Aliases This email is being sent to the ptolemy-hackers and ptolemy-interest mail aliases, I apologize in advance if anyone gets duplicate copies. To unsubscribe to ptolemy-hackers, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the body of the email message. To unsubscribe to ptolemy-interest, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the body of the email message. -Christopher Christopher Hylands[EMAIL PROTECTED] University of California Ptolemy/Gigascale Silicon Research Center US Mail: 558 Cory Hall #1770 ph: (510)643-9841 fax:(510)642-2739 Berkeley, CA 94720-1770 home: (510)526-4010 (Office: 400A Cory) ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: A question combining HOF bus and multiinput in Ptolemy
Hi, Sorry for the delay in replying, but I was trying to see just where the problem occured. In the end it turns out that the same simulation, running on the same system (RedHat 6.2 egcs 2.91.66) works fine on one machine, and has the below mentioned behavior on the other. It makes no sense at all. So right now I am simply using the other system. If I figure out what is happening and if it is related to Ptolemy, I will post it here. As a side note, the simulation involves simulating the ALICE data acqusition system and works extremely well. ALICE is one of the 4 future big CERN experiments. The code etc will soon be posted on the web. On Tue, 27 Feb 2001, Tom Lane wrote: Tome Anticic [EMAIL PROTECTED] writes: I am working with Ptolemy in the DE domain, and keep encountering problems when I have a multiinput (or output) into a galaxy and the input goes immediately into a bus-interleave (or deinterleave). Hmm... I recall having fixed a number of problems in this general area back in the summer of '97. However, I think all my fixes made it into Ptolemy 0.7.1, so if you're using 0.7.1 or 0.7.2 then there's no help to be had there. Can you provide details of the schematic that isn't working for you? regards, tom lane Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Invoking octave from Ptolemy
Hi everybody, I wanna invoke OCTAVE to do some operations from a Ptolemy star. What I have done so far is modify the .octaverc file in the proper directory and, in the star code, include a line like: system("octave"); If I write and compile a C program OUTSIDE Ptolemy including the line above, it works, but when I add this same command to the star code (and I run it whithin Ptolemy) it doesnt!!!. No messages of error of any kind are displayed by the shell, as if it hadnt executed anything. Theres more; if I invoke the C program I have built outside Ptolemy from a Ptolemy star with a line like 'system("./testprogram")', where 'testprogram' is the executable file created by gcc, the same behavior is observed. Conversely, if that executable file is invoked from the shell octave the invokation of octave is completed successfully. (useful?) Info: Im using Ptolemy version 0.7.1p1.pigiRpc under Debian GNU/Linux 2.0 The shell is sh.All I have described doesnt work with octave but does whith shell commands like 'ls' or 'cd'. Can anybody help me ?? THANK YOU SO MUCH. ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
A question combining HOF bus and multiinput in Ptolemy
Hi, I am working with Ptolemy in the DE domain, and keep encountering problems when I have a multiinput (or output) into a galaxy and the input goes immediately into a bus-interleave (or deinterleave). If the buses have widths specified by a parameter, then Ptolemy does not recognize the bus width and gives errors to the effect "too many inputs for outputs...". On the other hand if the buswidth is explicitly put it, say 12, then everything is OK. This effect only happens with bus-interleave/deinterleave. I bypassed this problem by having the input in the galaxy go first to a star which redirects the message to the businterleave, but this is kind of ugly, and will surely slow the simulation ( it is a huge system, so any significantslow down is not good). Having the bus width as a parameter is rather important for my simulation, I'm afraid... Has anybody encountered this problem, and if so, is there a solution? Thank you very much Tome Anticic [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: A question combining HOF bus and multiinput in Ptolemy
Tome Anticic [EMAIL PROTECTED] writes: I am working with Ptolemy in the DE domain, and keep encountering problems when I have a multiinput (or output) into a galaxy and the input goes immediately into a bus-interleave (or deinterleave). Hmm... I recall having fixed a number of problems in this general area back in the summer of '97. However, I think all my fixes made it into Ptolemy 0.7.1, so if you're using 0.7.1 or 0.7.2 then there's no help to be had there. Can you provide details of the schematic that isn't working for you? regards, tom lane Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Problem related to Ptolemy Classic
Hello I would appreciate if some one could give any insight into this. I tried to implement the modem demo (provided in the Ptolemy Classic DIstribution) myself in the CGC domain. However, whenever I used a "delay" instance in one of its modules and tried to save the module as a galaxy I got this error message: "You must specify a Target to access Pragmas. It cannot be parent. Delay or bus marker intersects more than one path. Failed to process instances. " This might sound naive but how should I specify a target in the CGC so that I donot get this error message. Thanks Rahul Katoria ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Sinewave.xml not found [was Re: Problem related to Ptolemy Classic]
Satyanarayana Kakarlamudi [EMAIL PROTECTED] writes: I am trying to run a sample program modulation.xml using vergil in ptolemyII 1.But i am getting an error message like ptolemy.actor.lib.Sinewave class not found.I checked for this class in ptolemy.actor.lib package.But the class is not found. Can anyone please help me in this aspect. ptolemy.actor.lib.Sinewave is an xml file, not a Java class. MoML can access both xml files and Java classes. ptolemy/actor/lib/Sinewave.xml is present in the ptolemy.jar file that we ship with Ptolemy II. Under Unix or Windows with Cygwin, you can look inside the jar file and search for Sinewave with: cxh@maury 3% jar -tvf ~/ptII/ptolemy/ptolemy.jar | grep Sinewave 3644 Fri Feb 23 23:30:50 PST 2001 ptolemy/actor/lib/Sinewave.xml The problem you are having sounds like some sort of classpath issue. Check out http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0/ptII1.0/doc/troubleshooting.htm and try starting vergil by hand. To proceed further, I would need to know: What operating system you are operating under (Windows 2000 SR1? Solaris 7?) How did you install Ptolemy II? If you used the Windows Installer, Which installer did you use? The Ptiny version or the full version? What is the exact version of Ptolemy II you are running? Ptolemy II 1.0beta Ptolemy II 1.0beta2 Ptolemy II ptiny 1.0beta Ptolemy II ptiny 1.0beta2 Under Windows, the version is listed in the Start-Ptolemy menu and in the initial splash screen What version of Java you are running? (Run java -version, or use our Java Version Applet ) I have one more doubt.Should the classes referred for instantiation be only java classes or can they be user-defined.if they r user-defined what language will be good for doing that.i am comfortable with C.Can i write in that. If you download the full version of Ptolemy II, then you can write your own actors in Java. Ptolemy II does not directly support actors written in C. You could in theory write actors in C and use the Java Native Interface (JNI) to interface between Java and C. However, using JNI is fairly difficult, you would be better off learning Java and using it directly. -Christopher Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Problem related to Ptolemy Classic
[EMAIL PROTECTED] writes: "You must specify a Target to access Pragmas. It cannot be parent. Delay or bus marker intersects more than one path. Failed to process instances. " This might sound naive but how should I specify a target in the CGC so that I donot get this error message. I don't think you want to specify a target in the galaxy. parent is probably ok. The real problem is with the delay marker; the message about accessing pragmas seems to come up whenever there is any error inside a galaxy -- ignore it and it will go away when you fix the real problem. I've never seen the "intersects more than one path" error, but my guess is that you have drawn a wire over the top of another one and put a delay on both. Also, be aware that you cannot put a delay on a wire that forks -- you must explicitly use the fork star and put the delay on its input or one of the outputs. --Rob ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: VHDL Back End Generation!! [Code generation in Ptolemy II]
This is an interesting approach to code generation, the deep codegen in Ptolemy II. I have not been working on the following, but the Hardware Design System feature of the Signal Processing Worksystem from Cadence was done in a style much more like the approach used in Ptolemy Classic. Namely, a 'shadow' library of HDL-specific actors was created exclusively for HDL code generation. This leads to the requirement for extra coding, and concerns about maintaining consistency with the simulation actors. But it was deemed necessary in order to get the kind of output code quality that customers require, as far as hand-coding the bodies of each actor. It's not yet clear to me what would happen if you created a VHDL backend to the deep codegen facility that is in development in Ptolemy II. Can you take a Java abstract syntax tree and get out sensible VHDL/Verilog code? You can probably get 'behavioral' code (in the HDL sense) that will run in standard HDL simulators. But you probably won't be able to get synthesizable RTL code unless you add some additional resource constraints or you impose one (of many) clocked schedules on the behavioral HDL code (possibly through behavioral synthesis). But getting synthesizable RTL HDL code may not be as important to the Ptolemy II hacker/user community in general as it is to commercial users. For the design of embedded systems, you are also concerned about optimizing memory/register usage across actors, which requires a backend that can do this intelligently. Individual actors can't be fully optimized for communication with other actors since the writer doesn't know the context within which they will be used. Regards, -Mike At 09:43 AM 2/21/01 -0800, Christopher Hylands wrote: "MOO" [EMAIL PROTECTED] writes: we are so interested in the back -end VHDL code generation in ptII. we r gonna use the ptII in design of embedded systems . and the problem we r facing now is how to generate a VHDL code for the system components that will be dedicated for Hardware... does any one have any suggestations about this delimma..!! (note: we r using ptII new beta version ) and we r coding using Java. we r not so interested to code in C++ as in ptolemy classic. so what do u suggest ??? Thanks. Regards, MO. Salem . -- I suggest that you fix the a and the e keys on your keyboard :-) Seriously though, we intended to ship Ptolemy II with some code generation facilities, but as one of the contributors to that code, I felt that it was not really ready for release. In Ptolemy Classic, most of the codegen 'domains' were not really differnet domains (they did not have different models of computation), instead they were really backends to SDF. In Ptolemy Classic, a developer needed to develop different actors for each target processor or language. I'm told that one thing we found was that the inter-actor communication often took up much of the computation time. Jeff Tsay's Master's project was to add code generation to Ptolemy II. Jeff's approach, which we call deep codegen is to read in actor definitions written in Java, generate an AST and then generate a faster/simpler Java description of the model that does not use the Ptolemy II kernel include things like mutations etc. In this way, we avoid writing different actors for different platforms and apply compiler techniques to increase performance. I was able to port simple models from Ptolemy II through the deep codegen facility to the Palm Pilot by using KVM and Wabi. However, since KVM lacks floats, and Wabi lacks Exceptions, there is not much that can be done. I have some notes about this at: http://ptolemy.eecs.berkeley.edu/~cxh/ptpub/kvm.htm I was also able to take a model and use the GNU Java backend (gcj) and generate native code. This resulted in a fairly significant performance improvement. I think I saw as much as 10x over regular Ptolemy II times and 4x over deep codegen times for a small Orthogonal Communication system. Jeff's Masters report is at: Jeff Tsay, "A Code Generation Framework for Ptolemy II," ERL Technical Report UCB/ERL No. M00/25, Dept. EECS, University of California, Berkeley, CA 94720, May 19, 2000. http://ptolemy.eecs.berkeley.edu/publications/papers/00/codegen/ There is a short summary at: Jeff Tsay, Christopher Hylands and Edward Lee, "A Code Generation Framework for Java Component-Based Designs," CASES '00, November 17-19, 2000, San Jose, CA. http://ptolemy.eecs.berkeley.edu/publications/papers/00/javacodegen/ You might also check out this paper: JJ. Buck, R. Vaidyanathan, "Heterogeneous Modeling and Simulation of Embedded Systems in El Greco," CODES2000. http://www.sigda.acm.org/Archives/ProceedingArchives/Codes/Codes2000/papers/2000/codes00/pdffiles/08_1.pdf Professor Shuvra Bhattacharyya, a former student of Professor Lee's, is working on what we call 'shallow codege
Re: VHDL Back End Generation!! [Code generation in Ptolemy II]
"MOO" [EMAIL PROTECTED] writes: we are so interested in the back -end VHDL code generation in ptII. we r gonna use the ptII in design of embedded systems . and the problem we r facing now is how to generate a VHDL code for the system components that will be dedicated for Hardware... does any one have any suggestations about this delimma..!! (note: we r using ptII new beta version ) and we r coding using Java. we r not so interested to code in C++ as in ptolemy classic. so what do u suggest ??? Thanks. Regards, MO. Salem . -- I suggest that you fix the a and the e keys on your keyboard :-) Seriously though, we intended to ship Ptolemy II with some code generation facilities, but as one of the contributors to that code, I felt that it was not really ready for release. In Ptolemy Classic, most of the codegen 'domains' were not really differnet domains (they did not have different models of computation), instead they were really backends to SDF. In Ptolemy Classic, a developer needed to develop different actors for each target processor or language. I'm told that one thing we found was that the inter-actor communication often took up much of the computation time. Jeff Tsay's Master's project was to add code generation to Ptolemy II. Jeff's approach, which we call deep codegen is to read in actor definitions written in Java, generate an AST and then generate a faster/simpler Java description of the model that does not use the Ptolemy II kernel include things like mutations etc. In this way, we avoid writing different actors for different platforms and apply compiler techniques to increase performance. I was able to port simple models from Ptolemy II through the deep codegen facility to the Palm Pilot by using KVM and Wabi. However, since KVM lacks floats, and Wabi lacks Exceptions, there is not much that can be done. I have some notes about this at: http://ptolemy.eecs.berkeley.edu/~cxh/ptpub/kvm.htm I was also able to take a model and use the GNU Java backend (gcj) and generate native code. This resulted in a fairly significant performance improvement. I think I saw as much as 10x over regular Ptolemy II times and 4x over deep codegen times for a small Orthogonal Communication system. Jeff's Masters report is at: Jeff Tsay, "A Code Generation Framework for Ptolemy II," ERL Technical Report UCB/ERL No. M00/25, Dept. EECS, University of California, Berkeley, CA 94720, May 19, 2000. http://ptolemy.eecs.berkeley.edu/publications/papers/00/codegen/ There is a short summary at: Jeff Tsay, Christopher Hylands and Edward Lee, "A Code Generation Framework for Java Component-Based Designs," CASES '00, November 17-19, 2000, San Jose, CA. http://ptolemy.eecs.berkeley.edu/publications/papers/00/javacodegen/ You might also check out this paper: JJ. Buck, R. Vaidyanathan, "Heterogeneous Modeling and Simulation of Embedded Systems in El Greco," CODES2000. http://www.sigda.acm.org/Archives/ProceedingArchives/Codes/Codes2000/papers/2000/codes00/pdffiles/08_1.pdf Professor Shuvra Bhattacharyya, a former student of Professor Lee's, is working on what we call 'shallow codegen', where we generate a Java description of a model that is fairly dependent on the Ptolemy kernel. Professor Bhattacharyya is also working on a C backend. Combining deep and shallow codegen with different backends is an area of research we would like to pursue. Ultimately, I think we will need to provide actor authors with a way to include Ptolemy Classic style codeblocks in actors so as to optimize certain operations on specific processors. There are some notes about codegen at http://ptolemy.eecs.berkeley.edu/~cxh/ptpub/codegen.htm All of the above code is still in production and not ready for release. We don't have a scheduled release date either. So, in the short term, there is not much we can suggest. The code we have is still in the early stages of production, and is not yet shippable. Once the release is out, I hope to return to working on codegen. -Christopher -------- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Ptolemy II 1.0beta is available for download
Ptolemy II 1.0beta is available for download from http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII1.0 Ptolemy II is a software framework developed as part of the Ptolemy project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II. The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. The Ptolemy Project web page (http://ptolemy.eecs.berkeley.edu) contains much more information about the project. The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer. Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Some of these are preliminary and/or experimental, as indicated below. CT: continuous-time modeling DE: discrete-event modeling FSM: finite state machines PN: process networks SDF: synchronous dataflow CSP: communicating sequential processes (experimental) DDE: distributed discrete events (experimental) DT: discrete time (experimental) Giotto: periodic time-driven (experimental) GR: 3-D graphics (experimental) Ptolemy II contains the following features: * Vergil: A block-diagram editor for building models * User interface utilities for applets and applications * Live editing of models and parameters * Network integration * A sophisticated type system including Type constant propagation, Record Types, Array types, and Fixed-point type * An expression language for parameter expressions * Data and domain polymorphic component library * A polymorphic expression actor * A very simple XML file format called MoML * A flexible signal plotter * 3-D graphics animation infrastructure * Hierarchically interoperable domains * On-line documentation (in HTML) * Audio signal processing capabilities The Ptolemy II website contains Ptolemy II applets that can be run by using the Java Plug-in 1.3. Ptolemy II is available for download in two versions: * Ptiny - which can be used to build models in CT, DE, FSM, PN and SDF using built-in actors. The Ptiny version is a 5.6Mb download for Windows. * Full - which includes other domains and support for developing custom actors. The Full version is a 20Mb download for Windows or a 5.3Mb source only download for Windows and Unix. Ptolemy II 1.0beta does not include the Ptolemy Design Document. We are in the process of updating that document for release in the production release of Ptolemy II 1.0. -Christopher Christopher Hylands[EMAIL PROTECTED] University of California Ptolemy/Gigascale Silicon Research Center US Mail: 558 Cory Hall #1770 ph: (510)643-9841 fax:(510)642-2739 Berkeley, CA 94720-1770 home: (510)526-4010 (Office: 400A Cory) Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
THE FOURTH BIENNIAL PTOLEMY MINICONFERENCE
(Apologies if you receive more than one copy of this) ANNOUNCING: THE FOURTH BIENNIAL PTOLEMY MINICONFERENCE Web page: http://ptolemy.eecs.berkeley.edu/ptconf Thursday and Friday March 22-23, 2001, 8:30 AM - 5:15 PM Claremont Hotel, Berkeley TENTATIVE PROGRAM The program includes invited speakers from organizations worldwide, plus members of the Ptolemy project describing current research at Berkeley. Topics include: Models of Computation Ptolemy II Software Architecture Hybrid and Modal Modeling Code Generation MoML - Modeling Markup Language Modeling Concurrency Ptolemy II Type System ePtolemy - Distributed Modeling Control Flow Modeling Modeling of Wireless Networks Modeling Optical Networks Implementing Radar and Sonar Systems Dataflow modeling EDA/Instrument integration Process Networks from Matlab code Distributed Optimization Distributed Synchronized Clocks Debugging Ptolemy Applications Software Practice GSRC Semantics Project PTOLEMY II TUTORIAL Friday afternoon, March 23, will be devoted to a tutorial on Ptolemy II: Using and extending the GUI Overview of the actor libraries Overview of the domains How to write actors How to write applets You must register in advance to attend the tutorial, as space is limited. Some Java background is assumed. HOTEL INFO: A number of rooms have been reserved at the special rate of $195 per night. Make reservations by February 21. Mention the EECS Ptolemy Conference to obtain the special rate. Claremont Hotel 41 Tunnel Road Berkeley, CA 94705 1-800-551-7266 http://www.claremnt.com/ CONFERENCE REGISTRATION: Register on-line by March 16 at: http://ptolemy.eecs.berkeley.edu/ptconf Or send your name and email address: [EMAIL PROTECTED] Advance registration is strongly advised, since previous instances of this conference have sold out. Advance registration is required for the tutorial on Friday afternoon. SPONSORS This conference is sponsored by Thales (formerly Thomson-CSF) and the industrial sponsors of the Ptolemy Project (Agilent, Cadence, Hitachi, Hughes, Lockheed-Martin, Moca and Philips) ABOUT THE PTOLEMY PROJECT The Ptolemy Project focuses on system-level modeling, simulation, and design of reactive and real-time embedded systems. It has developed an open software architecture that provides high-level support for signal processing, communications, and real-time control. The key principle of the project is the use of multiple concurrent models of computation in a hierarchical and heterogeneous design environment. Ptolemy Project Dept. of Electrical Engineering and Computer Sciences University of California at Berkeley Berkeley, CA 94720 http://ptolemy.eecs.berkeley.edu Contact: Peggy Kingsley (510) 642-1818 Fax: (510) 642-2379 [EMAIL PROTECTED] begin:vcard n:Kingsley;Peggy tel;cell:(510)543-8237 tel;fax:(510) 642-2739 tel;work:(510) 642-1818 x-mozilla-html:FALSE org:UC Berkeley;Electrical Engineering and Computer Science version:2.1 email;internet:[EMAIL PROTECTED] adr;quoted-printable:;;UC Berkeley=0D=0ADept of EECS=0D=0A558 Cory Hall - 1770;Berkeley;CA;94720; fn:Peggy Kingsley end:vcard
Large systems simulations with Ptolemy II
Dear ptolemyers, I'm trying to simulate a large system of ODEs, namely a continuous-timed, continuous-valued Hopfield network with a number of nodes N of the order of 100. Pratically this requires the creation of N integrators and N other actors calculating the first derivative of the node's state to be fed into the integrators. For a systems with 100 nodes (AKA neurons), the number of ports which have to created is about 10,000, which needs quite a few Mbytes of RAM. Is there a way to get around this problem? I've tried to keep the state of the network in an array common to all actors, and having it updated in the fire() methods of the actors, but that's really a poor man's solution, as it disrupts ptolemy's model of computation. Am I right? Thank you, Alessandro _/ _/_/ _/ Alessandro Usseglio Viretta / Tel +41 1 6353066 _/ _/_/ _/ _/ Institute of Neuroinformatics / Fax +41 1 6353053 _/ _/ _/ _/ _/ University/ETH Zurich / _/ _/ _/_/ _/Winterthurerstr. 190 / _/ _/_/ _/ CH-8057 Zurich / www.ini.unizh.ch/~ale Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Searching partners for extending Ptolemy II
Dear Ptolemy Officials and Fans, As university's developpers of simulation and design tools for signal and image processing, we recently discovered the Ptolemy project and the ptolemy II software. We have developped in the past a similar, but not so huge, software, firstly for education purpose. We are really impressed by the Ptolemy project since it can be the starting point of many of our new developpement effort concerning Internet/JAVA. Through our first examination of the design document and the sources, we really have the feeling that is really open to a large number of new ideas and easily extendable. As matter of fact, we consider mounting an extension project of PtolemyII and trying to find money for an "open source"-like development. As european guys, a good opportunity for us is to submit a proposal at the IST program of the 5th Framework of the EC. Quickly said, the extensions that we plan should more or less have the following guidelines: 1. The main idea is to propose a common platform for making both physical simulations of signals and system design (what Ptolemy do with a particular emphasis on embedded system). The physical simulation facility should include physical environment description with spatio-temporal variability) and wave propagation models concerning a maximum numbers of disciplinary fields. The task is thus to propose library of actors: environment descriptors and wave propagation modellors. The focus is to study what can be called the "field polymorphism", i.e. the fact that actors should be suited for more than one application field. The PtolemyII data type should be eventually extended to the multiple dimensions (more than 2) type. 2. The second idea is to propose a new computation domain that is especially suited for multidimensionnal data and that implements our own technology features. One focus is to study the particular problems linked with multidimentionnal signals and computing speed. Another focus is to study what can be called the "dimension polymorphism", i.e. the fact that an actor performing an operation along one subdimension can do it whatever the dimension axes physically represent and whatever the other dimension axes are. 3. The third idea is to propose a GUI that enables to edit interactive scientific document for education and publishing . With the targeted GUI, it should possible to make high quality scientific interactive documents powered by a Ptolemy-like domain specific engine. The focus is thus to propose to the signal processing research community a seamless tool for both doing, publishing and learning research. The GUI features will be the one that we have developped ten years ago and that appears to be still up-to-date and compatible with the Ptolemy II architecture. We are looking for partners especially belonging to the EC that could be part of a consortium (the existing consortium is already eligible but not really complete). If you are interested by contributing to the project, do not hesitate to contact me. An another hand, if you have any comments on this project (for example, if you are currently developping the same ideas, if some aspects are already planned by the Ptolemy group or simply if you found that our ideas are not so good or even feasible!), please send me your feedback. Thanks in advance. D. Mauuary -- ++ | Didier MAUUARY | | | LIS/ENSIEG | Tel: (33) 04 76 82 62 52 | | Campus universitaire| | | BP 46 | Fax: (33) 04 76 82 63 84 | | F-38402 SAINT MARTIN D'HERES-FRANCE | | ++ | /\ Email: [EMAIL PROTECTED]| |/\/\_\ | | /\_\ \ /\ Web Site: http://www.lis.inpg.fr/| | //\ /\_\ | | // \/\| ++ ---- Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Searching partners for extending Ptolemy II
These projects sound superb to me... We have explored (2) somewhat a few years ago, using a combination of multidimensional dataflow and higher order functions, but I still consider this to be a wide open field... On (1), Chamberlain Fong in our group has recently designed a "DD3D" domain that specifically supports three-dimensional mechanical system modeling and animation using Java 3D. Your efforts here would therefore couple into a very nice visualization tool. Thirdly, we are moving to make our CVS repository accessible from outside to knowledgeable outside developers. Please send me email if you are interested in the details. One key unresolved issue is how we spread our software engineering standards to the community. Although we are not in Europe, please let me know if there is anything we can do to help... Edward Lee Professor At 01:45 PM 9/22/2000 +0200, Didier Mauuary wrote: Dear Ptolemy Officials and Fans, As university's developpers of simulation and design tools for signal and image processing, we recently discovered the Ptolemy project and the ptolemy II software. We have developped in the past a similar, but not so huge, software, firstly for education purpose. We are really impressed by the Ptolemy project since it can be the starting point of many of our new developpement effort concerning Internet/JAVA. Through our first examination of the design document and the sources, we really have the feeling that is really open to a large number of new ideas and easily extendable. As matter of fact, we consider mounting an extension project of PtolemyII and trying to find money for an "open source"-like development. As european guys, a good opportunity for us is to submit a proposal at the IST program of the 5th Framework of the EC. Quickly said, the extensions that we plan should more or less have the following guidelines: 1. The main idea is to propose a common platform for making both physical simulations of signals and system design (what Ptolemy do with a particular emphasis on embedded system). The physical simulation facility should include physical environment description with spatio-temporal variability) and wave propagation models concerning a maximum numbers of disciplinary fields. The task is thus to propose library of actors: environment descriptors and wave propagation modellors. The focus is to study what can be called the "field polymorphism", i.e. the fact that actors should be suited for more than one application field. The PtolemyII data type should be eventually extended to the multiple dimensions (more than 2) type. 2. The second idea is to propose a new computation domain that is especially suited for multidimensionnal data and that implements our own technology features. One focus is to study the particular problems linked with multidimentionnal signals and computing speed. Another focus is to study what can be called the "dimension polymorphism", i.e. the fact that an actor performing an operation along one subdimension can do it whatever the dimension axes physically represent and whatever the other dimension axes are. 3. The third idea is to propose a GUI that enables to edit interactive scientific document for education and publishing . With the targeted GUI, it should possible to make high quality scientific interactive documents powered by a Ptolemy-like domain specific engine. The focus is thus to propose to the signal processing research community a seamless tool for both doing, publishing and learning research. The GUI features will be the one that we have developped ten years ago and that appears to be still up-to-date and compatible with the Ptolemy II architecture. We are looking for partners especially belonging to the EC that could be part of a consortium (the existing consortium is already eligible but not really complete). If you are interested by contributing to the project, do not hesitate to contact me. An another hand, if you have any comments on this project (for example, if you are currently developping the same ideas, if some aspects are already planned by the Ptolemy group or simply if you found that our ideas are not so good or even feasible!), please send me your feedback. Thanks in advance. D. Mauuary -- ++ | Didier MAUUARY | | | LIS/ENSIEG | Tel: (33) 04 76 82 62 52 | | Campus universitaire| | | BP 46 | Fax: (33) 04 76 82 63 84 | | F-38402 SAINT MARTIN D'HERES-FRANCE | | ++ | /\ Email: [EMAIL PROTECTED]| |/\/\_\ | | /\_\ \ /\
Re: [Ptolemy] Re: Ptolemy domain question
The dynamic dataflow domain (DDF) will do what you want... Edward Lee From: David Trainor [EMAIL PROTECTED] Subject: Ptolemy domain question Date: Mon, 18 Sep 2000 09:38:23 +0100 Hello, As a newbie to the entire concept of ptolemy, I apologize in advance if this query is covered in the Ptolemy literature or FAQs. Basically, I'm trying to understand the system modelling and operation scheduling mechanisms used in the various Ptolemy domains (SDF, DDE, etc). I'm trying to model signal processing systems, which most naturally fall into the SDF domain, but I have some functions like resampling filters which interpolate/decimate by irrational ratios. For these functions, the number of tokens produced for each firing of the function is not completely fixed but has some small variation. Do such stars exist in Ptolemy and if so what processing domain would they be classified under? Are there extensions to SDF processing that would allow such stars to be included? Any insight into this issue would be greatly appreciated. David Trainor - -- - - David Trainor mailto:[EMAIL PROTECTED] Principal Engineer Integrated Silicon Systems Ltd. Tel: +44 28 90 50 4000 50 Malone RoadFax: +44 28 90 50 4001 Belfast BT9 5BS Web: www.iss-dsp.com - - --- End of Forwarded Message ___ Ptolemy maillist - [EMAIL PROTECTED] http://www.gigascale.org/ptolemy/listinfo/ptolemy Edward A. Lee, Professor, EECS Dept., Cory Hall UC Berkeley, Berkeley, CA 94720 phone: 510-642-0455, fax: 510-642-2739 [EMAIL PROTECTED], http://ptolemy.eecs.berkeley.edu/~eal Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]
Re: Ptolemy Classic
ptcl is the non-graphical version of pigi, see: http://ptolemy.eecs.berkeley.edu/ptolemyclassic/almagest/docs/user/html/ptcl.doc12.html#3.12 Some hints on advanced uses of ptcl with pigi However, if you are using up 550Mb of memory, it is doubtful if running ptcl will get you much farther. Probably the thing to do is to analyze your memory usage either by hand or with a memory usage tool such as Purify. You might find the following memory usage tips of interest: http://ptolemy.eecs.berkeley.edu/ptolemyclassic/almagest/docs/prog/html/ptlang.doc7.html#2.7 Preventing Memory Leaks in C++ Code -Christopher At 03:29 PM 8/30/2000 -0400, Madamopoulos, Nicholas wrote: Hackers: I am running some simulations using ptolemy classic. It seems that my simulation is very complex and memory consuming. If I run the top command in UNIX, to monitor my process, I have noticed that after reaching 550M in RSS the simulation stops and pigi crashes. It gives me the following message: Vem RPC: connection has been broken. Vem RPC: client has failed. Has anybody seen this problem before? Is it possible to run a simulation without using the visualization windows of ptolemy? Can I run a process in the background? Would then the memory requirements be less or it does not matter? Thanks in advance for your response. Regards, Nicholas Madamopoulos Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED] Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]