Possible Undergraduate or Masters Projects
There are several opportunities to work on projects for course credit,
masters project credit, and/or pay with
the Ptolemy Project.
If you are interested, then please contact
Prof. Edward A. Lee at
eal@eecs.berkeley.edu.
If you do not have the listed background but are highly motivated,
please contact Professor Lee anyway.
Links to other local pages of interest:
Projects
- Reconfigurable hardware
- work on synthesis of hardware configurations from
high-level block diagram specifications.
- work with state-of-the-art FPGA (field-programmable
gate array) hardware.
- involves C++ and VHDL languages.
- Design visualization.
- develop visual, interactive representations of real-time and/or
embedded system designs.
- requires a sense of visual aesthetics, extensive experience
with computers, and creativity.
- Modeling of physical and digital systems.
- integrate modeling techniques used for physical systems
(microwave circuits, micro-electromechanical devices, etc.)
with modeling techniques used for digital hardware.
- involves Java programming in the context of a redesign of
the Ptolemy system.
- Mixed signal design.
- integrate modeling of analog circuits with digital systems.
- involves Java programming in the context of a redesign of
the Ptolemy system.
- Fixed-point design
- develop techniques for designing signal processing
algorithms for fixed-point implementation in VLSI
or configurable hardware.
- involves C++ and VHDL languages.
- Retargettable block libraries
- develop techniques for organizing and maintaining block libraries
where each block has multiple possible implementations (various
styles of hardware or software).
- involves Java programming and interaction with a team working
on a redesign of the kernel of the Ptolemy system.
- The Tycho Retargetting Editor
is a rough prototype of the type of tool that could be developed.
- Java Ptolemy Kernel
- Work with the Java/Ptolemy team on designing the key Java
infrastructure that will support the design of
Heterogeneous Modeling and Design (HMAD)
systems.
- The core of this design is a set of classes fashioned after
the core of Ptolemy that support hierarchical graphs as an abstract data
structure.
- Many specializations, for example to process networks (PN), are
possible.
- We plan PN to be the first implemented specialization since it
promises to give us the most benefit from Java threads.
- See the
September, 1997 monthly report
for more information.
- Object-oriented user interface design.
- work on Itcl programming of the
Tycho system, which
is an extensible framework for user interface design.
- requires knowledge of Tcl/Tk and object-oriented programming concepts.
- develop a Tycho shell that interacts with
gdb
, a
symbolic C/C++ debugger, emulating the functionality of the
corresponding emacs interface.
- develop an interface to
jdb
, the Java debugger.
- Improve the C and C++ syntax-sensitive editors. For example,
keywords could be highlighted. C++ class references could be made
into hyperlinks.
- create print dialog for Tycho and interface it to current editors.
- Interactive documentation
- requires knowledge of HTML, Tcl/Tk, and object-oriented design principles.
- build demonstrations and interactive tutorials for the Ptolemy and
Tycho systems.
- reimplement the Tycho documentation parser (
tydoc)
by using JavaCC,
a yacc like Java Compiler Compiler.
- Modify the Tycho HTML browser to track the tree of hyperlinks that are
traversed and display the tree on request. Clicking on previously
visited nodes in the tree should move the view to the corresponding
hyperlink.
- Use the Tycho Model/View system to implement a publications database
that is viewable from the Web.
- Use the Tycho Model/View system to implement a contacts database.
- Real-time concurrent systems
- explore concurrent models of computation and their implementation
on standard platforms such as Posix threads,
Java,
Solaris, or Windows NT.
- exploit symmetric multiprocessing in modern workstations to achieve
predictable and controllable real-time behavior.
- requires fearlessness with respect to operating systems and
extensive experience with computers.
- Deployable, configurable design tools
- requires knowledge of C++ compilers, Tcl and C shell scripts,
HTML, and makefiles
- configurable releases: combine the mkPtolemyTree and mkStarIndex
Tcl scripts to create the smallest release required to support a
palette of stars, galaxies, and universes
- deployable design tools: support dynamic configuration of Ptolemy
add-ons (domains, targets, etc.) without having to alter the
Ptolemy binaries
- develop a Tycho editor for merging directories.
- develop an interface to CVS, the Concurrent Version Control system.
- create a bug reporting dialog box that mails feedback to the
Tycho design team.
- Visualization of signal processing algorithms
- work on the design of distributed, approximate, and resource-adaptive
algorithms with emphasis on developing infrastructure to support the
development of such algorithms.
- develop a gannt chart viewer using the Java
Ptplot grapher.
- enhance ptplot with log scales, raw binary format and other changes.
- develop a better tree visualizer/editor. One simple application
would be to use it to track the tree of hyperlinks that the user has
visited. Clicking on previously visited nodes in the tree should move
the view to the corresponding hyperlink.
- requires experience with signal processing (ee123 and ee225a)
and extensive experience with computers.
- port the Matlab and Mathematica Tcl interface from C to C++ so
that it can be loaded using the Tcl
load
command
in a off the shelf tclsh
or wish
.
- Infrastructure for image and video processing
- work on a design environment based on
Ptolemy that
supports high-level abstractions for image and video signal
processing.
- develop CGC Matrices that use a portable, freely redistributable
C Matrix library.
- build a simple xv replacement, written in either Java or Itcl.
- further develop the Ptolemy SunVideo star, which uses the Sun
video camera as a source.
- develop a CG target for the Mercury Raceway system.
- requires knowledge of image and video signal processing
(like ee225b) and extensive experience with computers.
Group Only To-Do Links
The links below are only accessible to group members, but we list them here
for easy access
Last updated 12/07/97.
Send comments to
eal@eecs.berkeley.edu.