PADS: Design and Implementation of a Cloud-Based, Immersive Learning Environment for Distributed Systems Algorithms

被引:7
作者
Barve, Yogesh D. [1 ]
Patil, Prithviraj [1 ]
Bhattacharjee, Anirban [1 ]
Gokhale, Aniruddha [1 ]
机构
[1] Vanderbilt Univ, Dept Elect & Comp Sci, Nashville, TN 37212 USA
基金
美国国家科学基金会;
关键词
Learning system; feature model; software product lines; distributed systems; cloud; DRIVEN; EDUCATION; LANGUAGE; OBJECTS;
D O I
10.1109/TETC.2017.2731984
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
As distributed systems become more complex, understanding the underlying algorithms that make these systems work becomes even harder. Traditional learning modalities based on didactic teaching and theoretical proofs alone are no longer sufficient for a holistic understanding of these algorithms. Instead, an environment that promotes an immersive, hands-on learning of distributed systems algorithms is needed to complement existing teaching modalities. Such an environment must be flexible to support the learning of a variety of algorithms. The environment should also support extensibility and reuse since many of these algorithms share several common traits with each other while differing only in some aspects. Finally, it must also allow students to experiment with large-scale deployments in a variety of operating environments. To address these concerns, we use the principles of software product lines and model-driven engineering, and adopt the cloud platform to design an immersive learning environment called the Playground of Algorithms for Distributed Systems (PADS). A prototype implementation of PADS is described to showcase use cases involving BitTorrent Peer-to-Peer file sharing, ZooKeeper-based coordination, and Paxos-based consensus, which show the benefits of rapid deployment of the distributed systems algorithms. Results from a preliminary user study are also presented.
引用
收藏
页码:20 / 31
页数:12
相关论文
共 41 条
[31]  
Mosser S., 2014, P MODELS ED S COL AC, P45
[32]  
O'Donnell F., 2006, THESIS
[33]  
Repenning A, 2010, SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, P265
[34]   Model-driven engineering [J].
Schmidt, DC .
COMPUTER, 2006, 39 (02) :25-31
[35]  
Shekhar S., 2014, 121 ASEE ANN C K 12
[36]   Model-driven processes and tools to design robot-based generative learning objects for computer science education [J].
Stuikys, Vytautas ;
Burbaite, Renata ;
Bespalova, Kristina ;
Ziberkas, Giedrius .
SCIENCE OF COMPUTER PROGRAMMING, 2016, 129 :48-71
[37]  
The OpenStack Project, 2017, OP OP SOURC CLOUD OP
[38]   Development of intelligent reusable learning objects for web-based education systems [J].
Valderrama, RP ;
Ocaña, LB ;
Sheremetov, LB .
EXPERT SYSTEMS WITH APPLICATIONS, 2005, 28 (02) :273-283
[39]   Improving Domain-Specific Language Reuse with Software Product Line Techniques [J].
White, Jules ;
Hill, James H. ;
Tambe, Sumant ;
Gokhale, Aniruddha S. ;
Schmidt, Douglas C. ;
Gray, Jeff .
IEEE SOFTWARE, 2009, 26 (04) :47-53
[40]   Computational thinking [J].
Wing, JM .
COMMUNICATIONS OF THE ACM, 2006, 49 (03) :33-35