![]() |
|
|||
Eiffel project suggestions
At ISE we are often asked for suggestions about possible projects, mostly non-commercial, for people interested in doing something useful with the help of Eiffel technology. In some cases the context is educational (projects for courses in software engineering, object technology, algorithms and data structures an other topics); but often the request comes from professional anxious to apply the technology for the the common good and in the process enhancing their skills and enjoy Eiffel programming. Here is a first list of such projects. This page will continue to be extendend with new ideas; in fact you can contribute suggestions by writing to webmaster@eiffel.com. ISE makes no commitment as to the suitability of these suggestions for any practical purpose (especially commercial applications!). This page is just a collection of ideas for people in search of programming challenges. We regret that we cannot provide technical help for solving these problems, but we'd like to be informed of any results you get. Interesting contributions will be publicized as part of the Eiffel Shelf. If you are unsure about a project, or want to exchange ideas with other interested people, a good place to start is the ISE Eiffel user group at http://talkitover.com/Eiffel/users/. The mico/E Eiffel-CORBA binding is looking for volunteers!mico/E is a full implementation of the OMG standard CORBA almost completely in Eiffel (with a few C routines). Currently it is being developed by a team with just four developers, which is not enough to keep up with a standard as voluminous and rapidly developing as CORBA is.The mico/E team is looking for further contributors. This project requires extensive Eiffel experience as well as some knowledge of the CORBA standard. mico/E is an open source software (OSS) project and freely available on the internet under the address
Please contact the mico-E team at micoe@math.uni-goettingen.de. File handlingThe open-source EiffelBase library of fundamental structures contains a set of extensively used classes for platform-independent file manipulation: FILE, RAW_FILE, PLAIN_TEXT_FILE, PATH_NAME, FILE_NAME, DIRECTORY_NAME, DIRECTORY. These classes have proved extremely useful but could benefit from major improvements:
EifskellThe programming language Haskell provides an interesting approach to non-imperative programming based on higher-order functional operators. With Eiffel's Agent mechanism it seems possible to provide the equivalent of Haskell, without any language extension, through an Eiffel library. Such a project -- which we may call "Eifskell" -- could be particularly useful to people interested in getting the best out of two powerful styles of programming. 3-D graphicsThe EiffelVision 2 library from ISE is a major development in portable graphics, unique in its power, flexibility, ease of use, and coverage of the controls and widgets of modern graphics platforms (Windows and GTK).Currently, EiffelVision 2 does not support 3-D graphics. An interesting project (probably a collaborative effort) is to add OpenGL support in line with the spirit and techniques of EiffelVision 2. If you are interested in this project (which has already started with a number of people collaborating) please contact Mark Bolstad from Lockheed-Martin/Environmental Protection Agency at bolstad.mark@epamail.epa.gov Algorithms and library tutorThis system should help developers find their way into the wealth of data structures and algorithms provided by EiffelBase. Ideally, it will also serve as a data structure and algorithm tutor, helping programmers learn about "Knuthware" (fundamental DS&A) and pointing them to the corresponding library solutions. A challenge in this project is to maintain a separation between a general-purpose, domain-independent engine, and a specialized knowledge base that knows about a certain area (such as Knuthware) and a certain library (EiffelBase). This way the Tutor can follow extensions and modifications to EiffelBase, and be adapted to other libraries (e.g. EiffelVision). Ideally it should be possible to generate an initial version of the knowledge base automatically from an analysis of the library, using the tools of EiffelBench.
|