OSC: Case Study Topic Guide: Java

From SOFTICE

Jump to: navigation, search

Contents



Case Study Topic Guide: Java System Programming

This document completes the general guidelines for the case study assignment for students interested in the “Java System Programming” family of topics.

Phase I: Introduction

If you choose this topic, you will be expected to write during phase I an introductory document covering the following items:

  • Make sure you have a brief synopsis to start your presentation: e.g. what is a system call API? Who is deciding on the Java API composition? How does it differ from other OSes’ APIs (sheer number of system calls, nature of the tasks addressed by these system calls…)
  • Make sure you introduce the relevant terminology;
    • Java version numbering (java 2, java 1.5, java 5.0)
    • J2SDK vs. J2ME vs. J2EE vs. JRTE
    • Others as you see fit…
  • Provide an overview of current Java API tools. For each of the API tools you will mention, make sure you specify;
    • Name
    • What it is used for
    • Limitations and weaknesses
    • Major reference(s) where your reader can find out more (web, book, articles)
  • Make sure you cover at least 4 significantly different API tools. Possible Java API tools to focus on;
    • JMS Java Messaging Service
    • JNDI Java Naming and Directory Interface
    • JINI & Java Spaces
    • Threads creation / destruction & Synchronization primitives
    • Signals and Events
    • Remote Methods Invocation
    • Other you might discover during your search

Phase II: Core Bibliography

This phase of your case study will have to focus on one specific API tool of your choice. Make sure that you find sources of information of different nature to cover your basis:

  • Technical references (from sun microsystems sites or alike)
  • Books from the library system
  • Tutorial-like articles from periodicals
  • Code examples from development-oriented sites
  • Others type of resources your will find by yourself

Make sure you discuss with your instructor which aspect you will be covering in your technical tutorial so that you can focus on it during t his information gathering phase.


Phase III: Technical tutorial

Depending on the API tool you chose in phase I and II, you will have to produce a well-focused technical tutorial. The objective is to synthesize your phase II readings and design a 15 minutes PowerPoint-based presentation which will enable your colleagues to become knowledgeable in using the selected API subset.

Objectives should include;

  • Define what your API subset is meant to do; capabilities, limitations…
  • Provide an overview of the relevant system calls for this API subset
  • Provide code examples illustrating elementary use of these system calls
  • Provide a complete code example, written by you, which applies this API subset to solve a problem comparable to the IPC problems discussed in class.

As explained in the general guidelines your work has to be original, if you find many similar tutorials during Phase II, you need to find a way to distinguish yourself and provide an original contribution of your own. It is particularly important that your complete code example be of your own design and implementation. If the “classic IPC problems” have been already solved a thousand times with your chosen API subset, you will work on designing a problem to solve which makes usage of this API subset in a different way.