Service Computing

Time: Fall 2019
Students: Graduate students in Computer Science/Software Engineering
Classroom: New Main Building B119
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.
Note: the deadline for Homework-4 is extended to Jan 17, 2020

Tentative Course Schedule:

Week #DateTopicSlides*
1Sep 13, 2019Holiday, No Class-
2Sep 20, 2019Service Computing OverviewOverview.pdf
3Sep 27, 2019Network-based Service Technology (I)Services.pdf
4Oct 4, 2019Holiday, No Class
5Oct 11, 2019Network-based Service Technology (II)
6Oct 18, 2019Network-based Service Technology (III)
Homework-1Homework-1.pdf
7Oct 25, 2019Service Oriented Architecture (SOA)SOA.pdf
8Nov 1, 2019Service Register, Description and DiscoveryServiceDiscovery.pdf
9Nov 8, 2019Service Selection and RecommendationServiceRec.pdf
Homework-2Homework-2.pdf
10Nov 15, 2019Service Composition (I)ServiceComposition.pdf
11Nov 22, 2019Service Composition (II)
12Nov 29, 2019Service ExecutionServiceExecution.pdf
Homework-3Homework-3.pdf
13Dec 6, 2019Impove Service Quality via ReplicationSQReplication.pdf
14Dec 13, 2019Static Analysis for Service Bugs DetetcionSQStaticAnalysis.pdf
15Dec 20, 2019Dynamic Analysis for Service Bugs DetectionSQDynamicAnalysis.pdf
16Dec 27,2019Formal 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.