Thesis/Project Final Exam Schedule

 

Final Examination Schedule

PLEASE JOIN US AS THE FOLLOWING CANDIDATES PRESENT THEIR CULMINATING WORK.

Spring 2019
 

Monday, May 20

Maxfield Strange

Chair: Dr. Michael Stiber
Candidate: Master of Science in Computer Science & Software Engineering
3:30 P.M.; DISC 464
A Biologically Plausible Mechanism for Phonology Acquisition in Human Infants

Infants go through a serial developmental process in language acquisition, which is observable as specific linguistic milestones: by around six weeks of age, infants coo; by about six months they begin to babble, entering the reduplicated babbling stage at about eight months and non-reduplicated babbling at 11 months, with the first word not long after that. There are several theories of how infants do this, but few of them are end-to-end testable, often either falling short of being end-to-end, or else being too vague in certain details. This thesis presents a new theory of phonology acquisition, called the Evolving Signal Chain (ESC) theory of speech acquisition, which is extensible to lexical acquisition and which is end-to-end testable by means of computer simulation. Such a simulation is described and results from key portions of it are given. Key results include an analysis of deep convolutional autoencoders as a plausible means of learning an unsupervised embedding of raw speech and the use of that embedding space in learning to reproduce the speech found in it. Results show that continuous natural speech can be embedded in at least two time scales and that these embedding spaces can be used for learning to babble.

Wednesday, May 22

Yang Zhang

Chair: Dr. Kelvin Sung
Candidate: Master of Science in Computer Science & Software Engineering
1:15 P.M.; DISC 464
A Web Framework for Interactive Data Visualization System

The College Affordability Model system began as an idea prototyping exploration system, and evolved over the past three years into an actual product for legislators and policymakers. It helps users to explore how much the students and their families can use from the most common sources of funds to pay for college, and the potential debt they would assume.

Due to the prototyping nature of the initial project, the current system went through a phase of lack of modularization and encapsulation where developers must parse through sparsely documented and redundant code when maintaining and developing the system. This problem was recognized in the backend, and the system went through an architectural revival in previous projects. However, the frontend continues to be challenging for developers where both architecture and UI need to be replaced. This project aims to design and develop a web framework for interactive data visualization system, and use the framework to revamp the front-end architecture of the College Affordability Model project. In these ways, the software development efficiency and front-end user experience of the website can both be increased.

By adopting concepts from existing Business Intelligence (BI) system, the framework uses Page, Visualization, Data Source and Parameters in the Object-Oriented Design (OOD). Additionally, the framework supports friendly user-interface extensions to provide more advanced features including: draggable chart, URL parameter binder, and a spreadsheet-like table editor. The underlying architecture of the framework is based on the MVVM design pattern that modularizes UI elements into components and provides Single-Page Application (SPA) user experience. The pub/sub messaging and action/reducer patterns are adopted to simplify the inter-communication between loosely coupled components and to formalize the message and state transition of the application.

The project implementation was based on an agile model in managing the development lifecycle, and went through two iterations of development, testing, release, and feedback. The data visualization framework is delivered as an Angular module with unit tests, documentation and is ESLint compliant. The framework is applied and verified in the College Affordability Model website where the front-end system architecture is refactored and new features deployed. In general, the framework simplifies and accelerates the process of building any web-based interactive data visualization system especially for researchers who do not have web programming experience.

Thursday, May 23

Tran Khanh Trang Quang

Chair: Dr. Yang Peng
Candidate: Master of Science in Computer Science & Software Engineering
1:15 P.M.; DISC 464
Device-driven On-demand Deployment of Serverless Computing Functions

