CSC 750 Service-Oriented Computing

Concepts, theories, and techniques for Web services. This course examines architectures for Web applications with an emphasis on service semantics and decentralization. It considers sophisticated approaches for the description, discovery, and engagement of services. This course emphasizes service composition. Key topics include semantics, agents, rules, communication protocols, business processes, contracts, and compliance. 3 credit hours.


• Prerequisite

Graduate standing in computer science.
Knowledge of discrete mathematics.

• Course Objectives

On completion of this course, students will be able to do the following.

    • Design and launch (mobile) web services.
    • Use, in their own programs, (mobile) web services published by others.
    • Conceptually model web services and formulate specifications of them in the Resource Description Framework (RDF) and the Web Ontology Language (OWL).
    • Perform matchmaking on web services.
    • Apply principles of distributed transactions, business processes, business protocols, rules, and agents to specify, monitor, and manage the behavior of composed services.
    • Understand and apply concepts of communication and organizational modeling for realizing decentralized service-oriented systems.
    • Evaluate emerging and proposed standards for the main components of services architectures.

• Course Requirements

Homework: 2 assignments (5%)
Examinations: 2 (30%)

Software Requirements: N/A: All necessary software will be available for use on NCSU laboratory computers or for free download for academic purposes.
5-6 modeling and programming assignments (60%)

Message Board participation (5%)

• Textbook

Required: Transparencies. These will be available on-line.

Recommended (optional): Service-Oriented Computing: Semantics, Processes, Agents by Munindar P. Singh and Michael N. Huhns, John Wiley & Sons, 2005. ISBN 0-470-09148-7.

• Motivation

This course introduces the concepts and techniques of service-oriented computing, emphasizing the crucial aspects in which they differ from traditional computing. The course introduces the essential ideas of the modeling and representation of services and of their decentralized enactment. In doing so, the course provides the necessary background in foundational concepts including semantics, processes, agents, multiagent systems, communication.

The course introduces leading standards (some in detail) that are widely employed in industry for software architecture and development, with or without services. These include RDF, OWL, UML Sequence Diagrams, IEEE FIPA, AMQP, and BPMN.

This course is self-contained, and gives the essential background for anyone planning to learn about and contribute to the principles and applications of services.

• Course Outline

The following are the main topics of this course.

  1. Introduction
    * Trends in computing
    * Motivations for service-oriented computing

  2. Description: Modeling and representation
    * Conceptual modeling
    * Ontologies and knowledge sharing
    * Relevant standards: RDF, RDFS, and OWL
    * Inferencing and tools

  3. Engagement
    * Process and coordination specification
    * Distributed computing
    * Protocols
    * Temporal logic basics

  4. Collaboration
    * Agents
    * Multiagent systems
    * Consistency maintenance
    * Agent communication languages
    * Relevant standards: FIPA, OWL-S

  5. Synthesis

For the latest course information, please consult or write to Professor Singh at the email address below.

• Computer and Internet Requirements

NCSU and Engineering Online have recommended minimum specifications for computers. For details, click here.

• Instructor

Dr. Munindar Singh, Professor
Department of Computer Science
North Carolina State University
Engineering Building II, Suite 3320
Campus Box 8206
Raleigh, NC 27695-8206

Phone: (919) 515-5677
Fax: (919) 515-7896
Email: (preferred means of communication)
Web Site: