Seminar in Advanced Software Engineering, HS 15

Theme: Software Development for and in the Cloud

Cloud computing is a transformative force for software development today. Choosing systems such as Heroku, Microsoft Azure, or Google EC2 as the execution environment of an application has a profound impact not only on how the application will ultimately be executed, but also on the development and release process, the application architecture, and even on the tools used for development. In this seminar we will approach the topic of cloud computing (and related trends) with a software engineer's hat on. That is, we will discuss topics such as cloud performance, cloud middlware, DevOps, continuous delivery, as well as economic aspects of cloud computing.

Organization

Lecturer: Prof. Dr. Harald Gall, Prof. Dr. Thomas Fritz, Dr. Philipp Leitner
Time and Place: Kick off meeting: 21.09.2015, 12:00 - 13:00 (2.A.10)
Presentations: 14.12.2015, 08:00 - 18:00 (1.D.06)
(there are no physical meetings between those dates)
Language: English
AP (ECTS): 3 points
Target Audience: BSc Informatics and MSc Informatics Students
Prerequisites: Software Engineering
Registration: Registration for a topic after kick-off meeting & Modulbuchung

Schedule & Deadlines

(tentative)

  • 21.09.2015, 12:00 - 13:00 (2.A.10) - Kickoff meeting (participation mandatory!)
  • 27.09.2015 - Topic preferences sent to Philipp Leitner via mail.
  • 30.09.2015 - Topics assigned to students (via mail).
  • 01.10.2015 - 09.11.2015 - Students work on their topics (individually).
  • 09.11.2015 - Submission deadline for first paper revision.
  • 20.11.2015 - Submission deadline for paper reviews.
  • 21.11.2015 - 13.12.2015 - Students work on their revisions.
  • 14.12.2015, 08:00 - 18:00 (1.D.06) - Presentations (full day, participation mandatory).
  • 18.12.2015 - Final submission deadline.

Rules

For the final grade we will take into account a written report, a presentation of the report, the reviewing of the other participants' work and the active participation in the lectures

Written Report

The written paper represents the first task of the seminar. It has to be 12-15 pages long (not counting the cover sheet and the table of contents) and in the Lecture Notes in Computer Science format. Both the MS Word ("word.zip") and LaTeX format ("llncs2e.zip") are available here for downloading, even though we strongly suggest anyone to use the LaTeX format. Eventually the report will have to be delivered as PDF.

Please pay attention to the tips in the format template, in particular:

  • the correct structure of a scientific research article,
  • the right use of figures and tables,
  • the correct citation of other works.

For administrative questions please contact Philipp Leitner.

Literature Search

Each student should read and cite at least 7-10 articles in his/her own work.

The ACM Digital Library, IEEE Digital Library, Citeseer and GoogleScholar are very good online catalogues for technical literature search. Both the ACM and the IEEE publications can be downloaded for free from within the Uni Zürich domain. For some important literature, UZH does not have subscriptions (e.g., some Springer journals). Those can sometimes be found for free on the Internet, on Researchgate, or via the ETH library. In the worst case, you can always contact the authors and friendly ask for a preprint copy.

Another good starting point are the proceedings of major conferences and journals, such as the International Conference in Software Engineering (ICSE), the Symposium on the Foundations of Software Engineering (FSE), the IEEE CLOUD conference, the World Wide Web conference, the ACM Symposium on Cloud Computing, etc. The easiest way to browse through papers of all major computer science conferences and journals is via DBLP.

Review

The paper of each student goes through a first review phase, done by one lecturer and 2-3 other students. The goal of this first reviews is to give some useful feedback on the paper, which should then be improved and modified accordingly.

The reviews take the following criteria into account:

  • Technical quality (critical analysis of the topic)
  • Logical structure (the structuring of the work)
  • Presentation (the use of graphics and tables)
  • Style (orthography and typos)
  • References (significant selection of relevant literature)

Each category is graded on an A to D scale:

  • A: An excellent work.
  • B: A good work with just a couple of small weaknesses.
  • C: An average work with clear weaknesses.
  • D: Insufficient work with many substantial weaknesses.

Every participant has to review two other participants' reports. The whole reviewing process (the reports and their subsequent reviews submission) will be done through the EasyChair online platform. An email with all the necessary instructions will be sent after the kick-off meeting.

Delivery

The delivery website (Easy Chair) can be found here.

On that, you have to create a new user account and then you can easily upload your report with the appropriate menu option.

Presentation Day

All the participants will present their work during the second meeting in December.

Every presentation consists of a 20 minutes talk followed by a 10 minutes discussion.

All the participants need to have the presentation in electronic format (MS Powerpoint, Apple Keynote or slides in PDF/PS). We provide both a beamer and a laptop to be used (in case you don't want to use your own laptop).

Attendance to all the presentations is mandatory. Exceptions are made only if a proper, official excuse (e.g. doctor's excuse note) is given.

Presentation Guidelines

  • Make sure that your talk includes enough background material and motivation so that it can be understood by those who are not specialists in what is being presented.
  • Design your slides using large text and diagrams such that they can be read by anyone in the room. The person far away in the corner may be the one with central insights to your work, so make sure he/she gets the message, too.
  • Do not place text on the slides that you will speak aloud anyway. The audience will read the text faster than you speak, and continuously experience lags. Slides and spoken word should support each other, and not be redundant representations of each other.
  • Modern presentation programs can switch the laptop screen in presenter mode, showing the upcoming slides or presenter notes. Make use of these tools to ensure fluid transitions between slides and a smooth information flow.
  • Spend at least one slide to clearly motivate your work, explicitly stating the problem you are addressing.
  • Spend at least one slide on related work, such that the audience can place your work in a greater context.
  • Do not end with a slide saying nothing but "Thank you!" or "Questions?" Instead, on the last slide, summarize your talk (problem, approach, results). Have this slide stay on the screen during the discussion; people will be able to recall your talk and provide insightful questions and comments.

Topics

Cloud Adoption and Usage

How and why are developers and companies choosing to use (or not use) cloud applications for provisioning applications? What does this decision impact, and how?

Cloud Benchmarking

How can developers (and researchers) evaluate the performance of IaaS cloud services? What have been the main observations of existing cloud benchmarking studies?

Selecting the Right Cloud Service(s)

How can developers select the best cloud service, or combination of cloud services, for their applications? What are the primary factors that need to be taken into account?

Pricing

How do cloud providers determine the price of instances or other types of cloud resources? Is the price always fixed? What are the main factors that cloud users are priced on?

  • Benedikt Martens, Marc Walterbusch, and Frank Teuteberg. 2012. Costing of Cloud Computing Services: A Total Cost of Ownership Approach. In Proceedings of the 2012 45th Hawaii International Conference on System Sciences (HICSS '12). IEEE Computer Society, Washington, DC, USA, 1563-1572. DOI=10.1109/HICSS.2012.186 http://dx.doi.org/10.1109/HICSS.2012.186
  • Orna Agmon Ben-Yehuda, Muli Ben-Yehuda, Assaf Schuster, and Dan Tsafrir. 2013. Deconstructing Amazon EC2 Spot Instance Pricing. ACM Trans. Econ. Comput. 1, 3, Article 16 (September 2013), 20 pages. DOI=10.1145/2509413.2509416 http://doi.acm.org/10.1145/2509413.2509416

Security and Privacy

What are the main challenges related to security and privacy in the context of cloud computing? What specific security and privacy challenges does cloud computing raise, and what are known successful attacks?

Modelling Cloud Applications

What standards and other proposals are there for modelling the structure and cloud deployment of applications? What do these proposals have in common, and how do they differ?

Client-Side Middleware

What client-side libraries, frameworks, and middleware systems are there for supporting the development of cloud applications? What functionality do these systems typically provide, and how do they differ?

Cloud Platforms

What server-side frameworks, and middleware systems are there for deploying cloud applications? What functionality do these systems typically provide, and how do they differ?

Developer Performance Awareness

How can cloud developers monitor the performance of their applications? What are important metrics to keep track of?

Releasing Changes Fast(er)

How do faster releases, as often associated to cloud computing, impact the quality of software?