|
|
| ||||||
| Status of implementation of project activities | ||||||||
Hardware/software codesign is a design technique which delivers computer systems comprising hardware and software components. This project aims to provide a tool-based design technique in support of design of hardware/software mixed systems. In particular we concern with the reconfiguration issue of the hardware, where the resource allocation strategy has to be optimised.
Traditional system specifications always abstract from resources. However, it is unavoidable to append resource constraints in later system implementation. This project will cope with the following topics
This project investigates the key issues in application of the technology. These include: the consistency problems of integration of different views of a component, component composition, component coordination, component composition, component system reconfiguration, component reuse, and transformation for platforms. We focus on the development of theories and methods that help the understanding the ideas of model-based development, including the notions of interfaces, contracts, services, connectors and architecture; and support the analysis and synthesis of component systems.
A number of possible avenues have been identified:
Using the UTP approach, we add to the specification of a method a time constraint which is a relation between the resource availability and the amount of time spent to perform the method. We define a contract to include method specifications, and define a component as an implementation of a contract. Our model supports the separation between functional and non-functional requirements, and the formal compositional verification of component-based real-time systems [26][28].
We were able to transfer our previous results on specification mutation testing [33] to Hoare & He's Unifying Theory of Programming. The result is a fault-based testing theory as well as two new test case generation techniques for detecting anticipated faults: one is based on the semantic level of design specifications, the other on the algebraic properties of a programming language. This work has been submitted to be included in a special issue of the Formal Aspects of Computing Journal and is currently in a revision phase [34].
Previous work on a test case generator for RAISE has been accepted for publication [35]. This work combines algebraic and model-based test case generation techniques.
A new fault-based test case generator for OCL has reached a prototype level. Fault-based testing is a technique where testers anticipate errors in a system under test in order to assess or generate test cases. The idea is to have enough test cases capable of detecting these anticipated errors. We translated our general testing theory to a constraint satisfaction problem and implemented a constraint solver for finding test cases for given errors. The work has been submitted to FM 2005 [36].
A fault-based testing method for distributed systems has been developed. Here, we used the CADP tools 1 to generate test cases from event-based specifications. As a case study parts of the HTML protocol have been modeled in order to test web-servers for common faults [37].
To achieve its objectives the project intends to bring together techniques for certification, program understanding, validation, and verification, culminating in a framework for monitoring, evaluating, and certifying open source software products. While not intended to directly change the process of open source development, some effect on that process is likely as certification becomes common.
We will continue to develop the RAISE tools, particularly in integrating them with OO and graphical approaches. We will also seek opportunities to work on suitable applications, especially in collaborative projects
There have been three activities in 2004:
We have invited two more fellows from Tianjin UoST and plan to make some courseware and provide a series of e-learning courses on XML in support of the training programme of the e-Macao project. This will be based on using local connections to run courses in real time, and on making the courseware available via the UNU-IIST website.
All data is held on a web server maintained by UNU-IIST and located in Macao. This centralised implementation will allow the repository to act as an archive for long-term protection of the data and provide robust and efficient access for users. Eventually each collection will be managed separately, with the data extended and edited remotely using on-line forms by the organisation that owns it.
e-Macao is a two-year cooperative research, development and capacity-building project in the area of e-government. The aim of the project is to advance the state of e-government in Macao through software research and development, and specialised training of the government IT staff. The technical focus is on middleware support for e-services, delivered by government agencies to citizens (G2C), businesses (G2B) or other agencies (G2G), and implemented using sound, rigorous software development methods.
The project consists of 20 tasks in four activity areas:
The project officially started on 1 July 2004.
The status of individual tasks is as follows:
This project aims to strengthen all aspects of computer science teaching in universities in developing countries.
Under the project, we are trying to arrange for (generally young) computer science lecturers or professors from universities in developing countries to learn new courses at partner universities in industrialised countries for one semester as a fellow, at the same time providing them with the supporting course materials. Then when they return to their own universities they use the knowledge they gain, together with the supporting course materials, as the basis for improving and updating existing courses or introducing new courses into the teaching curriculum of their own university. With our arrangement, the partner universities provide the use of their facilities free of charge and in particular without payment of tuition fees. UNU-IIST provides recommended text books for each of the courses the fellows study, and these text books become the property of the fellows' home department when they return.
In order to evaluate the impact of the project, a survey among the ex-DCSDep fellows has been made. 17 (out of 40) fellows have responded to the questionnaire. According to the results, the DCSDep fellowships have very good contributions to the development and improvement of the Computer Science curriculum of the home universities of the fellows. Some new courses and new content have been introduced in their home universities as a result of their fellowship. However, the fellows have only limited opportunities to share the knowledge they gained during the fellowships with other universities in their home countries.
UNU-IIST organised two workshops, one in Ibadan, Nigeria, 19-23 October, 2004, and one in Hanoi, Vietnam, 28-31 December, 2004 to disseminate and to evaluate the fellowship results. The workshops attracted a great attention from the universities in Nigeria and in Vietnam: the number of regular participants of each workshop was 40. Our fellows gave interesting presentations in the workshops sharing their knowledge with others. There were also presentations from other university lecturers to exchange their experiences in computer science curriculum development.
We also invited 4 fellows from Palestine, Peru and DPRK (2) to Macao to revise and develop computer science curricula for their departments under the supervision of our staff. The results of their work are reported in 4 UNU-IIST reports [43][44][45][46].
Under the project IT Training Courses and Schools in Developing Countries, UNU-IIST aims to disseminate sound modern approaches to software development in developing countries. IT Schools and Courses are organised jointly with host institutions. The courses are in two categories: formal methods and software engineering, and system development.
Formal (mathematical) methods are being increasingly used in Europe and the USA and are starting to be important in developing countries. In particular, formal methods are becoming advised or even mandatory for the development of safety-critical and defence software.
The aim of the courses is to propagate research into and application of formal software development techniques, with the hope that developing countries can accelerate their progress in being self sufficient in software technology, and even become providers of services and products elsewhere.
The courses on software engineering and system development aim to introduce the advanced methods, techniques and tools that are widely used in industry for software development. They cover project management, object-oriented software development with UML and the Rational Unified Development Process, Component-Based Software Development, and Software Testing. These topics are often taught together with those on formal methods so that the participants can integrate formal methods and practical software engineering in their further study and practice.
IT Schools, however, have a wide range of topics in computer science not just in software technology, and consist of several courses. Courses in a school are taught by experts invited from universities and industries as well, not just by UNU-IIST staff.
In 2004, together with their host institutions, UNU-IIST organised or sponsored 6 training schools in Slovakia, Kazakhstan, Vietnam, China (2) and Brazil. About 260 participants from developing countries of all continents attended the schools. See appendix * for details. UNU-IIST staff presented:
| Status of implementation of project activities | ||||||||
|
|
| ||||||