Graduate Seminar 2005 Abstracts

TinyOS

Tom Bush

Abstract: TinyOS is a component based operating system (OS) used to control networked embedded systems. TinyOS is implemented by the programming language nesC, developed by the EE/CS department at the University of California at Berkeley. nesC implements user defined applications, as well as the TinyOS core, on networks of small customizable low-power devices, called "motes", which operate in often harsh environments under severe resource constraints without human interference. TinyOS provides a component based architecture to allow for the selection of necessary components on an application by application basis to minimize the source code size as required by the resource constraints of networked embedded systems. Research by the designers of the nesC language shows that nesC provides the tools necessary to reliably operate in the severely resource limited environment of networked embedded systems with a minimum amount of operating system overhead. These tools include an event driven architecture, a component based design and a flexible concurrency model, combined with excellent compile time program and race condition analysis

Back


Adaptive Computing

Kevin Cella

Adaptive computing is a design approach whose goal is to create a system that is able to modify its behavior without any implementation changes. The result is a significantly reduced maintenance time and a more robust system. This seminar will focus on the subtopic of adaptive software and some of the adaptive programming methods currently available to developers.

Back


Application reliability

Robert Conti

Abstract: Application reliability is particularly relevant for Web applications. Web applications are typically developed very quickly, turnaround time for development cycles is short, and it can be very difficult to identify and remove vulnerabilities. Various software methods are used to assess application reliability and identify aspects of a system that make it vulnerable to problems. The purpose of this discussion is to describe how one particular white-box testing strategy, exception flow def-use, can be used to ascertain the reliability of Java Web services.

Back


Model-based programming

Bill Gaes

Abstract: Traditional embedded reactive programming languages such as Esterel and Statecharts provide the ability to interact with a system such as a spacecraft via the reading of sensors and through the manipulation of control processors and actuators. Programming the desired functionality of an autonomous embedded program can more readily be thought of in terms of transitioning through a sequence of desired states. Esterel and Statechart programmers must mentally perform a mapping from a desired state to the reading of specific sensors and through the manipulation of specific actuators. In addition, given a complex embedded system, the potential for failures and the resulting interactions with the embedded software are far too numerous for programmers to discover and provide the necessary fault-tolerance and error handling. Model-based programming provides a more effective approach that overcomes these limitations. Model-based programming allows a programmer to program the system in terms of high-level control strategies that transition the system though a sequence of desired states that accomplish the intended goal. Model-based programming provides the ability to represent the system in terms of a model that incorporates constraints and common sense reasoning. A built-in model-based executive executes the program and utilizes the model to reason on the fly to determine the current state, diagnose faults, and determine either nominal or alternative courses of actions necessary to transition the system towards achieving the intended goal. The end results are ease of programming and reactive programs with improved modularity, reusability, and robustness.

The presenter will attempt to demonstrate how model-based programming provides a more effective programming paradigm over traditional reactive programming languages.

Back


The Semantic Web

Jonathan Jackson

Abstract: The Internet is a superhighway of information. Most of this information is usually not of any importance to a give search or query. Although humans have done a good job of sifting through the millions and millions of web pages for desired results, the World Wide Web, as it is now, does not have the framework necessary to automate the information retrieval and analysis processes. The leading problem to this is the lack of formal guidelines and specifications that would allow web designers to present information in a consistent manner. The Semantic Web offers a way to build this framework to give information on the World Wide Web better meaning within its pages and to allow web programmers to design software that would take on the daunting tasks of Internet searching and analysis.

Back


Plan Recognition applied to User Interfaces

Sony Jacob

Abstract: Plan recognition is a technique used to estimate the user's intentions based on a shared goal between the user and the agent (program). This technique results in an interface that is significantly easier to use, but more complicated to create. The focus of this seminar discussion will be the effectiveness of using plan recognition in user-interfaces for fairly large/complex systems.

Back


Web Services and Service-oriented computing

Eric Montrym

Abstract: Web Services are applications deployed as services that can be accessed by anyone. They have the potential to make e-commerce even more popular by creating opportunites for increased revenue and tighter business (and customer) relationships. Focus will be on Quality of Service models that will attempt to direct service requestors to a specific service that meets their requirements.

Back


Architecture description for Dynamic systems

Linus Sherrill

Abstract: Over the past decade there has been considerable work done in defining the area of software architecture. Most of the work has been done with respect to describing and modeling static architectures, but more and more systems need dynamic architectures to address the complex problems that have to be solved today. This presentation will look at how well Architectural Description Languages (ADLs) represent dynamic architectures.

Back


CS Masters Program Homepage