Due to its merit of elasticity and scalability, serverless computing has been accepted as a fundamental technology block when building the edge-cloud back  end of IoT systems. Advanced data analytic jobs such as machine learning inference and training can be programmed as serverless computing functions and executed in containers on edge, saving the latency and avoiding disconnection in communications with cloud. Though existing edge computing frameworks such as AWS Greengrass and Azure Edge have enabled the deployment of serverless computing functions to edge, the deployment process must be started by user in cloud. Such a user-driven push-model approach demands heavy user involvement and monitoring, which makes it less ecient and sometimes unable to promptly react to changes in dynamic IoT environments. Considering these limitations, this project proposes a novel scheme to enable device-driven on-demand deployment of serverless computing functions, which is a more exible and responsive solution for IoT devices to eciently utilize edge and cloud resources. This scheme not only reduces user involvement in the deployment process but also opens a exible channel for IoT devices to adapt and ooad their computational tasks based on real-time needs. Additionally, this scheme also enables IoT devices to specify where the requested functions shall execute, either on edge or in cloud, based on privacy and security requirements. Extensive evaluations have been conducted in AWS, and the obtained performance on both end-to-end and step-wise operation latency demonstrated that the proposed scheme can successfully enable the desired on-demand deployment with minimal overhead in various scenarios.

Friday, May 24

Anjal Doshi

Chair: Dr. Kelvin Sung
Candidate: Master of Science in Computer Science & Software Engineering
1:15 P.M.; DISC 464
Learning Modern Computer Graphics using Vulkan API

OpenGL is a graphics Application Programming Interface (API) built for rendering 2D and 3D graphics. It was evolved from the Iris Graphics Library based on the Silicon Graphics Inc’s Geometry Engine, a special-purpose VLSI processor for computer graphics, from the 1980’s [1][2]. With the rapid and continuous improvements of the Graphics Processing Unit (GPU) over the past decades, the discrepancies between OpenGL’s assumptions on the underlying hardware, and that of the actual modern GPU are becoming increasingly significant.

Vulkan is a modern, low-level graphics and compute API that provides an up to date abstraction of modern graphics hardware. The explicit nature of the API requires that the developer to be responsible for managing hardware resources, and results in a more efficient approach where the default system driver does not perform tasks behind the scenes to manage resources. Unfortunately, the added responsibilities and the associated sophistication in the underlying architecture mean that the Vulkan API can be a significant hurdle for new users. This is especially challenging as it is a new API with no significant community help.

The primary goals of this project are to design and implement a conceptual layer in the form of a library in between Volkan and user’s applications and a set of demonstration tutorials. The library and the tutorials would assist new users of Vulkan in understanding, learning, and working with the API. This project approaches the library creation by creating multiple simple and typical single-goal applications, and then abstracting common layers into a unified interface that supports all the applications. The library is then modularized into components based on well-established computer graphics concepts, like renderable, mesh, camera, texture, input system, etc. Along with the applications, tutorials are developed to demonstrate how to work with the library. Extensive documentation is also included.

The usability of the library is verified with two moderately large sale, interactive applications involving typical modern interactive graphical capabilities including: geometric model loading and displaying, camera controls, multiple user views, illumination model, planar reflection, shadow casting light sources, and tessellation. Tutorials included with this library demonstrates the usage of the library by explaining the user-side source code in detail. The intrinsic of the library, like resource creation, renderable creation, API classes, etc. are described in the documentation. This library allows users to rapidly prototype Vulkan-based graphics application where the low-level, complex details of the Vulkan API are all hidden. As users gain familiarity, they can then proceed gradually to work with Vulkan API directly.

References:
[1] “History of OpenGL - OpenGL Wiki.” [Online].
[2] J. H. Clark, “The Geometry Engine: A VLSI Geometry System for Graphics,” in Proceedings of the 9th Annual Conference on Computer Graphics and Interactive Techniques, New York, NY, USA, 1982, pp. 127–133.

Tuesday, May 28

Erin Choate

Chair: Dr. Geethapriya Thamilarasu
Candidate: Master of Science in Cybersecurity Engineering
11:00 A.M.; DISC 464
Blockchain Based Authentication for Transport Layer Security in IoT

