SCOOP - Simple Concurrent Object-Oriented Programming - is a practical framework for the development of high-quality concurrent software which carries the advantages of object technology and Design by Contract to the concurrent context. Its simplicity relies on basic O-O concepts; its expressiveness and modelling power is due to the full support for advanced O-O mechanisms and Design by Contract. Unlike most existing concurrent O-O languages, SCOOP is a full-blown O-O language: it supports (multiple) inheritance, polymorphism, dynamic binding, genericity, and contracts. One main goal of SCOOP is to hide the synchronization problems - a major problem in the concurrent programming context - from the programmer.
The EVE project provides a research branch of EiffelStudio. The goal of the EVE project is to avoid individual modifications of EiffelStudio. Instead of having a single research branch of EiffelStudio, code-named Eve for ETH Verification Environment provides a research environment around the EiffelStudio which includes the outgrowth of CDD, AutoTest, Ballet, Origo plug-in, Escher, SCOOP, Proof-Transforming Compilation plugin and anything else we may dream of in the future.
So far EVE does not include any support for SCOOP. This project is about extending EVE so that it supports the development and execution of SCOOP programs.
Type of project:
Lab project Fall 2008
TrucStudio - Improving the Truc sharing facility
Planning and executing quality courses and curricula are difficult tasks and require both a thorough knowledge of the domain and a systematic approach. Trucs (Testable Reusable Units of Cognition) and their finer grained equivalent Notions allow to capture the content of educational material (which consists of chunks of knowledge) and provide the basis for a well founded approach to course planning. TrucStudio is the software system that builds upon this methodology. At the current stage it provides instructors with domain modeling facilities and supports basic course managment features.
This project improves the existing Truc sharing functionality for the TrucStudio entities. Since its initial implementation changes were made on the entity model, in particular the transition from the tree model to a DAG model, making it possible to create clusters within a cluster. Unfortunately, most of the updates needed in TrucStudio were only made within the core functionality of TrucStudio. The scope of this project will be to find the problems introduced by the changes regarding the server functionality, develop possible solutions and implement them. Besides this, there are several open wishes and issues to be implemented regarding gui / server handling.