REDMOND, Wash., July 29, 2002 — A woman who uses her Pocket PC Phone Edition on the way to work is about to lose her Internet connection. The device predicts this and asks whether she’d like to send her e-mail or download the news headlines.
A high-school algebra student is struggling with quadratic equations. He loads a photographic image of his face and a sample equation into a simple but sophisticated computer program. The program distorts the image based on that equation, thus providing a visual illustration of the concept.
A broker needs to retrieve some stock quotes, but the XML Web service that provides those quotes is unavailable. Her Web application is invisibly rerouted to an alternate service and she has the quotes within seconds.
What do all these futuristic scenarios have in common? They represent a few of the many visions academic researchers have for using Microsoft .NET-connected software to solve a broad range of technology challenges. Leading research universities in Asia, Australia, Europe and the United States are collaborating closely with Microsoft Research (MSR) to develop advanced technologies around .NET that address everything from key XML Web services scenarios to connectivity to language research.
Open collaboration between Microsoft Research and academia is nothing new — MSR has been working with universities to advance the state-of-the-art of computing since 1995. But .NET has emerged as a key focus, in addition to areas such as wireless networking, high-performance computing, security and fault tolerance.
These topics and more will be highlighted at the third annual MSR Faculty Summit beginning today at Microsoft’s campus in Redmond, Wash. The two-day event has drawn more than 325 of the top faculty from leading research universities around the world, and will feature talks by Bill Gates, Microsoft chairman and chief software architect, as well as leading researchers, developers and educators. The summit is intended to help develop and strengthen the collaborations between Microsoft and academia to develop new advanced technologies.
Douglas Leland, director of MSR’s University Relations Group, which organizes the annual Faculty Summit, sees the event as a key opportunity to stimulate discussion among some of the leading researchers in the world on top technology issues and to find solutions through collaborative research.
“The Faculty Summit is a good forum for learning about Microsoft technologies and building relationships with academia that advance not only the state of the art in innovation, but the speed of innovation as well,”
Leland says.
.NET: An Adaptable Technology for Research
The .NET Framework and the Compact .NET Framework have emerged as a key area of research for many academic institutions. The .NET Framework is a core component of the Windows operating system. It provides the programming model for building, deploying and running Web-based applications, smart client applications and XML Web services, which are applications that expose their functionality over a network using standard, platform-agnostic protocols such as SOAP, XML, and http.
The .NET Compact Framework is a subset of the .NET Framework that is designed to run on smart devices, providing support for managed code and XML Web services.
At the University of Virginia in Charlottesville (UVA), researchers are using the Microsoft .NET Compact Framework to develop sophisticated applications for smart devices like personal digital assistants (PDAs). Because smart devices have limited resources, lots of things can go wrong — Internet connections fail, bandwidth degrades and batteries run down quickly. When these things happen, the applications that run on these devices can’t anticipate the problems and then slowly degrade.
Researchers are working on an underlying technology that would allow smart-device applications to not only anticipate problems, but also predict what the user would like to accomplish despite the failure. Then, based on the circumstances at hand, the device would either fetch what it anticipates the user is likely to need or alert the user and provide options for working around the problem.
MSR is funding the project with UVA and has collaborated closely with researchers by sharing code and providing lots of feedback since the project began, according to Marty Humphrey, assistant professor in the computer science department at UVA. But the collaboration hasn’t been one-sided. Before MS had fully developed support for smart devices through various products like the Microsoft Mobile Internet Toolkit, .NET Compact Framework and Smart Device Extensions for Visual Studio .NET, MSR invited researchers at the university to participate in early adopter workshops to get their input on what kind of device support they thought was necessary.
“Microsoft was very interested in how the smart-device support they were developing would complement our research,”
Humphrey says.
“They wanted to know what we were trying to accomplish, and whether it mapped to how they were planning to support these devices.”
Teaching Math in a Whole New Way
Researchers at Yale University in New Haven, Conn., are studying how computers can best enhance learning — what role PCs and other devices should play, and how they can help students learn in unique ways. In the process, theyve they’ve come up with a whole new way of teaching mathematics using visualization.
The idea is simple: Many students find it easier to grasp an abstract concept, such as an algebraic equation, when they can create a visual rendering of it. The project involves developing a language of general mathematical programming that will allow students to create images based on mathematical equations from any discipline, including algebra, trigonometry, geometry, or calculus.
Using visual images as an educational aid is nothing new — textbooks do this all the time. But the Yale researchers are betting that when it comes to learning, there’s a significant difference between looking at visual depictions of mathematical equations in a textbook and creating them yourself. The process is very similar to using an Erector Set to teach something about mechanics, according to John Peterson, research scientist at Yale and co-director of the project with Paul Hudak.
Fortunately for Peterson and the rest of the research team, a significant portion of their work has already been done. Some years ago, an MSR researcher named Conal Elliot produced Pan, an experimental language and compiler that helps synthesize and manipulate images. But Pan is very complex and not easily adapted to a classroom environment. So the Yale researchers decided to build a mathematical programming language with a simplified interface that would act as a front end to Pan, effectively shielding users from its complexities.
“We want students to be able to experiment with mathematical equations of any kind without having to understand all the details of a programming language,”
says Peterson.
“So we want a simple, expressive language that is easily understood, yet useful for a lot of things.”
The researchers at Yale have been working closely on this project with Pan experts at MSR since last fall. In addition to funding the project with unrestricted gifts, Microsoft has shared Pan code and provided feedback as the project progresses.
“This has been a very tightly-knit collaboration with Microsoft,”
Peterson says.
The kind of system that Peterson and his team are creating is based on meta-programming, which is where the .NET Framework comes into play. Meta-programming involves computer programs writing other programs.
In the work being done at Yale, a student would type a math equation into a program that utilizes the programming language researchers are developing. This program, working in conjunction with Pan, would then rewrite and optimize the equation and launch a highly optimized program written in Microsoft’s Visual C# language (pronounced
“C sharp”
), which runs on the .NET Framework and .NET Compact Framework programming models. The Visual C# program, in turn, would efficiently generate the picture the student wants to see onscreen.
“We want to bring computers into new areas and make them useful to new classes of people, which is similar to what I think Microsoft wants to do,”
Peterson says.
“So the collaboration on this project works well.”
The research team hopes to debut the program later this fall.
Creating .NET Technologies that Run on the Back End
While both the research projects at Yale and the University of Virginia are focused on developing technology that runs on smart devices and desktops, not all the academic institutions collaborating with MSR are focused on utilizing .NET technologies on the front end. Several — including Monash University in Victoria, Australia; Queensland University of Technology in Brisbane, Australia; and the University of Southern California (USC) in Los Angeles — are researching back- end technologies using .NET.
At USC, research scientists are preparing a project to develop a system that would shield users from the dynamic changes that occur on the Internet. These changes include failing or migrating XML Web services, virus attacks or disappearing Internet Service Providers (ISPs) — dynamic events that prevent users from getting what they need, when they need it. This system would be based on the .Net Framework.
The USC researchers are developing a registry that gets contacted when a failure occurs and provides a seamless workaround. This vision is similar to how UDDI, the universal business registry of XML Web services, works. However, the difference between the two is that the registry that USC hopes to develop will be capable of providing a workaround that enables client software to respond to those failures.
For example, if the XML Web service a banker relies on for stock quotes is unavailable, the registry would be notified of the failure and seamlessly download a handler that enables the desktop application to proceed to a replica of this service. The banker would be unaware that the XML Web service her company normally uses has failed, because she still got the information she needed.
Sharing Code and Opportunities
MSR is funding the USC project in the form of unrestricted gifts, and has provided software, support, training, source code and feedback on these early stages of the project. As the research progresses, Ghandeharizadeh looks forward to continuing the collaboration with MSR.
“The role Microsoft Research is playing in collaborating with research institutions like ours is very important,”
Ghandeharizadeh says.
“We’re grateful for the support.”