Service Computing

Time: Fall 2021
Students: Graduate students in Software Engineering/Computer Science
Classroom: New Main Building B102
Description: This course aims to introduce one kind of distributed system paradigm: service computing. Service computing focuses on how to divide distributed systems to "services" which can be seperately invoked through network requests and can provide independent functionalities, how to manage and evaluate existing services, and how to reuse these services for building more complex composite services, as well as how to assure the quality of services. Recently the micro-service architecture, FaaS (Function as a Service) and Serverless are also the new trends of Service Computing. Service computing has been widely used in Cloud systems, Big Data Services, IoT systems, Blockchain systems, Web applications, Mobile applications, workflow systems and other distributed systems.

Tentative Course Schedule:

Week #DateTopicSlides*
2Sep 14, 2021Service Computing OverviewOverview.pdf
3Sep 21, 2021Holiday, No Class
4Sep 28, 2021Network-based Service Technology (I)Services.pdf
5Oct 5, 2021Holiday, No Class
6Oct 12, 2021Network-based Service Technology (II)
7Oct 19, 2021Network-based Service Technology (III)
Homework-1Homework-1.pdf
8Oct 26, 2021Service Oriented Architecture (SOA)SOA.pdf
9Nov 2, 2021Service Register, Description and DiscoveryServiceDiscovery.pdf
10Nov 9, 2021Service Selection and RecommendationServiceRec.pdf
Homework-2Homework-2.pdf
11Nov 16, 2021Service Composition (I)ServiceComposition.pdf
12Nov 23, 2021Service Composition (II)
13Dec 30, 2021Service ExecutionServiceExecution.pdf
Homework-3Homework-3.pdf
14Dec 7, 2021Impove Service Quality via ReplicationSQReplication.pdf
15Dec 14, 2021Static Analysis for Service Bugs DetetcionSQStaticAnalysis.pdf
16Dec 21, 2021Dynamic Analysis for Service Bugs DetectionSQDynamicAnalysis.pdf
17Dec 28, 2021Formal Verification for Service Properties GuaranteeSQFormalVerification.pdf
Homework-4Homework-4.pdf
*: Slides are only for students in this course.
Some Reference Papers:
[1]A. Segev and E. Toch, "Context-Based Matching and Ranking of Web Services for Composition," in IEEE Transactions on Services Computing, vol. 2, no. 3, pp. 210-222, July-Sept. 2009.
[2]D. Guinard, V. Trifa, S. Karnouskos, P. Spiess and D. Savio, "Interacting with the SOA-Based Internet of Things: Discovery, Query, Selection, and On-Demand Provisioning of Web Services," in IEEE Transactions on Services Computing, vol. 3, no. 3, pp. 223-235, July-Sept. 2010.
[3]Mohammad Alrifai, Dimitrios Skoutas, and Thomas Risse. Selecting skyline services for QoS-based web service composition. In Proceedings of the 19th international conference on World wide web (WWW '10). ACM, New York, NY, USA, 11-20.
[4]Zibin Zheng, Michael R. Lyu, "Collaborative Reliability Prediction of Service-Oriented Systems," in Proc. of ACM/IEEE International Conference on Software Engineering (ICSE), 2010.
[5]Wancai Zhang, Hailong Sun, Xudong Liu, and Xiaohui Guo, "Temporal QoS-Aware Web Service Recommendation via Non-negative Tensor Factorization," in Proc. of International World Wide Web Conference (WWW), 2014.
[6]X. Wang, H. Sun, T. Deng and J. Huai, "Consistency or latency? A quantitative analysis of replication systems based on replicated state machines," 2013 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, 2013, pp. 1-12.
[7]Diego Ongaro and John Ousterhout. In search of an understandable consensus algorithm. In Proceedings of the 2014 USENIX conference on USENIX Annual Technical Conference (USENIX ATC'14), Garth Gibson and Nickolai Zeldovich (Eds.). USENIX Association, Berkeley, CA, USA, 305-320.
[8]Xu Zhao, Kirk Rodrigues, Yu Luo, Ding Yuan, and Michael Stumm. Non-intrusive Performance Profiling of Entire Software Stacks based on the Flow Reconstruction Principle. Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16), November 2016, Savannah, GA.
[9]Shengjian Guo, Meng Wu, and Chao Wang. Symbolic execution of programmable logic controller code. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). ACM, New York, NY, USA, 326-336.
[10]Haopeng Liu, Xu Wang, Guangpu Li, Shan Lu, Feng Ye, and Chen Tian. FCatch: Automatically Detecting Time-of-fault Bugs in Cloud Systems. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '18). ACM, New York, NY, USA, 419-431.