Go up to Projects
Go forward to Important dates
Project requirements
- Develop one or more distributed software components and
demonstrate their use in a distributed system. "Develop" includes
doing concept development,3 design,
implementation, experimentation, testing, and documentation.
- The distributed software components you develop should fit
into one of the following frameworks: the CORBA 2.0 (or higher)
standard, the Microsoft DCOM specification, or both (exploring
CORBA/DCOM interoperability).
- Since one of the main goals of this course is to explore
how generic programming can be introduced into the realm of
distributed software components, you should attempt to make
your components generic in the sense of being specializable
("configurable" may be a more accurate term in this context)
to many different cases.
- You may implement your components and distributed system using
C++, Java, or a combination (taking advantage of the interoperability
supported by ORBs such as OrbixWeb).
- In specifying and implementing your components you should avoid
dependence on non-standard features provided by individual vendors, so
that the components are portable to any implementation of the standard
(not an issue with DCOM). In the distributed system you develop, some
use of non-standard features may be necessary, but keep it as limited
as possible.
- Observe the documentation requirements and guidelines given in
a later section. Note the requirement of a
literate programming approach. This certainly impacts your
documentation but I strongly encourage you also to employ this
approach throughout the in the development of the software, not as an
afterthought.
- You must form teams of three or four people and submit one
implementation and report for the team. You may divide up
responsibilities for the project as you wish, but each member of the
team should keep fully informed about the design decisions,
experimental results, testing results, and documentation.
- It is better to limit the scope of your project to a small task
and do an excellent job on it than to attempt too much and not be able
to complete it or do it well.