Triveni is a framework for concurrent programming with objects, threads, and events. Triveni supports the modular design of event-driven systems from combinators (building blocks) that operate on abstract behaviors. The framework is implemented in Java 2
Be the first to post a text review of Triveni. Rate and review a project by clicking thumbs up or thumbs down in the right column.
CHANGE LOG ========== + = done - = decided to omit fixed in 0.54 + removed references to run element from XML reference doc + removed unnecessary synchronized from some actionPerformed method in demos + removed unnecessary xercesImpl.jar in lib directory + added version number to path in dist archives + considerably improved build file + package.html for translator and test packages + ant tasks for demos fixed in 0.53 + fixed Unix shell scripts better (no need to run setup) + added choice demo + deprecated updateHandler stuff in Activity (not necessary, see more recent GUI examples) + fixed demos not to use setUpdateHandler + added and updated XML element reference fixed in 0.52 + added ant build file + fixed Unix and Windows shell scripts + cleaned up documentation and demos + added and reorganized other docs + converted triveni.dtd and all .tvn examples to lower-case fixed in 0.51 + improved event firing in Communicator by using copy-on-write from util.concurrent + fixed cloning in triveni.tl + fixed DefaultEventQueue (caused important problem with semantics) + triveni.translator: renamed assert method to assertt + replace LogicVariable with DL's Latch + removed Lock + removed TimeStampedEventTreeSet, ThreadActivity + removed Activity.dataLock (using this as lock for mutex) fixed in 0.5: - replace ArrayList by LinkedList where applicable -> unlikely to improve performance - what to do about transient source in EventObject? -> later (transport issue) - use util.concurrent for queues in triveni core -> improved PriorityDll performance by other means - extraneous warnings about irrelevant labels in await l -> act a (outgoing only?) -> need to declare outgoing labels as relevant as well - removeRelevantLabel - need to remove from renamingTable? -> NO! It would break event transmission. + throw exception if super.clone fails + check constructor args in Await(l,a,e) -> looks fine!?! + replace TreeSet by BitSet in PriorityDll for performance + replace IntegerTreeSet by TreeSet -> no longer needed with Java 2 + replace LinkedList by ArrayList where applicable -> likely to improve performance + clean up debug output (controllable via flag) -> log4j + uses regular jar version of util.concurrent + triveni.translator: using standard XML stuff (Xerces) fixed in 0.4 + workaround apparent bug in FSM.await(List, ...) where size = 1 + assumes Java 2 + uses stripped-down version of util.concurrent with only LinkedQueue + fixed new redrawing bug in Counter/CounterExpr + fix relevant labels in remote demo + relevant event labels should be set, not list + make outgoing events in demos relevant (to avoid warning) + need Communicator.isRelevantLabel + API documentation for Rename is taken from Local but not changed + consider changing args in LabeledEvent constructor (get rid of 2-arg one?) + consider changing args in Activity.emitEvent to String + fix doc in Activity.updateHandler (should not emit events) + fix @see in triveni.remote package.html + check susp/res and do/watching doc (make clear that expr started automatically) + set/clear quiescence -> setQ(bool) + remove Await(default) + add triveni.demo.remote to project + make remote emit asynchronous + replace Vector by List where applicable + remove act in Demo1a and Demo2 doc and wherever else + convert Assert to Swing pre-0.4 stuff: finish up: + top-level doc (from COOTS paper) + visibility (prot vs. pkg) * Bingo example -> course Patrice & Lalita: Triveni/VeriSoft (VeriVeni) + Radha & NASA: Triveni & HybridCC + generalize Assert to observers of temporal logic expressions ? TL exprs in predicates -> add activities automatically? (activity in par with if?) + gensym -> new Object StartStop combinator (very common) + use serialization of events for applet-servlet communication & RMI (what about event sources?) + view Triveni expressions as beans - write BeanCustomizer as visual editor for exprs and TL exprs - view expressions as ActionListeners? + become -> protected make code final-correct (approximation of const-correct) + put Triveni-construction-time checks on all arguments (null pointers etc.) -> 1.2 (at end) + Radha -> PQ: map of DLL ser/clone: last (clone via API!) Radha: termination + K listeners: already have separate internal & external + K doc for API (remove SusRes with actions) (need servlet and +animation examples) + default branch for Switch + K change examples to get rid of thread activities; replace by + CancellableActivities (update throws InterruptedException) + make rethrow up to level of API + => emitEvent in Activity throws InterruptedException + why overriding used for hooks in Expr? -> Runnable - need better overriding for control methods (invoke doStart, override start etc) + need to implement missing control methods in Expr (stop/susp/res) -> wrap inside SuspRes at top-level + do we still need ThreadActivity? -> yes + TermActivity -> nonpublic hard deadline: July 1 deliverable (for lab grant): course materials incl documented Triveni impl - DSL: need way to define custom combinators - need better syntax for code in host language -> XML (generate automatically from Java src via doclet?)
CHANGE LOG ========== + = done - = decided to omit fixed in 0.54 + removed references to run element from XML reference doc + removed unnecessary synchronized from some actionPerformed method in demos + removed unnecessary xercesImpl.jar in lib directory + added version number to path in dist archives + considerably improved build file + package.html for translator and test packages + ant tasks for demos fixed in 0.53 + fixed Unix shell scripts better (no need to run setup) + added choice demo + deprecated updateHandler stuff in Activity (not necessary, see more recent GUI examples) + fixed demos not to use setUpdateHandler + added and updated XML element reference fixed in 0.52 + added ant build file + fixed Unix and Windows shell scripts + cleaned up documentation and demos + added and reorganized other docs + converted triveni.dtd and all .tvn examples to lower-case fixed in 0.51 + improved event firing in Communicator by using copy-on-write from util.concurrent + fixed cloning in triveni.tl + fixed DefaultEventQueue (caused important problem with semantics) + triveni.translator: renamed assert method to assertt + replace LogicVariable with DL's Latch + removed Lock + removed TimeStampedEventTreeSet, ThreadActivity + removed Activity.dataLock (using this as lock for mutex) fixed in 0.5: - replace ArrayList by LinkedList where applicable -> unlikely to improve performance - what to do about transient source in EventObject? -> later (transport issue) - use util.concurrent for queues in triveni core -> improved PriorityDll performance by other means - extraneous warnings about irrelevant labels in await l -> act a (outgoing only?) -> need to declare outgoing labels as relevant as well - removeRelevantLabel - need to remove from renamingTable? -> NO! It would break event transmission. + throw exception if super.clone fails + check constructor args in Await(l,a,e) -> looks fine!?! + replace TreeSet by BitSet in PriorityDll for performance + replace IntegerTreeSet by TreeSet -> no longer needed with Java 2 + replace LinkedList by ArrayList where applicable -> likely to improve performance + clean up debug output (controllable via flag) -> log4j + uses regular jar version of util.concurrent + triveni.translator: using standard XML stuff (Xerces) fixed in 0.4 + workaround apparent bug in FSM.await(List, ...) where size = 1 + assumes Java 2 + uses stripped-down version of util.concurrent with only LinkedQueue + fixed new redrawing bug in Counter/CounterExpr + fix relevant labels in remote demo + relevant event labels should be set, not list + make outgoing events in demos relevant (to avoid warning) + need Communicator.isRelevantLabel + API documentation for Rename is taken from Local but not changed + consider changing args in LabeledEvent constructor (get rid of 2-arg one?) + consider changing args in Activity.emitEvent to String + fix doc in Activity.updateHandler (should not emit events) + fix @see in triveni.remote package.html + check susp/res and do/watching doc (make clear that expr started automatically) + set/clear quiescence -> setQ(bool) + remove Await(default) + add triveni.demo.remote to project + make remote emit asynchronous + replace Vector by List where applicable + remove act in Demo1a and Demo2 doc and wherever else + convert Assert to Swing pre-0.4 stuff: finish up: + top-level doc (from COOTS paper) + visibility (prot vs. pkg) * Bingo example -> course Patrice & Lalita: Triveni/VeriSoft (VeriVeni) + Radha & NASA: Triveni & HybridCC + generalize Assert to observers of temporal logic expressions ? TL exprs in predicates -> add activities automatically? (activity in par with if?) + gensym -> new Object StartStop combinator (very common) + use serialization of events for applet-servlet communication & RMI (what about event sources?) + view Triveni expressions as beans - write BeanCustomizer as visual editor for exprs and TL exprs - view expressions as ActionListeners? + become -> protected make code final-correct (approximation of const-correct) + put Triveni-construction-time checks on all arguments (null pointers etc.) -> 1.2 (at end) + Radha -> PQ: map of DLL ser/clone: last (clone via API!) Radha: termination + K listeners: already have separate internal & external + K doc for API (remove SusRes with actions) (need servlet and +animation examples) + default branch for Switch + K change examples to get rid of thread activities; replace by + CancellableActivities (update throws InterruptedException) + make rethrow up to level of API + => emitEvent in Activity throws InterruptedException + why overriding used for hooks in Expr? -> Runnable - need better overriding for control methods (invoke doStart, override start etc) + need to implement missing control methods in Expr (stop/susp/res) -> wrap inside SuspRes at top-level + do we still need ThreadActivity? -> yes + TermActivity -> nonpublic hard deadline: July 1 deliverable (for lab grant): course materials incl documented Triveni impl - DSL: need way to define custom combinators - need better syntax for code in host language -> XML (generate automatically from Java src via doclet?)
Be the first person to add a text review.
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: