Obafemi Awolowo University

A School on
Software Engineering using the UML

and

Formal Modelling and Verification in CSP
 

Date: 14 - 25 May, 2007

Host:

Computer Science & Engineering Department,

 Faculty of Technology, 

Obafemi Awolowo University,

Ile-Ife, Nigeria.

Sponsor

International Institute for Software Technology, The United Nations University.

Introduction | Aims of the school |Participants |The Lecturers | Host and Facilities |
Financial Supports
| Local Organisers and Contact| How to Apply | Registration Notice|


 

Introduction

Information and Computer Systems Technology play an important role in the economic growth of Africa. Experience from developing countries, such as India, has shown that the Software Industry is powerful tool for economic growth. The availability of well trained man power remains the most important engine that drives the Software Industry. Developing manpower in Software engineering, is therefore, the first major step in the direction of developing the Software industry.

To address this problem, software development needs to rely on modern engineering principles, methods and tools with the aim of meeting international standard and the high-quality required from globally competitive products. This school has been designed to exposed the participants to software engineering using the UML and CSP.

The UML is a (semi-formal) modeling language widely accepted as a standard that supports modeling design and implementation of software systems. It is easy to learn and close to software practitioners' intuition,  and constitute an ideal medium for communication amongst software engineers.


On the other hand, CSP is a (completely formal) modelling language extensively used to build rigorous mathematical model for software and hardware systems. It enjoys a solid underlying mathematical theory and is amenable to machine manipulation and analysis. Thus, it has been a popular medium on which many powerful automated tools are based.

On behalf of the Faculty of Technology, Obafemi Awolowo Univeristy,  Ile-Ife, Nigeria and the International Institute for Software Technology of United Nations University (UNU-IIST)  you are invited  to participate in a school on Software Engineering using the UML and CSP. The school will address problems relating to High Quality Software Development using the Unified Modelling Language (UML) and Communicating Sequential Processes (CSP).  The school will address specific theme on software development in the context of African environment. The school will take
place between May 7 and 28, 2007.

Aims of the school

The overall purpose of the school is to give an understanding of the problems of large-scale software development and how this can be solved using object-oriented and formal techniques. The main aim of the module is to teach the understanding and use of object-oriented and formal methods to analyse, specify, design and implement large computer systems.

The specific goal of the school is to provide lecturers, researchers, developers, and managers from Nigerian and neighboring African countries, with the state-of-the-art software development techniques. The school will also give participants a chance to exchange experiences, ideas, problems and  solutions. Participants will also have the opportunity to
exchange ideas on university curriculum with the lecturer and colleagues.

 

Title: Software Engineering using the UML

Course contents

1.      Introduction: Software crisis and historical background of Software Engineering; features of modern software systems, software products and their characteristics: maintainability, dependability, efficiency and usability.

2.    Software Development Process: Requirement analysis; system design; implementation and unit testing; integration and system testing; operation and maintenance; the waterfall model; Rational Unified Development Process (RUP).

3.      Introduction to OO Development: The inherent complexity of software; mastering complex systems; examples of complex systems; function oriented vs object-oriented methods.
 

4.      Object-oriented requirement capture and analysis: Case study; requirement specification; use cases; conceptual models, use case based project planning; testing based on use cases.

5.      System Behaviour: System input events and system operations; contracts; from analysis to design.

6.     OO Design: Interaction diagrams; UML notational issues. creating interaction diagrams, patterns for assigning responsibilities; connecting user interface objects to domain object; design class diagrams; use interaction for testing plan.

7.      Implementing a Design: UML notation for interface details; mapping a design to code; container/collection classes in code.

8.      Advanced Modelling Concepts and Design Techniques: Iterative development process; generalization; abstract classes; associative classes; UML notation for packages; modelling behaviour in state diagrams; Formal use of UML.

 

Title: Formal Modelling and verification in CSP


Course contents:

CSP (Communicating and Sequential Processes) is a formal language invented by Hoare, Brookes, and Roscoe of Oxford in early 80s. It is designed specially to model and reason concurrent and communicating systems, and has a comprehensive tool set to support automatic verification based on a notion of refinement.
 
Many aspects of computer systems involve some form of interaction between different identities. CSP has been used extensively in the modelling and analysis of hardware (e.g. synchronous/asynchronous circuits, processor RTL design, etc.), software  (objects, components, UML, etc.) and distributed systems (distributed protocols, security protocols, etc.).
 
In this course we will give you a gentle introduction to CSP, concentrating on CSP operators, the concept of deadlock, refusal and refinement, and the formal semantics (esp. operational one). Examples are given to illustrate the ideas and some demonstration of tools to sketch the procedure how to apply CSP on realistic problems. Finally we will also mention some work on using CSP to formalise UML and the benefits in doing so. Detailed course contents are below:

 

1.      Events and Processes:  representing communication and interaction; components and interfaces; levels of abstraction.

2.    Interaction and deadlock: internal and external choice; non-determinism; traces and refusals; process refinement.

3.    Concurrency: parallel combination; specifying interfaces; static alphabets.  

4.    Abstraction: changing levels of abstraction; mechanisms: interleaving, renaming, and hiding; abstraction and non-determinism.

5.    Applications: case studies and applications, including: communication protocols; critical systems; objects, classes, and threads.


A list of books that helps self-study (not required for the course) is below:
 
Tony Hoare (1985): Communicating Sequential Processes, Prentice Hall.
http://www.usingcsp.com/cspbook.pdf

Bill Roscoe (1998): The Theory and Practice of Concurrency, Prentice Hall. http://web.comlab.ox.ac.uk/oucl/work/bill.roscoe/publications/68b.pdf

