The Essence of Programming Languages
Niklaus Wirth (ETH Zürich)
Abstract
|
Only a few years after the invention of the first programming languages, the subject of language design florished, and a whole flurry of languages appeared. Soon programmers had to make their choices. This brings us to the question of how languages were selected, and which were the criteria of selection. Are there any general criteria of quality? What is truly essential? In spite of the convergence to a few, wide-spread, popular languages in recent years, these questions remain relevant, as the search for a "better" language continues among programmers. Do technical merits and style still matter, or is the support of a vendor the principal or even only concern? |
CV
|
Niklaus Wirth was born in 1934 in Winterthur, Switzerland.
After graduating from ETH Zurich in electrical engineering in 1959 he
completed his master's degree at Laval University in Quebec, Canada, in 1960
and went on to complete his Ph.D. in programming languages in 1963 under
professor H. D. Huskey at the University of California at Berkeley. Wirth
served as an assistant professor at the newly founded computer science
department at Stanford University from 1963 to 1967. |
Safe Code: It's Not Just For Applets Anymore
Michael Franz (University of California, Irvine)
Abstract
|
Security guarantees for mobile code are easier to reason
about at the source-language level. However, the two major mobile code
techniques, bytecode and proof-carrying code and its variants, take a
low-level view of mobile code. We argue that the large semantic gap between
high-level source and low-level mobile code creates inefficiencies both in
reasoning about security properties of the code, as well as its performance. |
CV
|
Prof. Michael Franz leads a research group of 14 Ph.D.
students and three Post-Doctoral fellows at the University of California,
Irvine. His current research focuses primarily on security and efficiency
aspects of mobile code. Other research interests include code compression,
dynamic compilation, compiling for low power use, and programming languages
and architectures for component-based software construction. |
Computing with Distributed Resources
Jayadev Misra (University of Texas at Austin)
Abstract
|
The metaphor "Network is the Computer" has received much
attention lately. We may view the network as a repository of data, typically
stored in distributed objects, which resembles the primary (and secondary)
storage of a traditional computer. The underlying instruction set for the
network computer consists of method calls on these objects; the effect of a
method call is to modify the state of the object (similar to a "store"
instruction in a traditional computer) and/or return some value (similar to
a "load" instruction). |
CV
|
Jayadev Misra is a professor and holder of the
Schlumberger Centennial chair in Computer Sciences at the University of
Texas at Austin. He received his Ph.D. in 1972 from the Johns Hopkins
University. He has been a faculty member at the University of Texas at
Austin since 1974, except for a sabbatical during 1983-1984 spent at
Stanford University. |
Databases, Web Services, and Grid Computing – Standards and Directions
Stefan Dessloch (University of Kaiserslautern)
Abstract
|
Over the last two years, web services have emerged as a key technology for distributed object computing, promising significant advantages for overcoming interoperability and heterogeneity problems in large scale, distributed environments. Major vendors have started to incorporate web service technology in their database and middleware products, and companies are starting to exploit the technology in information integration, EAI, and B2B-integration architectures. In the area of Grid computing, which aims at providing a distributed computing architecture and infrastructure for science and engineering, web services have become an important piece of the puzzle by providing so-called Grid Services that help realizing the goal of virtual organizations to coordinate resource sharing and problem solving tasks. The adequate support of data management functionality, or data-oriented services in general within this architectural setting is undoubtedly a key requirement and a number of approaches have been proposed both by research and industry to address the related problems. This talk will give an overview of recent developments in the areas outlined above and discuss important standardization activities as well as trends and directions in industry and research. |
CV
|
Stefan Deßloch is a professor at the University of Kaiserslautern, Germany, where he is heading the research group “Heterogeneous Information Systems”. Major areas of interest include information integration, database-oriented middleware technologies, databases and the web, XML and databases, as well as extensible and object-relational database management systems. In these areas, he has published many conference papers, journal articles, and book chapters, as well as conference tutorials and holds a number of patents. Stefan earned his doctoral degree at the University of Kaiserslautern in 1993. Until 2002, he was a database architect at the IBM Database Technology Institute in San Jose, California, where he was responsible for IBM's database-related standardization efforts in the areas of SQL, XML, and Java. Moreover, he conducted projects in the areas of information integration architecture and programming models, database & application server integration, and object-relational database extensions. |
Ibis: A Java-based grid programming environment
Henri E. Bal
(Department of Computer Science, Vrije Universiteit, Amsterdam, The
Netherlands)
Abstract
|
Ibis is an ongoing research project in which we are
building a Java-based Grid programming environment for distributed
supercomputing applications. Java’s high portability allows parallel
applications to run on a heterogeneous grid without requiring porting or
recompilation. A major problem in using Java for high-performance computing,
however, is the inferior performance and limited expressiveness of Java’s
Remote Method Invocation (RMI). Earlier projects (e.g., Manta) solved the
performance problem, but at the cost of using a runtime system written in
native code, which gives up Java’s high portability. The philosophy behind
Ibis is to try to obtain good performance without using any native code, but
allow native solutions as special-case optimizations. For example, a Grid
application developed with Ibis can use a pure-Java RMI implementation over
TCP/IP that will run ”everywhere”; if the application runs on, say, a
Myrinet cluster, Ibis can load a more efficient RMI implementation for
Myrinet that partially uses native code. The pure-Java implementation of
Ibis does several optimizations, using bytecode rewriting. For example, it
boosts RMI performance by avoiding the high overhead of runtime type
inspection that current RMI implementations have. The special-case
implementations do more aggressive optimizations, even allowing zero-copy
communication in certain cases. |
CV
The Verifying Compiler: A Grand Challenge For Computing Research
C.A.R. Hoare (Microsoft Research, Oxford University)
Abstract
|
I propose a set of criteria which distinguish a grand challenge in science or engineering from the many other kinds of short-term or long-term research problems that engage the interest of scientists and engineers. As an example drawn from Computer Science, I revive an old challenge: the construction and application of a verifying compiler that guarantees correctness of a program before running it. |
CV
|
Tony Hoare first encountered Bob Floyd's suggestion for a verifying compiler in 1968, when he took up his post as Professor of Computing Science at the Queen's University, Belfast. Most of his academic research since that time has been directed towards the problems of program specification and verification. On joining Microsoft Research in 1999, he realised that there was an increasing need for software verification, as well as an increasing capability to meet that need. The achievement will be realised only by a concerted long-term and international endeavour, of the kind that in other sciences is called a Grand Challenge |
Evolving a Multi-Language Object-Oriented Framework: Lessons from .NET
Jim Miller (Microsoft Corporation)
Abstract
|
In 2001 Microsoft shipped the first public version of its
Common Language Runtime (CLR) and the associated object-oriented .NET
Framework. This Framework was designed for use by multiple languages through
adherence to a Common Language Specification (CLS). The CLR, the CLS, and
the basic level of the .NET Framework are all part of International Standard
ISO/IEC 23271. Over 20 programming languages have been implemented on top of
the CLR, all providing access to the same .Net Framework, and over
20,000,000 copies have been downloaded since its initial release. |
CV
|
Jim Miller holds a PhD in Computer Science from MIT
(Parallel Processing under Bert Halstead), and served on the faculty at
Brandeis University as well as on the research staff at MIT (both the AI Lab
and the Lab for Computer Science). He has been on the research staff at
Digital Equipment Corporation and the Open Software Foundation. Before
joining |
C# - The modular language for the 2000s
Judith Bishop (University of Pretoria) and Nigel Horspool (University of Victoria)
Abstract
|
C# is seen as Microsoft's alternative to Java, but it is
much more than that. This tutorial looks deeper into how object-orientation
has developed over the past seven years, and at the new features that C#
offers for cleaner and more secure programming. These include a uniform
treatment of types, properties, collections, indexers, events and delegates,
among others. As with any new language, it is important to get into the
ethos of it, and we look at how C#'s features interact, and how new
orderings of topics for learning and teaching the language are needed to
fully exploit its advantages. Several novel examples and case studies are
used to illustrate these points. |
CV
|
Judith Bishop is a Professor of Computer Science at the University of Pretoria, South Africa, and author of twelve books on languages including Java. Nigel Horspool is Professor and Head of Department of Computer Science, University of Victoria, Canada. and the author of two books on C and Unix. The speakers are the immediate past chairman and secretary of IFIP WG2.4 (Software Implementation Technology) and are on several program committees related to component development, languages, and compilers. They are joint authors of an upcoming book on C# to be published by Addison-Wesley in June 2003, and are holders of a Microsoft Research Rotor Grant for work on platform independent GUIs. |
Design by Contract and the Eiffel method
Bertrand Meyer
(ETH Zürich and Eiffel Software)
Abstract
|
A number of O-O design principles, chief of them Design by Contract, can lead to a better software process and products when supported by appropriate tools and notations. The Eiffel approach, including a method, a language and a set of tools, attempts to provide such a framework for quality; it covers the full lifecycle, from requirements analysis to implementation, debugging and maintenance. I will present the key aspects, emphasizing their practical effects on the software process, the role of the development environment, and the pervasive role of contracts. |
Trusted components and attempts at proofs
Bertrand Meyer
(ETH Zürich and Eiffel Software)
Abstract
|
"Trusted components" are reusable software elements with guaranteeable quality attributes. The presentation summarizes the justification for this concept, summarize current achievements, and outline techniques for developing actual mathematical proofs of a specific kind of components: classes in an object-oriented language. |
CV
|
Bertrand Meyer is interested in object technology and systematic software construction techniques. |
Wolfgang Beer, Dietrich Birngruber, Hanspeter Mössenböck, Albrecht Wöß
(University of Linz, Institute of Practical Computer Science)
Abstract
|
.NET is Microsoft's new software platform that significantly improves the way how desktop applications and Web-based software are developed under Windows. It is similar to the Java environment but in some respects more advanced. Like Java, .NET comes with a run time system (the Common Language Runtime). It provides type safety, garbage collection, versioning and full interoperability between more than 20 programming languages. There is also a new programming language - called C# - that is similar to Java but more convenient to use. .NET is particularly strong in the development of distributed Web Services und dynamic Web pages using ASP.NET. This tutorial is an introduction to the complete .NET technology. It shows the general concepts of .NET, demonstrates their use for practical applications and compares them to similar concepts, e.g. in Java. With numerous examples and hints to the literature the participants will be enabled to develop .NET applications themselves. |
CV
|
Prof. Dr. Hanspeter Mössenböck is a full professor at the University of Linz, Austria. He is interested in programming languages, compilers and software engineering especially in the area of object-oriented and component-based software development. Dr. Dietrich Birngruber has a PhD from the University of Linz. He is interested in component technologies such as EJB, COM+, CORBA and of course .NET. His current research is in the area of software composition languages. Dipl.-Ing. Wolfgang Beer is a research assistant at the University of Linz. He is working on mobile and context-dependent applications and in data visualization. Currently he is doing his PhD in a project that deals with context frameworks. Dipl.-Ing. Albrecht Wöß is a research assistant at the University of Linz working in object-oriented software development and compiler construction. After studying in the US for a year he worked in an eLearning project. The speakers are the authors of the book Die .NET-Technologie, dpunkt.verlag, 2003 which is currently translated to English and published by Addison Wesley. |
Carrier Grade Linux Platforms: Characteristics and Development Efforts
Ibrahim Haddad (Ericsson Research)
Abstract
|
|
CV
|
Ibrahim Haddad is a researcher at the Ericsson Corporate Unit of Research in Montreal, Canada, involved with the system architecture of third generation wireless IP networks. He is responsible for guiding open source contributions from Ericsson that promotes the use of Linux in telecommunications within the Open Source Development Lab framework. Ibrahim is a contributing Editor to the Linux Journal. He delivered several talks at universities, IEEE and ACM conferences, and Open Source forums. He received his Bachelor and Master degrees in Computer Science from the Lebanese American University, charted by the University of the State of New York. He is currently a Dr. Sc. Candidate at Concordia University in Montreal, Canada, where he received both the J. W. McConnell Memorial Graduate Fellowships and the Concordia University 25th Anniversary Fellowship. |
Project JXTA: An Open P2P Platform Architecture
Bernard Traversat (Sun Microsystems)
Abstract
|
Project JXTA is the industry leading open-source project
that defines a set of protocols for ad hoc, pervasive, peer-to-peer
computing. The Project JXTA protocols establish a virtual network overlay on
top of the Internet and non-IP networks, allowing peers to directly interact
and organize independently of their network location (firewalls or NATs).
The Project JXTA virtual network employs five abstractions that virtualize
existing computing networks. First, Project JXTA uses a uniform peer
addressing scheme that spans the entire JXTA network. Every peer is uniquely
identified by a Peer ID, and its associated peer endpoint. Second, Project
JXTA lets peers dynamically self-organize into protected domains called
peergroups. A peer can belong to as many peergroups as it wishes. Users,
service providers, and network administrators can create peergroups to scope
and control peer interactions. Peergroups virtualize the notion of firewalls,
subdividing the network into secure regions without consideration for
physical network boundaries. Third, Project JXTA uses advertisements (XML
documents) to advertise all network resources (peer, peergroup, endpoint,
service, content). Advertisements provide a uniform way to publish and
discover network resources. Each advertisement has a lifetime that specifies
the lifetime of its associated resource. Lifetimes permit obsolete resources
to decay, and enable the self-healing of networks without centralized
control. Fourth, Project JXTA defines a universal binding mechanism, called
the resolver, to perform all resolution operations required in a distributed
system. These include resolving a peer name into an IP address (DNS),
binding an IP socket to a port, or locating a service (Directory service).
In JXTA, all resolution operations are implemented as the simple discovery
or search of one or more advertisements. |
CV
|
Bernard Traversat has been one of the lead senior architect of Project JXTA, at Sun Microsystems, since the project started. He is leading the Sun core engineering team, evangilizing JXTA to the open source community and Sun customers and partners. Previously, he led Sun's effort in pervasive computing for small consumer devices, and was a lead developer on the SunCluster product. Prior to that, he worked at the NASA Ames Research Center on distributed-memory operating systems for massively parallel supercomputers. He is the co-authored of the initial MPI-IO extension specification. He received his Ph.D. degree from the Florida State University, and M.S. in Applied Math from the University of Lyon (France). |
Alois Ferscha (University Linz)
Abstract
|
“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it“ was Mark Weiser’s central statement in his seminal paper [Weis 91] in Scientific American in 1991. His conjecture, that “we are trying to conceive a new way of thinking about computers in the world, one that takes into account the natural human environment and allows the computers themselves to vanish into the background” has fertilized the embedding of ubiquitous computing technology into a physical environment which responds to people’s needs and actions. Most of the services delivered through such a “technology-rich” environment are services adapted to context, particularly to the person, the time and the place of their use. Along Weiser’s vision, it is expected that context-aware services will evolve, enabled by wirelessly ad-hoc networked, mobile, autonomous special purpose computing devices (i.e. “smart appliances”), providing largely invisible support for tasks performed by users. It is expected that services with explicit user input and output will be replaced by a computing landscape sensing the physical world via a huge variety of sensors, and controlling it via a manifold of actuators in such a way that it becomes merged with the virtual world. Applications and services will have to be greatly based on the notion of context and knowledge, will have to cope with highly dynamic environments and changing resources, and will need to evolve towards a more implicit and proactive interaction with users. A second historical vision impacting the evolution of pervasive computing claimed for an intuitive, unobtrusive and distraction free interaction with technology-rich environments. In an attempt of bringing interaction “back to the real world” after an era of keyboard and screen interaction with computers, computers started to be understood as secondary artefacts, embedded and operating in the background, whereas the set of all physical objects present in the environment were started to be understood as the primary artefacts, the “interface”. Instead of interacting with digital data via keyboard and screen, physical interaction with digital data, i.e. interaction by manipulating physical artefacts via “graspable” or “tangible” interfaces, was proposed. Tangible interface research has evolved, where physical artefacts are considered as both (i) representations and (ii) controls for digital information. A physical object thus represents information while at the same time acts as a control for directly manipulating that information or underlying associations. With this seamless integration of representation and control into a physical artefact also input and output device fall together. In this tutorial I will give a state-of-the-art survey on the field of pervasive computing. Starting from a historical view and a discussion of technolgoy trends, I will identify the main concepts, approaches and methods of pervasive computing, will identify the most topical research challenges, and work out the potentials with respect to industrial, commercial, societal and personal use applications. Technically, I will demonstrate how recent technological advances like in sub-micron and system-on-a-chip designs, wireless communications, micro-electro-mechanical systems, materials sciences, etc. have accelerated the development of low-cost, low-power, multifunctional, autonomous, embedded systems that are tiny in size and communicate untethered in short distances. Evidently, personal computing is giving way to a pervasive computing landscape populated by vast ubiquitous networks of wirelessly ad-hoc networked, mobile, wearable, autonomous, special purpose computing and communication appliances (“Smart Things”) and environments (“Smart Spaces”). Interaction, and consequently cooperation, in such environments is usually done implicitly (and invisibly) via a variety of sensors on the input side, and actuators on the output side. This paradigm shift towards pervasive computing poses serious challenges to the conceptual architectures of coordination, and the related engineering disciplines in computer science. In my presentation I will reflect on the upcoming “theory of coordination”, the emerging pervasive and ubiquitous “cooperative” computing challenges and potentials, and in particular on the engineering issues associated with the provision of context aware cooperative systems. To ease the development of cooperative applications and services that have to be based on the notion of context we have built “context frameworks”, i.e. networked embedded software systems able to (i) describe, gather, transform, interpret and disseminate context information within ad-hoc, highly dynamic and frequently changing computing environments, (ii) dynamically discover, inspect, compose and aggregate software components in order to identify, control and extend context, as well as to overcome context barriers (like time, position, user preference, etc.), (iii) allow for dynamic interactions among components in a scalable fashion and satisfying requirements such as fidelity, QoS, fault-tolerance, reliability, safety and security, (iv) integrate heterogeneous computing environments and devices with different functionality, ability, form factor, size and limited resources wrt. processing power, memory size, communication, I/O capabilities, etc., (v) support the adaptation of novel forms of sensitive, tangible, situative, non-distracting user interfaces not limited to particular modes of interaction or input- output devices, and (vi) to allow for the implementation of learning, self-adaptive, plan-oriented, intelligent system behaviour. Finally I will present and discuss system prototypes (“Wireless Campus”, “Digital Aura”, “WebWall”, “SmartLuggage”, “DigiScope”) that we have developed at the University of Linz to demonstrate pervasive computing systems in operation, to investigate novel forms of interaction and cooperation, and to envision their prospective potentials in industrial, business and commercial settings. |
CV
|
Alois Ferscha received a PhD in business informatics (1990) from the University of Vienna, Austria. From 1986 through 2000 he was with the Department of Applied Computer Science at the University of Vienna at the levels of assistant and associate professor. In 2000 he joined the University of Linz as full professor where he is now head of the department for Practical Computer Science. The background of Prof. Ferscha is on topics related to parallel and distributed computing, like e.g. Computer Aided Parallel Software Engineering, Performance Oriented Distributed/Parallel Program Development, Parallel and Distributed Discrete Event Simulation and Performance Modeling/Analysis of. Currently he is focussed on Pervasive Computing, Embedded Software Systems, Wireless Communication, Multiuser Cooperation, Distributed Interaction and Distributed Interactive Simulation. He is responsible for the research “Topical Focus” on Pervasive Computing at the University of Linz. |
A Family of Multimedia Representation Standards: MPEG-4/7/21
Fernando Pereira (Universidade Técnica de Lisboa)
Hermann Hellwagner (University Klagenfurt)
Abstract
| The ISO/MPEG standardization committee
has been responsible for the successful MPEG-1 and MPEG-2 standards that
have given rise to widely adopted commercial products and services, such
as Video-CD, DVD, digital television, digital audio broadcasting (DAB)
and MP3 (MPEG-1 Audio layer 3) players and recorders. More recently, the
MPEG-4 standard is aimed to define an audiovisual coding standard to address
the emerging needs of the communication, interactive and broadcasting
service models as well as of the mixed service models resulting from their
technological convergence. The MPEG-4 object-based representation approach
where a scene is modeled as a composition of objects, both natural and
synthetic, with which the user may interact, is at the heart of the MPEG-4
technology. With this new coding approach, the MPEG-4 standard opens new
frontiers in the way users will play with, create, re-use, access and
consume audiovisual content. |
CV
| Fernando Pereira Fernando Pereira was born in Vermelha, Portugal in October 1962. He was
graduated in Electrical and Computers Engineering by Instituto Superior
Técnico (IST), Universidade Técnica de Lisboa, Portugal,
in 1985. He received the M.Sc. and Ph.D. degrees in Electrical and Computers
Engineering from IST, in 1988 and 1991, respectively. Hermann Hellwagner Hermann Hellwagner received his Dipl.-Ing. degree (in Informatics) and
Ph.D. degree (Dr. techn.) in 1983 and 1988, respectively, both from the
University Linz, Austria. From 1989 to 1994, he was senior researcher
and team/project manager at Siemens AG, Corporate R&D, Munich, Germany.
From 1995 to 1998, he was associate professor of parallel computer architecture
at Technische Universität München (TUM). Since late 1998, he
has been a full professor of computer science at ITEC at the University
Klagenfurt, Austria. |
Mark Baker (University of Portsmouth) and Zoltan Juhasz (University of Veszprém)
Abstract
|
Java is now frequently used for developing all manner of
distributed and parallel scientific and engineering applications. Java has
become particularly popular for developing the middleware necessary to
support parallel and distributed applications. For example Jini and JXTA
from Sun Microsystems can both provide all the services necessary to support
distributed applications on a local or wide area basis. It is vital that
these, and other Java-based systems, are able interact and inter-operate
with the current and emerging generation of wide area infrastructures, such
as the Open Grid Service Architecture (OGSA) and Web Services. |
CV
|
Dr Mark Baker |
Under the hood of Rotor, the Microsoft Shared Source CLI implementation
Peter Drayton
(Microsoft Research)
Abstract
|
Released in 2002, the .NET Framework represents the next
major evolution of the Microsoft computing platform. At the core of this
initiative is the Common Language Runtime (CLR), which provides a
language-agnostic runtime that enables multi-language component-based
development. The resulting multi-vendor adoption of Microsoft's .NET
initiative means that the language interoperability and integration
solutions promised in the 90's are now becoming a pervasive commercial
reality, allowing language researchers to innovate in their particular
domain while still interoperating with existing commercial and
research-oriented language solutions. |
CV
|
Peter Drayton is engaged with Microsoft and has essential contributions to the development of the .NET framework. |
Last update by Peter Schojer 16.06.2003