ICSE Shanghai 2006

28th International Conference on Software Engineering

Conference Center
Conference: May 20-28, 2006 | Main Program: May 24-26, 2006 | Co-located Events / Workshops / Tutorials: May 20-24 & 27-28, 2006
Online registration | Obtaining a Required Visa | Early Registration Deadline: April 10, 2006
Obtaining a Required Visa | Shanghai Information | Shanghai Attractions
Fuqing Yang | Barry Boehm | Reinhold Achatz
Keynotes | Research | Experience | Far East Exp. | Education | Achievements | Demos | Emerging | Workshops | Tutorials | More...
Organizing Committee | Program Committee

Designing Concurrent, Distributed, and Real-Time Applications with UML

F9: Designing Concurrent, Distributed, and Real-Time Applications with UML



Hassan Gomaa, George Mason University, hgomaa@gmu.edu


This tutorial addresses how to develop object-oriented requirements, analysis, and design models for concurrent, distributed, and real-time applications. Object-oriented concepts are crucial in software analysis and design because they address fundamental issues of adaptation and evolution. This tutorial uses the industry standard for object-oriented development, the Unified Modeling Language (UML).

Most books and courses on object-oriented analysis and design only address the design of sequential systems or omit the important design issues that need to be addressed when designing real-time systems. It is essential to blend object-oriented concepts with concurrency concepts to successfully design these applications. This tutorial describes the COMET (Concurrent Object Modeling and Architectural Design) Method for the development of concurrent applications, in particular distributed and real-time applications. COMET emphasizes:

  • Structuring criteria to assist the designer at different stages of the analysis and design
    process: subsystems, objects, and concurrent tasks.
  • Dynamic modeling, using both object interaction models and statecharts, to describe in
    detail how use cases are realized.
  • Distributed application design, addressing the design of configurable distributed
    components and inter-component message communication interfaces.
  • Concurrent design, addressing in detail task structuring and the design of task
  • Performance analysis of real-time designs using real-time scheduling.


Dr. Hassan Gomaa is Chair and Full Professor in the Department of Information and Software Engineering at George Mason University, Fairfax, Virginia. He has worked in both industry and academia, and has published over 130 technical papers and three textbooks. He has made conference and tutorial presentations at many international software engineering conferences. He was a keynote speaker at the Asia-Pacific Software Engineering Conference in December 2004. He has taught several in-depth industrial courses on software design in North America, Europe, Japan, and Korea. His book, "Software Design Methods for Concurrent and Real-Time Systems", was published by Addison Wesley in 1993 and was translated into Chinese in 2003. His second book (which this tutorial is based on), entitled "Designing Concurrent, Distributed, and Real-Time Applications with UML", was published by Addison Wesley in 2000 and was translated into Chinese in 2004. His latest textbook entitled "Designing Software Product Lines with UML" was published by Addison Wesley in July 2004.

Valid XHTML 1.0 Strict! Valid CSS!