Steve Schneider (1999): Concurrent and Real Time Systems: the CSP Approach, John Wiley.
 

The Lecturers

            Zhiming Liu

Zhiming Liu received his PhD from the University of Warwick (UK) in 1991. He worked as a research fellow at the University of Warwick during 1988 -1994, a lecturer in Computer Science at the University of Leicester (UK) during 1994-2005. He joined UNU-IIST as a research fellow in July 2002.

Zhiming Liu's research includes formal methods and theories of computer systems development, in particular in the areas of Real-Time, Fault-Tolerant Systems, Object Systems and Component Systems. He has about 60 publications in main stream journals, including ACM TOPLAS, Theoretical Computer Science and Formal Aspects of Computing, and proceedings of conferences and edited several books and journal special issues.

Zhiming Liu is a member of the editorial board of International Journal on Innovations in Systems and Software Engineering. He is the founder and the Chair of the Advisory Committee of ICTAC (International Colloquium on Theoretical aspects of Computing), the founder and chair of the Steering Committee of FACS (Workshop on Formal aspects of Component Systems). He is a member of the Steering Committees of SEFM (IEEE Conference on Software Engineering and Formal Methods and TASE IEEE & IFIP Conference on Theoretical Aspects of Software Engineering).

More information about Zhiming Liu can be found in his homepage http://www.iist.unu.edu/~lzm

 

Xu Wang

Dr. Xu Wang is a member of the academic staff of IIST, United Nations University (located in Macau). He received his PHD from Institute of Software, Chinese Academy of Sciences in 2000. Before joining UNU-IIST, he held research positions at HKUST, Oxford University and Birmingham University. He is mainly interested in CSP/FDR model-checking and advanced state space reduction techniques.

You can contact Dr. Xu  Wang  using the email address: wx@iist.unu.edu

Course venue

    Room 209/210, Computer Buildings, Obafemi Awolowo University, Ile-Ife

Participants

The School is meant for college and university teachers in Software Engineering, Computer Science and relate subjects. Postgraduate students and qualified IT professionals may also apply.  We welcome applications from Nigeria and the countries in West Africa. We plan to invite 5 participants from West Africa (outside Nigeria), 20 from Nigeria (outside Ile-Ife) and 10 from Ile-Ife.

Host and Facilities

The Department of Computer Science and Engineering will host the school. The following facilities will be provided by the host:

1.       Lecture rooms with comfortable furniture, air-conditioning, and Magicboards

2.       Computers, E-mail/Internet access for the participants and lecturers

3.       LCD projector

4.       Secretariat (for arranging visa, local transport and accommodation for participants and lecturers, registration, etc.)

All the participants of the school will be provided at no cost:

1.      Refreshment at the breaks (tea, coffee, snacks, etc.)

2.       Lunches on class days (i.e. Monday-Friday)


Financial Supports

The school is supported by the International Institute for Software Technology (UNU-IIST) and the Obafemi Awolowo University.  Participants will be provided the course materials, refreshments during breaks and lunches during weekdays. International and National (outside  Ile-Ife) Participants will be provided accommodation (2 per room).    Limited funding for travel is available for International and National participants. Please indicate the itinerary, mode of transportation and expenses required in your application.

There is no tuition fee to be paid by participants at the school, but participants are expected to contribute to their own expenses for travel, accommodation and meals.
 


How to Apply

We welcome applications to attend the school. Participants should send their application including a CV and 2 reference letters. The application should contain:

1.      Name

2.      Gender

3.      Affiliation

4.      Address for correspondence

5.      Email address

6.      Telephone number

7.      Fax number

8.      Resume

The resume must describe the applicant's academic qualifications, teaching or industrial experience, technical background, as well as specific interests in software engineering. It should also indicate the levels of proficiency in English as the courses will be conducted in English.

Applications should be e-mailed (plain text only) to the school coordinator at:

E-mail:school_app@iist.unu.edu

URL:http://www.iist.unu.edu/www/school/nigeria07/

The deadline to receive all applications is February 28, 2007. All applicants will be informed about the acceptance/rejection of their application by April 4, 2007. Accepted applicants are required to confirm their attendance by April 15, 2007.


Registration notice

1.      Registration time and location
Time:
May 14, 2007
Location: ROOM 206 Computer Buildings, Obafemi Awolowo University, Ile-Ife, Nigeria.

2.      Transportation
 

·         If coming from Lagos or Abuja, come to Ile-Ife by public transport. On getting to Ile-Ife, you can take a taxi from the motor park to the OAU campus. Ask to be dropped at the Computer Buildings.

Accommodation
 

·          International and National participants who will be supported by the UNU-IIST will be housed in standard rooms at the University Conference Centre. Two people will share a room.  Participants are to be responsible for bills, e.g. telephone, entertainment, etc., that they incur. The UNU-IIST will NOT be responsible for any bill incur without prior approval.

·         Other participants may make arrangement for themselves in hotels near the campus or make bookings for  rooms at the University Conference Centre.

Local Organisers and Contact

For further information, please do not hesitate to contact the co-coordinator  via e-mail or telephone:

Dr. Odetunji Ajadi ODEJOBI, Room 109, Computer Buildings, Obafemi Awolowo University, Ile-Ife, Nigeria. Phone: 234-(0)8066430629.  E-mail: oodejobi@oauife.edu.ng or oodejobi@yahoo.com

OR

Dr. Adesola G. ADEROUNMU, Head, Computer Science & Engineering Dept., Obafemi Awolowo University, Ile-Ife, Nigeria, Phone: 234-(0)8035177940,E-mail:gaderounm@oauife.edu.ng

Last updated: 2006/Dec/27