14 settembre 2001
Aula A · Polo Fibonacci
via Buonarroti 4
Luciano Modica, Rettore, Università di Pisa
.NET and the Common Language Runtime
Jim Miller, Microsoft
Microsoft’s “.Net initiative” is a wide-ranging vision of distributed computing based on XML Web Services. This talk describes the goals of .Net, introduces the .Net Developer Platform (a part of the soon-to-be-released Visual Studio.Net), and provides details of the architecture of the Common Language Runtime and the .Net Framework. It will also discuss the existing standardization effort at ECMA and Microsoft’s recently announced shared source implementation of this standard.
.NET Research in Cambridge
Cédric Fournet, Microsoft Research
Researchers at Microsoft Research in Cambridge have been working with the .NET platform for two years now. This talk will present an overview of three different programming language projects on which we have been working: 1) Generics for .NET. Andrew Kennedy and Don Syme have extended the .NET Common Language Runtime and the C# language with support for generics (parametric polymorphism). The design is very expressive, supporting parametized types, polymorphic static, instance and virtual methods, F-bounded type parameters, instantiation at pointer and value types, polymorphic recursion and exact runtime types, The implementation takes advantage of the dynamic nature of the runtime, performing just-in-time type specialization, representation-based code-sharing and using novel techniques for efficient creation and use of runtime types. 2) SML.NET. Nick Benton, Andrew Kennedy and Claudio Russo have implemented an optimizing compiler for the functional language Standard ML which targets the Common Language Runtime. SML.NET implements the full SML’97 standard language and adds new constructs for exceptionally smooth bidirectional interlanguage working with any other .NET language. It produces compact code with good performance – even outperforming dedicated, optimizing native-code compilers for SML on some realistic benchmarks. 3) Polyphonic C#. Nick Benton, Luca Cardelli and Cedric Fournet have designed and prototyped an extension of the C# language which includes language extensions for asynchronous concurrent programming. The new constructs, which are based on a foundational concurrency calculus called the join calculus, make it easier to write and reason about concurrent programs from multi-threaded applications running on a single machine right up widely distributed, event-based services.
Web Services and .NET
Giuseppe Attardi, Dipartimento di Informatica, Pisa
We discuss the evolution of technologies for Web Computing. Web Services are the basis for Web Computing and depend on four central standards: XML, SOAP, UDDI and WSDL. .Net provides support for implementing Web Services: in particular the ability to interpret WSDL and dynamically generate objects and stubs for invoking remote services, through SOAP; viceversa WSDL and SOAP interfaces are generated using reflection and attributes in .Net. We discuss how .Net overcomes the limitations of previous technologies and in particular the role of the common type system, reflection and sophisticated dynamic loading mechanism. The availability of these mechanisms entrenched in the platform pushes into the runtime all information required for exposing and manipulating any .Net object, written in any source language. This eliminates the need for separate metalanguages and tools (e.g. IDL, registry) simplifying both programming and infrastructure development. Web Services need then simply to provide the standard based interface to .Net objects mentioned above and viceversa a Web Service can be used as a .Net object. Programmers have access to the same basic mechanisms exploited by Web Services for extending or developing new distributed object paradigms, e.g. peer-to-peer.
Network–aware Programming and Interoperability
Gianluigi Ferrari, Dipartimento di Informatica, Pisa
A Query Language for Semistructured Data
Giorgio Ghelli, Dipartimento di Informatica, Pisa
Discussione: Web Services and Web Applications
Franco Turini, Dipartimento di Informatica, Pisa