In this project, a blockchain based authentication mechanism for IoT was developed, that can be integrated into the traditional transport layer security protocols, Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). This mechanism is an alternative to the traditional Certificate Authority(CA)-based Public Key Infrastructure (PKI) that relies on x.509 certificates. The developed solution replaces the Certificate Request and Certificate Verify stages of the TLS handshake with state verification, via a device registration blockchain. The blockchain state provides the information needed to assert that: a) a device has been properly registered on the blockchain; b) the key/device has not been revoked by its rightful owner due to theft; c) ownership data is consistent between the device and the blockchain. Transparency is inherent via use of the blockchain as the transaction record. Any owner or user can query the blockchain to see the transactions associated with their device to ensure there has been no malicious activity related to ownership or state.

Blockchain technology provides a solution to many of the challenges of applying CA-based PKI to IoT, namely scalability and transparency. A barrier to employing traditional TLS/DTLS to IoT devices is the memory and processing requirements associated with the storage and processing of x.509 certificates and CA chains, since typically, memory resource are limited. The developed mechanism lessens those requirements in order to make the modified TLS/DTLS solution a viable option for devices where minimizing memory utilization is critical. Data collected in experiments on the use of the blockchain based authentication mechanism, show that dynamic memory usage can be reduced by up to 20%, while only minimally increasing application image size and time of execution of the TLS/DTLS handshake.

Wednesday, May 29

Rizky Ramdhani

Chair: Dr. Dong Si
Candidate: Master of Science in Computer Science & Software Engineering
11:00 A.M.; DISC 464
Microservice-based Architecture Design and Deployment for Juvenile Idiopathic Arthritis Screening Service

Juvenile Idiopathic Arthritis (JIA) is a chronic rheumatic disease that affects 300,000 children in the United States [1].  If not properly diagnosed and treated, the disease may lead to alteration of joint function and structure [2].  Studies have shown that it is possible to detect JIA using skin surface temperatures of inflamed joints [3].  By providing an online screening service that reads infrared (IR) images of a patient’s body to obtain a screening result, it would dramatically reduce the costs of families to obtain screenings for their children by eliminating potential travel.  The goals of this project are to design a system architecture, introduce development workflows, utilize existing open-sourced technologies to create and maintain an online JIA screening service, and lastly implement a screening microservice based on region of interest IR imaging analysis.

The criteria for the JIA screening service are scalability, updatability, and recoverability.  The design that meets that criteria is a 3-tier microservice architecture that divides the screening service into a client-layer, a middle service layer, and a persistent storage/data layer.  This architecture allows each individual component to be developed and updated individually of other components in the service.  This also allows individual components to be scaled depending on the bottlenecks of the system.

 Applications in the JIA screening service will be containerized with Docker and deployed on a managed Kubernetes cluster on Azure cloud services for scalability, recoverability.  CosmosDB will be used as a managed No-SQL document store to store and access the data.  Contributors to the project will use DevOps principle, mainly Continuous Integration/Continuous Development (CI/CD) principles to quickly deploy new code to a live service so clients can experience new features and fixes in a timely manner.

The screening microservice was developed using Python and the Flask microservice framework.  A template screening microservice was developed to help team-members easily deploy new screening models.  The same template microservice was used to develop a region-of-interest based screening algorithm that can be used to serve patients as well as technicians of an ongoing JIA IR study at Seattle Children’s Hospital (SCH).  The results of the ROI-based screening microservice is close to the results of an existing monolithic MATLAB application currently in use by the technicians at SCH.  Discrepancies between the two applications can be attributed to the underlying BLAS (Basic Linear Algebra Subroutine) of the computation libraries, as well as the differences between the results from a team-developed IS2 (a proprietary Fluke IR thermal imaging file) parser and the results from the proprietary Fluke-developed SmartView program.

Because many of the components of the JIA screening service is still under design stage, the applications are not yet deployed on the managed Kubernetes cluster.  The hope in the future is that the service can b expanded not only to provide screening for JIA, but that it could be used to screen for other medical conditions with screening models developed and trained using anonymized data collected by the screening service.

