Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PvC: Course Projects
[go: Go Back, main page]

 
  DAIMI - CFPC - PvC

Course Project

  Introduction

During the first week of the course, the students are to form groups (3 persons each). Each group selects a project, which is handed in at the end of the course. (In addition, the project groups will be used for other purposes). The projects can be one of the topics below, but you are free to come up with projects of your own. The topics below are of interest to some local researcher, who will devote some time to helping you with the project, and is interested in the results of your project. The same may not be true of projects that you come up with yourselves (although Jakob and Ulrik will of course do what they can to help you). This is not to say that new ideas for projects are not welcome - on the contrary - but just that there are fewer guarantees about them. If in doubt, come see Jakob or Ulrik.

Please note that there are a few restrictions on the choice of project:

To decide who gets what hardware and who gets to do which project, we have decided on the following simple algorithm: the order in which the groups perform postings on daimi.pvc with a description of what project they want to do and what hardware is needed decided who gets priority.

Regardless of which topic is chosen, a detailed project description (see below) must be handed in before the project starts (for dates, see course schedule).

Overview of project ideas (in alphabetical order):

  Evaluation

To pass the course, you are required to (0) hand in a project description, (1) implement a proof-of-concept prototype, (2) present it during class, (3) document both the design and implementation of the prototype as well as your experiences in a project report, which also should contain background information on the subject that you are working with, and (4) hand in everything (report, presentation, source code) - see below.

If your proof-of-concept prototype does not work (e.g., you cannot demonstrate its functionality), you must demonstrate to Jakob and Ulrik that you have actually done a fair amount of work in trying to get to work.

The project report is due the 15th of January (unless your final exams are in January, in which case we need to have your report at the beginning of January). The source code is handed in at the same time (again, see below).

The report should be between 10 and 20 pages, depending on the size of your group and the amount of material that you have (but no more than 20 pages!). The report should consist of the following parts:

The report will be evaluated with a 1/3 score on related work, design, and implementation, respectively. We encourage you strongly to do a proper search for related work.

  What to hand in
What to hand in 15/1:
  Project description

The project description should include an initial survey of the work that is relevant to your project, and should define at least two milestones for your project: "minimal prototype" and "complete version" (more milestones in between are encouraged).

Project descriptions are expected to be "a couple of pages and then one more": a couple of pages for surveying relevant work, one page for describing what you want to do in your project and defining your milestones.

Project descriptions should be handed in electronically (ASCII, HTML, or PDF) by email to Jakob or Ulrik. The email should be entitled "PvC project description".

  Projects in the Bang&Olufsen Lab
In the B&O-Lab we are currently researching network-level issues based on FireWire and (high-speed) wireless connections, component-based middleware for AV-devices/home networking, and the design of an interactive remote control. The devices are currently standard Linux PCs connected by firewire and a tablet PC (running Windows XP). Below are a number of project ideas.

[Contact: Ulrik Pagh Schultz]

  Projects in context awareness
Applications

The following is a list of application of context-aware computing. In such projects you can use the Java Context-Awareness Framework (JCAF) developed here at AU, or other context-awareness toolkits, e.g. the Context Toolkit from Georgia Tech.

Technologi and Framework

We are currently designing and implementing the Java Context-Awareness Framework (JCAF). There is a number of exciting and challeging project connected to the further developmed of this framework.

[Contact: Jakob Bardram]

  Projects in embedded systems

Projects in embedded systems can be done using Atmel-based boards (low-end, have serial and CAN-bus connections), using Lego RCX bricks (Hitach CPU), using Ajile Real-Time Java (RTJ) boards (serial connection plus many low-level I/O options), or using standard workstations with appropriate restrictions imposed.

Projects with Atmel-based boards, the Lego RCX brick, and standard workstations can be done using the JEPES compiler for Java on low-end embedded systems. (Or whatever compilation system/virtual machine you're interested in using.)

Ideas for projects:

  Projects in mobile agents

Recommended agent software:

  1. POM platform. POM is a virtual machine implemented in Java that executes programs written in Smalltalk, and that supports strong mobility of multi-threaded agent-like entities referred to as systems. Still very preliminary, but good for "adding things" if you're interested in implementing parts of an agent platform. (No documentation, but full support from Ulrik.)
  2. JADE and LEAP. JADE is a Java-based, full-fledged agent platform with weak mobility. Fairly complete and under active development. LEAP is a light-weight version of JADE. (Documentation, but very limited support from Ulrik.)

Project ideas:

[Contact: Ulrik Pagh Schultz]

  Projects in Requirements Engineering for Pervasive Computing

Executable Use Cases (EUCs) are an approach to requirements engineering for pervasive systems. EUCs combine prose, formal models, and animation to represent new work processes and their proposed computer support. The representation enables stakeholders to make interactive investigations of the requirements for the system in the context of the envisioned work processes.

The goals of EUCs are firstly to narrow the gap between informal ideas about requirements and the formalisation that eventually and inevitably emerges when the system is implemented, and secondly to spur communication between users and system developers. Iterative prototyping using prototypes in the form of running programs on a computer as a basis to get feedback from users to system developers would be a feasible starting point to pursue these goals. However, it has been argued for a long time that making an explicit description of the environment in which the system is to be used is important, and usually a prototype only provides an explicit representation of the system itself. We believe that for pervasive computing, whose main aim is to tightly integrate the system into the environment in terms of the work processes to be supported, the argument becomes even more important. Therefore, EUCs compose iterative prototyping and explicit environment description in terms of workflow modelling.

We (Claus Bossen and Jens Bak Jorgensen) have applied the EUC approach to the pervasive health care system envisioned in cooperation between Aarhus Amt, Systematic, and Centre for Pervasive Computing. We are very interested in further developing, maturing, and testing EUCs and see a number of ways to do so. Examples of specific project ideas in relation to EUCs are:

  1. Outline EUCs for new application areas.
  2. Further develop the existing EUC for the pervasive health care system.
  3. Propose and perhaps implement ways to formalise, execute, and animate requirements in your favorite programming or modelling language.

[Contact: Jens Bæk Jørgensen]