Just give it a try!

Just another WordPress.com weblog

GSoC 2008 Proposal for Ptolemy II April 21, 2008

Filed under: Computer Science, GSoC — heykell @ 5:03 pm
Tags: , , ,

I want to study on wireless networks which builds on the discrete event domain to support modeling of wireless and sensor network systems. In this area, channel models mediate communication between actors and the visual syntax does not require wiring between components that is the well-known property of wireless systems. One of the reasons I want to study this project is my interest in wireless systems that has an amazing impact on military and many public application such as environment and habitat monitoring, health care applications, traffic control and home automation. The important concerns about wireless systems are mobility when the sensors nodes and base stations are not stable, security and middleware, especially middleware focus on the design of middle-level primitives between the software and the hardware. In the Ptolemy project, modeling the wireless networks will contribute to testing the infrastructure and user interfaces of Ptides. It will also be an example of Ptides’ modeling.

Modeling & Design

As in the main design methodology of Ptolemy project; heterogeneous modeling, simulation, and design of concurrent systems will be used in this specific project. However, rather than designing
the wireless networks model from scratch, the more useful mechanism is to reuse existing models and then modify the required type of modeling.

Actor Oriented Design
Ptolemy II supports actor-oriented design which somehow contrasts (and complements) with object-oriented design by emphasizing concurrency and communication between components. Especially, one of the reasons I want to improve myself in discrete event systems is to learn the differences and drawbacks of each system. Although Java is an object-oriented language, the cooperation of it with actor-oriented design needs considerable attention. One of the developed characteristics of actor-oriented design is the abstraction of structure and modeling it without saying anything about how it works and organizes. Moreover, actor oriented programming can conveniently represent adaptive systems, systems with multiple operating modes, systems without fixed structure, and systems that control other systems. Ptolemy II is a Java-based design environment that supports the construction and execution of hierarchical, reconfigurable models using actors [1].

Code Generation

Ptolemy II has two approaches to code generation. In the first approach, the code generator Copernicus is used as a component specialization framework built on top of Java compiler toolkit called Shoot. It can be used to extend and reuse the core mechanism of Ptolemy II to generate a new model, especially wireless network model. The second approach has components as generators, but uses an architecture where the interfaces of components are defined exactly as in ordinary Ptolemy II actors, and “helpers” are used to generate code for particular targets.
As an existing example, VisualSense separates software applications that are built on Ptolemy II configurations and can be examined to gain a wider perspective [3].

Development Methodology

Research
Before starting the project, I must obtain enough background information about Ptolemy II project. Ptolemy II web page will be my primary database for research to begin with. I will also benefit from other’s research papers and documents.
Testing
In order to prevent software defects and possible bugs, all the components of the project will be tested using some methodologies. Jacl, which is a 100% Java implementation of Tcl that is used for testing Ptolemy II, will do testing. Each Java directory will contain a test subdirectory that contains Tcl files that use Jacl to test the project Java code [2].

Community Interaction
I will be in touch with other developers and researchers who are interested in wireless network modeling part of Ptolemy II. Process of development will take place fully in the open. All source code will be hosted on a web page, so users and interested developers will always have access to the latest version the of the code. I will also keep of track my development at my blog http://ezgicicek.wordpress.com/, and users will be able to leave comments about the code as it is being developed.

Schedule
I have developed a schedule to be stay on time and motivated.

April 14 – May 26 Requirements stage: Research process, which includes reading documentation, exploring Ptolemy II, collecting background information. Community interaction, meeting with mentors and other colleagues, brain storming and initial planning and designing.
May 26 – July 1 Midterm stage: Testing and coding process with weekly evaluations.
Midterm evaluation
July 10 – August 11 Coding Stage: Coding process continues with tests and documentation and weekly evaluations.
August 18 – September 1 Evaluations: Final evaluations include all process of development
September 3 Submission: Submitting code

Deliverables

- Model of wireless network system with the design and working code which includes:
detailed documentation and testing infrastructure
user interfaces of wireless network model

Personal Information & Motivation

I am a first year computer-engineering student at Bilkent University, in Turkey. I have been taking Java classes since the beginning of September and my GPA is 3.86 out of 4.00.In my Java course, I have been studying on a Java based educational project in a group of 4 people. Our project provides users with the range of facilities to improve the design skills in Java programming such as pseudo-code and UML structures. The project will be completed in the second week of May. The requirements and user interface stage of the project have already been completed. In this project, I gain experience with UML structures, Eclipse and GUI, which help me to improve my skills in Java. I have 2 years experience with Linux. My main operating system is Ubuntu, Gutsy Gibbon, before that I was using Pardus (OS developed by Turkish developers) and Kubuntu. I can allocate 3 or 4 hours until the end of May to Ptolemy II project. Then, my classes will end at 1 June and the time I can allocate will increase to 7-9 hours per day. Until the end of August, I can keep on working with this schedule. My interest on this topic can keep me happy and working so I do not think to give up after the formal process is ended. I suppose that there will be lots of things even after summer about this project. In the process of researching about Ptolemy II, I also feel that my expertise in this area has increased. I believe I am an excellent candidate to work on this project because I will be working in my spare time leading this project. I would really like to work on this project–not only because of my own passion towards free software and Java–but also to contribute back to the open source and Ptolemy II community.

References

1- Neuendorffer, Stephen, Actor-Oriented Metaprogramming, <http://ptolemy.eecs.berkeley.edu/publications/papers/04/StevesThesis/>
2- Testing Ptolemy II<http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIlatest/ptII/doc/coding/index.htm>
3- Faq Ptolemy II web page <http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIfaq.htm#CodeGen>

 

Leave a Reply