[1]        “Juvenile Arthritis.” [Online]. Available: https://www.rheumatology.org/I-Am-A/Patient-Caregiver/Diseases-Conditions/Juvenile-Arthritis. [Accessed: 28-Jul-2018].

[2]        F. C. Arnett et al., “The American Rheumatism Association 1987 revised criteria for the classification of rheumatoid arthritis,” Arthritis Rheum., vol. 31, no. 3, pp. 315–324, Mar. 1988.

[3]        R. Lasannen et al., “Thermal imaging in screening of joint inflammation and rheumatoid arthritis in children,” Clin. Phys. Physiol. Meas., vol. 36, no. 2, 2015.

Thursday, May 30

Gayathry Radhakrishna Pillai

Chair: Dr. Yang Peng
Candidate: Master of Science in Computer Science & Software Engineering
11:00 A.M.; DISC 464
Device-driven On-demand Deployment of Serverless Computing Functions

With the advance of Internet of Things (IoT), numerous controllable IoT devices are brought into our daily lives. These controllable devices, different from traditional monitoring-oriented devices, not only produce sensor data but also consume the data via device-to-device communications. In a typical IoT system with three-tier architecture, end IoT devices, edge (gateway) and cloud may continue exchanging data and control decisions for autonomous and intelligent control. The communications between each node in such an architecture are usually enabled by message brokers, which can tolerate intermittent networks connection and facilitate event-driven asynchronous operations. However, purely connecting message brokers is insufficient to support typical unicast (one-to-one) and broadcast (one-to-many) communications across the whole architecture. Some application-level routing support is desired for timely and reliable delivery of heterogeneous data and critical control decisions across IoT devices, edge and cloud. Existing application layer protocols for IoT, such as CoAP, AMQP and MQTT, are incapable of fulfilling this demand because of the two-tire design paradigm embedded into them. In an attempt to address this limitation, this project proposes a generic application-level routing scheme that supports one-to-one and one-to-many messaging between all connected points in a three-tier IoT system. The implementation of this scheme, utilizing serverless computing functions and publish/subscribe message brokers, will also help separate the application logic of IoT applications from the core communication and efficiently utilize the computing and storage resources in edge and cloud. This scheme is anticipated to benefit emerging IoT systems such as smart building and smart city where heterogeneous IoT devices may continuously interact with each other over edge and cloud. This scheme has been implemented and evaluated in AWS, and the evaluation results have demonstrated its promised efficiency and agility for message routing in various scenarios.

Friday, May 31

Medha Srivastava

Chair: Dr. Geethapriya Thamilarasu
Candidate: Master of Science in Computer Science & Software Engineering
3:30 P.M.; DISC 464
MSF: A comprehensive security framework for mHealth apps

Mobile health (mHealth) applications have witnessed an increased popularity in recent years because of their affordability, ease of use and effectiveness in delivering healthcare services to everyday users of mobile devices. This has led to a steady rise in cyber-attacks targeting mHealth apps, as indicated by various security researches. Security and privacy risks are compounded in mHealth apps as they handle sensitive medical data and personally identifiable information of their users. Despite popular mobile platforms having their own security issues, research studies have established that the lack of security cognizance among app developers is the primary cause for most security vulnerabilities found in mHealth applications. In this project, we propose a security framework that provides authentication, authorization, secure storage and secure transmission of sensitive medical data and workflows commonly found in mHealth apps. The proposed framework can be easily imported into new and existing mHealth apps and mitigate its security and privacy vulnerabilities. Finally, to prove the framework’s effectiveness, we use a dummy mHealth app built on top of it and confirm via our findings that the framework can be easily integrated into any mHealth app and reduce its security and privacy risks without compromising user experience. These results confirm that the functionalities offered by the framework relieve app developers from worrying about security and privacy aspects of their mHealth apps.

Back to top

Questions: Please email cssgrad@uw.edu