2 Status of implementation of projects
UNU/IIST views its seven major lines of programmatic activities as one
"programme". This programme is decomposed into a number of
individually managed and staffed projects:
- Computing Science Research with Fellows
- Advanced Software Technology Development with
Fellows
- Curriculum Development with Fellows
- Fellow Training
- Post-graduate/Post-doctoral Computing Science
Courses
- Events
- Dissemination
All projects are designed to serve the public and private sector
institutions of developing countries by increasing self-reliance in
the following three areas:
- [(a)] own development, by industry, of advanced software
technology
- [(b)]highest-level post-graduate software engineering
education
- [(c)] internationalised computing science research
These projects are closely interlinked. All UNU/IIST research,
advanced development and curriculum development projects have a
training component and involve one or more Fellows.
Likewise, the post-graduate courses and the seminars and events
sponsored or organised by UNU/IIST fit into UNU/IIST's research and
advanced development agenda.
UNU/IIST's emphasis is on research into, advanced development of, and
training in methods for the development of Real-time, Reactive,
Hybrid and Safety Critical Systems and Software Support for
Infrastructure Systems -- the former a major focal point for international
research and the latter a major concern in the socio-economic
development of developing countries.
- Abstract
- Real-time hybrid systems form an important class of
today's computer-controlled systems, such as computer-controlled
lifts, robots, assembly lines, etc. Typically they are
computer-embedded systems, where computers interface to and control
physical equipment. Such systems are often required to respond to
externally generated stimuli with specified real-time constraints.
System safety and reliability are extremely critical.
The DeTfoRS project conducts research with UNU/IIST Fellows and
Visitors on formal design of real-time hybrid systems to ensure their
crucial requirements.
The DeTfoRS approach is based on the Duration Calculus (introduced by
Zhou Chaochen, C.A.R. Hoare and Anders P. Ravn in 1991). Duration
Calculus, abbreviated as DC, is a logic for specifying and reasoning
about the duration of states over intervals of time, where states are
boolean functions of time, and the duration of a state over a time
interval is the accumulated time of the state presence in the
interval. DC has attracted considerable attention from the
international research community, and many reports on DC have been
published since 1991. UNU/IIST, as one of the main research centres
for DC, has become an acknowledged leader in this field.
- Staff responsible
-
He Jifeng
Dang Van Hung
Xu Qiwen
- Fellows
-
Xia Yong: 1 September 1997 -- 27 November 1998, China
Zhao Jianhua: 27 August 1997 -- 13 September 1998, China
Pablo Giambiagi: 5 September 1997 -- 13 March 1998, Argentina
Victor Braberman: 14 September 1997 -- 28 February 1998, Argentina
Gerardo Schneider: 1 September 1997 -- 28 February 1998, Uruguay
Hu Chengjun: 30 November 1997 -- 30 May 1998, China
Thomas Rasmussen: 15 January 1998 -- 7 March 1998, Denmark
1
Sheila Karipel: 1 March 1998 -- 31 August 1998, India
Catalin Dima: 1 March 1998 -- 31 August 1998, Romania
Dimitar Guelev: 1 March 1998 -- 31 August 1998, Bulgaria
Wang Ji: 30 March 1998 -- 30 May 1998, China
Wang Hanpin: 15 May 1998 -- 31 August 1998, China
Zhan Naijun: 1 July 1998 -- 30 June 1999, China
Ekaterina Pavlova: 1 September 1998 -- 28 February 1999, Russia
Hou Jianmin: 1 September 1998 -- 28 February 1999, China
Tran Van Dung: 1 September 1998 -- 10 April 1999, Vietnam
Li Li: 1 September 1998 -- 31 July 1999, China
Rusdi Md Aminuddin: 1 September 1998 -- 28 February 1999, Malaysia
Ma Huadong: 9 November 1998 -- 8 February 1999, China
- Visitor
-
Paritosh K Pandya: 15 June 1998 -- 30 June 1998, India
- Partner Institutions
-
East China University of Science and Technology, Shanghai, China
Beijing University, China
Changsha Institute of Technology, Hunan, China
Nanjing University, China
Technical University of Denmark
Tata Institute of Fundamental Research, India
University of Buenos Aires, Argentina
Universidade Catolica de Pelotas, Brazil
National University of Hanoi, Vietnam
Naval Physical & Oceanographic Laboratory, Cochin, India
University of Bucharest, Romania
University of Sofia, Bulgaria
Chinese Academy of Sciences, Beijing, China
University of St. Petersburg, Russian Federation
University of Communication and Transport, Vietnam
University of Science and Technology, Hefei, China
Northern University of Malaysia, Malaysia
Beijing University of Posts & Telecommunication, China
- Outputs
- The achievements in 1998 can be summarised as follows:
- New algorithms for checking real-time systems
against linear duration properties based on integer verification techniques
[1][2].
In comparison with other
conventional methods, these can reduce
space complexity significantly.
- A procedure for checking a timed automaton for a linear duration
invariant using linear programming techniques [3].
Compared with the one developed previously
in UNU/IIST, the new one can be applied to
a much wider class of timed automata.
- Integrating Duration Calculus with the industrially-applicable
specification notation RSL [4].
As a result, the existing RSL tools can be employed to
prove DC theorems. An operational semantics of the extended
RSL is also being
developed.
- A first step towards a Duration Calculus semantics of a commercially
available hardware description language Verilog [5].
- Incorporating verification and refinement techniques for time automata
in DC.
- A calculus of duration on abstract domains ([6]).
This provides a unified framework for some extensions of Duration
Calculus dealing with superdense computation.
- Verification of the STARI circuit ([7][8]).
- Interval Temporal Logic with infinite intervals ([9]).
- Further development of the DC proof assistant based on PVS ([10][11]).
- Relationship between theory of real-time automata and simple
Duration Calculus formulae ([12]).
Reports and Technical Notes produced in 1998 by the group are:
[1][5][3][13][6][14][15][2][16][17][18][19][7][8][12][10][11][9].
There were 18 presentations at international conferences and workshops
in 1998 by fellows, ex-fellows and staff:
[20][21][22][23][24][25][26][27][4][1][5][3][28][29][30][31][32][33].
Real-time embedded applications vary in size and scope from
wristwatches and microwave ovens to factory automation and nuclear
power plant control systems. Applying a general methodology to the
development of such systems means that it must meet the tight
performance and size constraints of small 4-bit and 8-bit controllers,
yet also scale up to networked arrays of powerful processors coordinating
their activities to achieve a common purpose. Most embedded systems
interact directly with electrical devices and indirectly with
mechanical ones. Programming these device drivers requires intimate
knowledge of the electrical properties and timing characteristics of
the actual devices. Furthermore, virtually all embedded systems either
monitor or control hardware, or both. The design and analysis of such
an integrated and tightly coupled mixed hardware/software system (e.g.
a sensor or PC network card) and its associated software driver are
bound to be challenging.
In the hardware industry, simulation is often considered
synonymous with verification. The design process usually consists of
developing an implementation from a specification without use of any
formal proof techniques. The intended implementation's hardware and
software are then simulated for a number of inputs (an approach known
as co-simulation). Bugs are then discovered and removed, and the
simulation process is repeated over again. In the past few years, there
have been several successful hardware/software verification efforts,
some using model-checking techniques, others using higher order
logic systems, and others based on functional calculi. However, formal
verification cannot completely replace the existing simulation
approach. This is because simulation provides powerful and more
accessible tools for rapid prototyping and testing. What is needed is
an approach where the design process is soundly based upon formal
techniques, but includes integrated support for simulation. This
combination would bring more reliability within an environment which
does not require a complete changeover from current practice.
Therefore, an important and timely issue for the correct design
of mixed hardware/software in the next century is the search for a
highly compositional lean formal approach that enables us to
keep up with the fast growth in the complexity and variety of
electronic devices and their associated software. By compositional approach, we include any method by which the
properties of a system can be inferred from properties of its
components, without additional information about the internal
structure of those components. And by lean formal approach, we
take the view that the method must be supported by automated tools
which make the method more widely accessible to industrial users. Such
tools should provide compositional rapid prototyping, testing and
verification.
We are going to develop an integrated and practical approach for the
compositional specification, design and analysis of mixed
hardware/software systems. The project starts with a unified theory
to ensure complete consistency between different stages in the
development process and different parts of the product. The theory
promises to cross all the boundaries involved:
- event and state
- continuous time and discrete time
- hardware and software
- simulation and verification
- abstraction and execution
Our semantics will take the form where each module may be modelled by
a DC formula, based on hybrid time interval, describing its signal's
behaviour during the module's life-time, and each component within a
module is described in the shared-state model. Since sharing output
is a main feature of hardware, we can tackle both racing conditions
and instability. This requires a conservative extension to DC
semantics.
We will test the theory by application to commercially available
design notations (the hardware description languages Verilog and VHDL)
and a number of case studies.
Our objective is to improve confidence in robustness of systems
developed in a mixture of hardware and software, and to reduce
development time for delivery and upgrading of consumer products,
implemented in mixed technology. This would be achieved by
performing the following work packages:
- Unified model for co-design which incorporates features of CSP
(Communicating Sequential Processes) and Duration Calculus or ITL
(Interval Temporal Logic):
- A combined event-state model.
- Specification-oriented semantics of a subset of Verilog.
- Exploring compositional development strategies:
- Refinement calculus for the unified theory.
- Algebra of Verilog programs.
- Protocols for interfacing hardware and software components.
- Linking specification-oriented semantics with simulation
semantics of Verilog:
- Consistency of various styles of semantics.
- Derivation of a simulator from algebraic semantics.
- Proof of concepts. It is fundamental to our approach that the
theory developed should be applicable to real-world mixed
hardware/software systems. We are going to perform some proof of
concept experiment, and to ensure that the formal design process,
analysis and algebraic manipulation can be supported by CASE tools
so that eventually much of the burden of formal design refinement
can be removed from the programmer.
The Advanced Development Projects of UNU/IIST are loosely grouped
by the idea of "Software for Infrastructures", and this notion
should be clarified.
According to the World Bank, "infrastructure" is an umbrella term for
many activities referred to as "social overhead capital" by some
development economists, and encompasses activities that share
technical and economic features (such as economies of scale and
spill-overs from users to non-users). UNU/IIST takes a more technical view,
and sees infrastructures as concerned with supporting other systems or
activities. Software for infrastructures is likely to be distributed
and concerned in particular with supporting communication of data,
people and/or materials. Hence issues of openness, timeliness, security, lack
of corruption and resilience are often important.
UNU/IIST pursues advanced development projects in order to fulfil its
Charter:
- to train Fellows from the public and private sectors:
universities, research institutes, business and industry
- to contribute to research
-- by trying also to understand the nature of infrastructures
- to propagate Design Calculi-oriented (i.e. Formal) Methods
for software development to universities, business and industry
- to help develop advanced, initially
public domain software in close cooperation with industry and business
- to help bring software producing and/or
relying industries, businesses and other institutions of developing countries
at least on a par with those of industrialised countries
- to disseminate
results, including abilities and software, to other developing countries
A more detailed discussion on the motivation of UNU/IIST advanced
development projects
is given in the Annual Report for 1996.
Almost all Fellows are identified through UNU/IIST's advanced
development courses. Projects are then chosen with their
institutions, mostly within the overall theme of infrastructure.
The typical project structure which is aimed at is as follows:
- Partner identification
- UNU/IIST finds one or more partners --
universities, research institutes or companies -- from one or more
developing countries. This often happens through advanced courses.
- Initial
- Fellows from partners come to UNU/IIST, typically for
6-12 months, to do the initial domain analysis and requirements
capture. This results in both natural language (English) documents
and formal specifications.
- Prototype
- Perhaps as part of the initial phase, perhaps as part
of a new one with new Fellows, a prototype may be created. This
serves to train in the final stages of software development and also
allows the project to obtain feedback from potential users.
- Product
- The focus of the project moves away from UNU/IIST to
the developing countries involved and
produces a product. UNU/IIST adopts a consultancy role.
Partners are asked to contribute to the initial and prototype phases,
and to increase their share of funding with each phase. To what extent they
are able to do so varies. Partners are expected to fund the product
phase themselves.
Since the results of the initial and prototype stages are wholly
or partly funded by UNU/IIST, they are in the public domain.
There are two aspects of the technical approach that are critical.
- Formality
Formal techniques have two particular characteristics that allow one to
deal successfully with large and complex systems.
- Abstraction
At a particular stage in development one can abstract away from some
details while concentrating on others.
- Rigour
Formal systems allow one to prove properties of systems, anything from
full correctness to particular properties (such as safety
properties). Full proof of correctness is beyond the state of the art
at present; rigour allows one to use (and document) informal arguments
which can be backed up formally if required. The amount of rigour
will vary between projects and between parts of a single project;
rigour gives flexibility.
- Domain analysis
Domain analysis is the exploration and formal description of the
domain in which the system will operate. For example, the RaCoSy
project, concerned with train rescheduling and jointly carried out
with the Chinese Ministry of Railways,
starts out by asking, and formally answering, the questions "What
is a railway?" and "What is a timetable?". These lead to other
questions: "What is a station?", "What is a (railway) network?".
Answering such questions, plus others about how these concepts relate,
gives a formal model of the domain. Only when
such a model is elaborated can the requirements capture of the actual
system being developed take place.
Domain analysis is often wider than the immediate system to be
developed. For example, the same domain analysis of railways was used
by another Fellow working on station management. Broad domain
analysis helps the development of related systems in the same domain;
one might say that the result of domain analysis provides an
"infrastructure" for software package development.
The particular formal method used in the advanced development
projects is RAISE. It is the most broadly applicable of the formal
methods available, and also mature, with good documentation and
tools. With the help of CRI, the tool providers, UNU/IIST also makes sure
that its partners receive the tools (free of charge for research and
education) for their continued work.
PortMan - Port Management
- Date of commencement
- September 1997
- Date of completion
- May 1998 (phase 1)
- Staff responsible
- Chris George
- Abstract
- Large ports need to deal with a number of disparate
activities: the movement of ships, containers and other cargo, the
loading and unloading of ships and containers, customs activities. As
well as human resources, anchorages, channels, lighters, tugs, berths,
warehouse and other storage spaces have to be allocated and
released. The efficient management of a port involves managing these
activities and resources, managing the flows of money involved between
the agents providing and using these resources, and providing
management information. Many separate computer management and
information systems will be involved. Integrated port management is
concerned with integrating these separate systems.
This project is concerned initially with a domain analysis of the port
components and their relations, and specifying the overall "backbone"
architecture of an integrated system.
- Outputs
- The objective in the first phase was to do the domain
analysis and produce a specification of that domain. We
produced specifications of several component systems:
- Vessel traffic management
- Container traffic control
- Cargo management information
Later phases, possibly also involving other partners, will probably
add financial management and
executive information components, and elaborate components in more detail.
A major aim was to make the initial descriptions generic - applicable
to any port, perhaps river ports as well as sea ports.
The basic domain analysis was completed, concentrating on ship and
container management [34]. For ships it deals with
anchorages, berths and channels
between them. For containers it deals with various storage areas and
the movement of containers between them. We also considered the creation
and execution of tasks, like berthing a ship, involving the allocation
of various resources, such as channels, tugs and pilots.
- Fellows
-
D.H.S. Sarma, ECIL, India, 1 September 1997 - 31 May 1998
N. Sathya Prakash, ECIL, India, 1 September 1997 - 31 May 1998
Both Fellowships were partly supported by ECIL.
- Partner
- Electronics Corporation of India Ltd. (ECIL)
- Status
- It was hoped to have one or two Fellows from ECIL to
start in September 1998. But apparently ECIL, while wanting to
continue the project, is currently unable to find suitable people
given its current staffing situation.
We hope also to invite one or more Fellows from Wuhan Jiaotong
University, who are interested in river port management.
MIICI - Enterprise Modelling, Analysis and Implementation
- Date of commencement
-
September 1997 (Phase 3)
- Date of completion
-
Fellows are invited until May 1999.
- Staff responsible
-
Tomasz Janowski
- Abstract
- The project is about the application of formal methods
to enterprise engineering, for business organisations in general and
for manufacturing organisations in particular. We study
formally-based notations, methods and tools to analyse, design and
re-design an enterprise as an engineering artifact. We emphasise the
need for building representations of enterprises at different levels
of abstraction and the need for formal underpinning for such
representations to allow comparing them. The issues range from
building enterprise models, relating models at different levels of
abstraction, analysis of models at given level, refinement from
abstract to concrete models, composition of models to represent
virtual organisations, implementation using current information
technology etc.
By addressing such issues formally, we aim to provide a technical
context to express and support newly emerged concepts like
outsourcing and virtual organisations, business process engineering
and re-engineering, recycling and product life-cycle, lean and
just-in-time production, concepts which are increasingly adopted by
manufacturing organisations worldwide to address challenges of
global competition and unstable market conditions.
- Outputs
- In the current phase we concentrate on modelling of
virtual organisations, composed from the enterprises for
manufacturing discrete-parts products. We adopted a unified view on
modelling core activities of an enterprise in terms of
product-related resources, processes and business goals. The goal is
to fulfill a set of orders for manufacturing and delivery of
products to customers (other enterprises). Each customer order is
implemented by a single process which executes a sequence of
manufacturing operations on the shared resources, concurrently with
other processes. The process may also issue orders for buying
products from other enterprises, making its own goal conditional on
the satisfaction of such orders. In the virtual organisation we are
able to model supply-chains, outsourcing and cooperation between
individual enterprises. We allow enterprises to interact by matching
one enterprise's purchase orders with another enterprise's customer
orders. We allow them to cooperate by a process which partly
executes on the resources of one enterprise and partly on another's,
crossing organisational boundaries. We also allow them to compete
for purchase orders, by marketing activities which can influence the
consumer's choice.
In this stage, we revised Research Report 92 about the integration
of enterprise models and models for marketing analysis, which was
presented by Gustavo Lugo at the 2nd IFIP Conference "Design of
Information Infrastructure Systems for Manufacturing" (DIISM98),
Denver, USA, May 1998 [35]. We also produced report
Research Report 131 about composition of enterprise models, which
was presented by Tomasz Janowski at the 3rd IEEE/IFIP International
Conference: Information Technology For Balanced Automation Systems
in Manufacturing (BASYS98), August 1998, Prague, Czech Republic
[36]. Finally, we also produced report Research Report
137 about operational semantics for enterprise models, which was
presented by Zheng Hongjun at the 2nd IEEE International Conference
on Formal Engineering Methods (ICFEM'98), December 1998, Brisbane,
Australia [37].
- Fellows
-
Gustavo Lugo, CEFET, Parana, Brazil, 1 September 1997 - 31 May 1998
Zheng Hongjun, Peking University, China, 3 November 1997 - 15 August 1998
Huang Biqing, Tsinghua University, China, 16 November 1998 - 15 January 1999
Liu Yonghe, Tsinghua University, China, 16 November 1998 - 15 May 1999
- Partners
-
Peking University, Beijing, China
South China University of Technology, Guangzhou, China
De La Salle University, Manila, Philippines
Federal Centre of Technological Education (CEFET) of Parana State, Brazil
National CIMS Centre at Tsinghua University, Beijing, China
- Status
- The project is expected to continue. With two fellows
from CIMS Centre in Tsinghua University, China, we aim to extend the
model to include service-based interaction between members of a
virtual enterprise, including but not limited to manufacturing
services (e.g. logistics, sales, product design, production
planning). With Liu Yonghe we also aim to design prototype software
for partner selection for the virtual enterprise.
MultiScript
- Date of commencement
- September 1995
- Date of completion
- March 1999
- Staff responsible
- Richard Moore
- Abstract
-
The MultiScript project is designing and implementing a software
system for creating and processing multi-lingual documents, that is
documents in which the text may be composed of several different
languages and scripts mixed together. Examples of such documents
include dictionaries which give translations from one language to
another, language teaching material, international business contracts,
and official documents in countries and territories which have several
different languages (e.g. Hong Kong, Macau, India) or two
different ways of writing the same language (e.g. Mongolia where both
the traditional Mongolian script and the Cyrillic script are used).
A wide range of information systems require computer support for such
documents. The most obvious example is perhaps a library,
though many other institutions, including universities, government
departments (particularly in countries where several different languages
are used), commercial industry, hospitals and
tourist information services, often need to store or make
available information in more than one language. This is particularly
true in developing countries where a large amount of the information
to be stored is likely to come from other countries.
The project places particular emphasis on allowing languages and
scripts with different reading and writing directions to be intermixed
in the same document while all still retaining their traditional
directionality. This is in direct contrast to much of the existing
software support for multi-lingual documents which tends to be
uni-directional, often imposing the standard left-to-right horizontal
directionality of the Latin script on all text.
The project is also contributing, under the International Organisation
for Standardisation's working group ISO/IEC JTC1 SC2 Working Group 2,
to the definition of an international standard encoding system for
traditional Mongolian script which will form part of the ISO/Unicode
international standard, a coding system which covers the majority of
the world's languages.
- Outputs
-
The first phase of the project performed a comprehensive study of a
wide range of existing multi-lingual documents, on the basis of which
a formal model of generic multi-directional multi-lingual documents
was defined. In addition, outline requirements for a software system
supporting the creation and browsing of multi-lingual documents were
also formulated.
Documents describing this domain analysis and outline requirements
capture were written, and these are summarised in a UNU/IIST Technical
Report [38]. This paper was presented at
the 1997 International Conference on the Computer Processing of
Oriental Languages (ICCPOL'97), Hong Kong, in April 1997 [39].
In the second phase of the project, the formal model was extended and
slightly modified to incorporate specifications of functions for
creating, editing and displaying (printing) multi-directional
multi-lingual documents. Three UNU/IIST Technical Reports detail the
results of this phase of the project. The first [40]
describes the (modified) basic model of multi-directional,
multi-lingual documents; the second [41] describes the
display and printing of such documents; and the
third [42] describes the creation and editing of such
documents. Some of the results from the second phase were presented at
the Workshop on the Principles of Digital Document Processing, part of
the 1998 Conference on Electronic Publishing (EP'98), which was held
in St. Mâlo, France, in March/April 1998 [43].
The reports from the second phase are being used as the foundation for
the design and implementation of a prototype software system in the
current phase of the project.
As part of its ongoing work with the International Organisation for
Standardisation's working group ISO/IEC JTC1 SC2 WG2, of which
UNU/IIST is an official member (category C), a proposal for the
standardisation of the coding for traditional Mongolian script has
been jointly prepared (UNU/IIST, Mongolia, and China) and was presented
at a meeting of WG2 in London at the end of September 1998.
- Fellows
-
Avirmed Amar, National University of Mongolia, 2 May 1998 - 25
March 1999
Myatav Erdenechimeg, previously a Fellow from NUM (September 1995
- August 1996), returned to Macau in September 1996, since
when she has continued to work on the project on a voluntary
basis as a Visiting Scientist at UNU/IIST.
- Partner
- National University of Mongolia (NUM), Ulaanbaatar
- Status
-
The development of the prototype MultiScript system is well underway
and is expected to be completed by the end of this phase of the
project.
ABC - Airline Business Computing
- Date of commencement
- September 1997 (phase 2)
- Date of completion
- March 1998 (phase 2)
- Date of commencement
- September 1998 (phase 3)
- Date of completion
- February 1999 (phase 3)
- Staff responsible
- Richard Moore
- Abstract
-
In the first phase of the project (September 1995 to September 1996) a
thorough analysis of the domain of airline business was carried
out. Following on from this, five members of staff from the
information technology division of Vietnam Airlines visited UNU/IIST
in July 1997 to discuss possible ways in which the project might
develop the earlier work. As a result of these discussions, it was
agreed that the project would concentrate on one
important aspect of airline business, namely flight effectiveness
analysis which allows an airline to assess a flight on the basis of
the revenue it brings in through passenger and cargo transport and its
cost.
In the second phase of the project (September 1997 to March 1998), two
Fellows from Vietnam Airlines developed a specification
[44] of the first
of the two parts of the flight effectiveness analysis system, namely
which data on cost and revenue are needed in flight effectiveness
analysis and how they are analysed to generate IATA standard reports on
flight effectiveness. One of the Fellows was entirely supported by
Vietnam Airlines.
After they returned to Vietnam, the two Fellows from the second phase
worked with the Fellow from the first phase and a group of potential
new Fellows on planning and preparation for the third phase of the
project. One new Fellow from the group came to
UNU/IIST in September 1998. He is developing a specification of part
of the
second component of the flight effectiveness analysis system, namely how
results from the flight effectiveness reports are used to help
the airline improve the
effectiveness of its flight operations. This work is being supported
(via email) by colleagues in Vietnam. When this specification is
completed, it will be used, together with the output from phase
2 of the project, as the basis for building a demonstrator software
system for the full flight effectiveness analysis system.
- Outputs
-
One UNU/IIST technical report [44] was produced at the
end of
the second phase of the project. This gave both an informal and a
formal description of the first part of the flight effectiveness
analysis system. Informal and formal descriptions of the selected
parts of the second component of the
flight effectiveness analysis system is well advanced and construction
of the prototype software system has begun.
- Fellows
-
Tran Manh Thang, Vietnam Airlines, 5 September 1997 - 4 March 1998
Nguyen Hong Viet, Vietnam Airlines, 5 September 1997 - 4 March
1998
Than Quoc Dang, Vietnam Airlines, 1 September 1998 - 28 February 1999
- Partner
-
Vietnam Airlines
- Status
-
A technical report on this third phase of the project and the
prototype software system are expected to be completed on schedule.
Casino - Methods and Tools for Building Software from
Components
- Date of commencement
- May 1997 (Phase 2)
- Date of completion
- Fellows invited till May 1999.
- Staff responsible
- Tomasz Janowski
- Abstract
- Most software today is built from pre-existing
components, often given in a form which allows then to be used but
not analysed (typically off-the-shelf components distributed as
binary files). Software design means composition and correctness of
the design relies on the correctness of individual components.
This practice saves on time and the cost of development and results
in products which are easier to upgrade and maintain. But it also
creates a host of basic but technically challenging questions and
problems: What in essence is a reusable component? What is the
semantics of a component? How can we abstract away from the details
of the semantics in order to decide suitability of a component for
the design? What is the "best" abstraction level for this? Given
two descriptions of one component (a specification and an
implementation) how can we make sure they are consistent? How do we
check consistency if the implementation details are unavailable
(because they are proprietary, remote or even non-existent)? How can
we formulate a request for a component? How can we choose one? How
can we assemble components and calculate the semantics of the
composition? To what extent can we adapt a component which fits only
partly into our design? How can we obtain components? How can we
store them for effective retrieval? How can we postpone "assembly"
till run-time, resulting in software which evolves with its
environment? What is the semantics of this? And so on.
The goal of the project is to study formally-based methods for
software design from pre-existing components, including but not
limited to the issues above. In particular, we look for a common
ground to use together formal methods (to predict the result of
putting components together) and fault-tolerance (to detect and
recover from errors of individual components at run-time). Based on
the results of such study we want to implement prototype tools to
perform specialised tasks like e.g. calculating the semantics of
composition, generating proof conditions, generating component
wrappers to monitor their behaviour at run-time, discovering
automatically the presence of redundancy among components, carrying
out transformations to exploit this redundancy, etc. We plan to
implement such tools rigorously using RAISE and integrate them at
the end into a single environment: Composition Workbench.
- Outputs
- So far the project work has gone into three areas of
study: (1) Fault-tolerance with Yun Xiaochun. PhD thesis based
on the results of the project: "Research on the reconfiguration
technology of reusable software components". One paper:
"Fault-Tolerant Software Composition from Verified and Unverified
Components", to be submitted. Describes how to assemble the
components to achieve reliability of the composition despite
possible failures of individual components. (2) Abstraction
with Elsa Estevez. Paper is written: "Bisimulation Abstraction for
Selection of Software Components in RAISE". Describes how
bisimulation can play the role of an abstracting equivalence for
selecting components described as RSL modules, concerned only with
their external behaviour. (3) Monitoring, with Wojciech
Mostowski from Gdansk, Poland, September 1998 until May 1999. Paper
and software are written: "Pattern-Matching for Software
Reliability via Run-Time Behaviour-Checking", how to use regular
expressions as formal specifications of software components, suitable
for checking their behaviour (by pattern-matching) at run-time.
Implementation under way to generate a component wrapper from its
specification.
- Fellows
-
Yun Xiaochun, Harbin Institute of Technology, China, 5 May 1997 - 25 January
1998
Wojciech Mostowski, University of Gdansk, Poland, 1 September 1998 - 31 May
1999
Elsa Estevez, Universidad Nacional del Sur, Argentina, 31 August - 18
December 1998
- Partners
-
University of Gdansk, Poland
Harbin Institute of Technology, China
Universidad Nacional del Sur, Bahia Blanca, Argentina
Institute of System Programming, Russian Academy of Sciences
- Status
- The project is expected to continue. A new fellow arrives
in January 1999: Mr. Babatunde Opeoluwa Akinkunmi from the
University of Ibadan, Nigeria. He will initiate the fourth area of
study: Composition. How to exploit applicative part of the RSL
language to specify individual components and imperative/concurrent
part to assemble them together. How to calculate the result of such
a composition, semantically.
Timed RAISE
- Date of commencement
- August 1997
- Date of completion
- Ongoing
- Staff responsible
- Chris George
- Abstract
- RAISE allows time to be modelled but has no specific
built-in facilities for dealing with real-time problems. Duration
Calculus (DC) is designed to describe and analyse timing properties of
hardware or software but does not have the features to support the
description of data structures, algorithms or the modularity of medium
or large-scale systems.
This project aims to integrate RAISE and DC. It also therefore
involves close collaboration between the advanced development and
research groups at UNU/IIST.
There are several aspects of the project:
- Extension of RSL: The features for describing time need to be
added to the RAISE Specification Language (RSL). Currently these are
a type for representing time (the non-negative real numbers) and a
wait construct for specifying delays. The static and dynamic
semantics of these extensions need to be defined. The extended
language is called Timed RSL (TRSL).
- Integration of TRSL and DC: If DC formulae and TRSL descriptions
can both be used in a specification of a system then there needs to be
some defined relation between them. One possibility is to define DC
in terms of RSL. This is possible but makes it complicated to reason
about DC formulae. A second possibility is to define a semantics of
TRSL in DC. This needs only to be a partial semantics that expresses
the timing characteristics of a TRSL description, as the untimed
characteristics can use the existing proof theory of RSL. This is the
approach currently being investigated.
- Combined method: The development methods of RSL and DC need to
be combined to support the development of TRSL descriptions. The
convenience and effectiveness of the method ultimately justifies the
choices made in the previous two activities.
- Outputs
- Anne Haxthausen of the Technical University of Denmark
drafted in 1996 a paper DC + RSL which encoded DC in RSL, i.e.
defined DC in terms of RSL. This was developed further by Xia Yong
[4] into a proof assistant for DC using the RAISE
justification editor, and used to verify the Gas Burner example.
Chris George proposed the extension of RSL with Time and
wait constructs, defining the syntax, static semantics, and
proof rules and outlining an operational semantics, all based on the
existing definitions for RSL. Xia Yong corrected an error in the
proof rules and completed the definition of the operational semantics.
Chris George started work on the method with a description of an alarm
system, developing the use of "timer variables" to support the
interpretation of RSL descriptions in terms of DC. He has also
started work on the proof rules needed to verify that TRSL
descriptions satisfy DC formulae. This work is now being continued by
Li Li.
- Fellows
-
Xia Yong, East China University of Science and Technology, China, 1
September 1997 -- 27 November 1998
Li Li, University of Science &
Technology of China, Hefei, China, 1 September 1998 -- 31 July 1999
- Partners
-
Technical University of Denmark
RAISE tools
- Date of commencement
- October 1997
- Date of completion
- Ongoing
- Staff responsible
- Chris George
- Abstract
- The current RAISE tools are comprehensive, robust and
suitable for industrial projects. They are free of charge for
teaching and research. But they currently only run on Sun
workstations, which are often not available in developing countries.
This project aims to provide tools for RAISE that are easily portable,
including to PC environments, and freely available as source as well
as executable form.
A second aim of the project is to involve universities in developing
countries in developing extensions to the tools.
- Outputs
- Chris George wrote a syntax and type checker for RSL
(RSLTC) at the end of 1997. It uses a public domain compiler
development system Gentle which seems to be a good basis for
such a tool. Gentle produces C code which is easily compilable on a
wide range of platforms.
The first version was placed on UNU/IIST's ftp site in February 1998.
A second version which also catered for Timed RSL was made available in
July 1998. Both versions were built on Sun, Linux, DOS and Windows
platforms.
Tan Xinming produced a confidence condition generator and
intends to work in future on a translator to C++. He Hua produced
a pretty printer and it is hoped that her group at Peking
University will work on further tools.
- Fellows
-
Tan Xinming, Wuhan Jiaotong University, China, 14 July 1998 -
13 September 1998
He Hua, Peking University, China, 1 September 1998 -- 31 December 1998
- Partners
-
Wuhan Jiaotong University, China
Peking University, China
While trying to keep within our overall theme of software for
infrastructures, we need to be "market oriented", to do projects
that our partners want to do. But we hope to market the work we have
already done and to build on it, perhaps with new partners, to use the
expertise and domain specifications that we have already generated.
- Date of commencement
- June 1996
- Date of completion
- Ongoing
- Staff responsible
- Chris George, Tomasz Janowski, Richard Moore
- Abstract
- UNU/IIST introduced the curriculum development
project in 1996. Under this project, UNU/IIST is trying to increase its
impact by assisting universities in developing countries to develop
their ability to teach the subjects in UNU/IIST's "agenda",
specifically the use of design calculi in software development.
This is a common feature of computer science curricula in developed
countries but much rarer in the developing ones. Fellows are
professors or lecturers who come to UNU/IIST, usually for 3-4
months, to develop material for use in undergraduate and
post-graduate courses. The material generally complements
UNU/IIST's own material used on its advanced development courses.
At the end of their stay, fellows take home the course material and
software for the support of the methods being taught.
- Outputs
- Fellows produce a report during their visit, usually
concentrating on a case study that can be used in teaching, and
sometimes producing some other course material like OHP foils.
All the material, both UNU/IIST's and that developed by Fellows
[45][46][47][48][49][50][51][52][53][54]
is publicly available on UNU/IIST's ftp site.
- Fellows
-
Marcel Fouda, 4 September 1997 - 3 March 1998, Cameroon
Tsend Ganbat, 1 September 1997 - 12 January 1998, Mongolia
Hrushikesha Mohanty, 5 May 1998 - 4 August 1998, India
William Shu, 1 May 1998 - 30 September 1998, Cameroon
Jong Hyen Chol, 1 September 1998 - 30 November 1998, DPR Korea
Choe Chun Ho, 1 September 1998 - 30 November 1998, DPR Korea
S. Alejandra Cechich, 14 September 1998 - 23 January 1999, Argentina
Toshiyuki Tanaka, 1 June 1998 - 31 July 1998 Japan
He Bin, 8 December 1998 - 31 March 1999, China
- Partner Institutions
-
University of Yaoundé I, Cameroon
Mongolian Technical University, Mongolia
University of Hyderabad, India
University of Buea, Cameroon
Wuhan Transportation University, Wuhan, China
Korea Computer Center, Pyongyang, DPR Korea
Central Information Agency for Science and Technology, Pyongyang, DPR Korea
Universidad Nacional del Comahue, Neuquén, Argentina
Kyushu University, Fukuoka, Japan
Southwest Jiaotong University, Sichuan, China
- Status
- We expect this project to continue. As well as being
able to introduce the material into their university curricula, we
use the expertise of these Fellows to teach UNU/IIST off-shore
courses, which reduces the cost of these courses in terms of the
time, travel and subsistence of UNU/IIST staff. UNU/IIST also
intends to extend the project by developing a course on mathematics
for computer science which could be offered alone or as a
preparatory course to the RAISE and Duration Calculus courses. One
fellow will come to UNU/IIST for 3 months beginning 28th May 1999 to
develop this course with UNU/IIST staff.
info@iist.unu.edu, 16 March, 1999