Dr. Munindar Singh

Dr. Munindar Singh

Computer Science

Phone: 919-515-5677
Fax: 919-515-7896
Email: (preferred means of communication)
Instructor Website
Research Website

CSC 750 Service-Oriented Computing

3 Credit Hours

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.


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%)


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.


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.

In keeping with current trends, this course will emphasize reactive programming, incorporating asynchronous messaging and actor-programming concepts and constructs in class discussions and programming projects.

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
    • Microservices
    • Actors
    • Representational State Transfer (ReST)
  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
    • Organizational models
    • Commitments and contracts
    • Agent communication languages
  5. Synthesis

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