14 settembre 2001
Aula A · Polo Fibonacci
via Buonarroti 4 Pisa |
9:00
Registrazione
9:15
Benvenuto
Luciano Modica, Rettore, Università di Pisa
9:30
.NET and the Common Language Runtime
Jim Miller, Microsoft
Abstract
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.
11:00
Coffee Break
11:30
.NET Research in Cambridge
Cédric Fournet, Microsoft Research
Abstract
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.
13:00
Buffet
14:30
Web Services and .NET
Giuseppe Attardi, Dipartimento di Informatica, Pisa
Abstract
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.
15:00
Network–aware Programming and Interoperability
Gianluigi Ferrari, Dipartimento di Informatica, Pisa
15:30
A Query Language for Semistructured Data
Giorgio Ghelli, Dipartimento di Informatica, Pisa
16:00
Discussione: Web Services and Web Applications
Franco Turini, Dipartimento di Informatica, Pisa
|