# Programm der JIT'99 Konferenz - full program in structured XML format

Navigational sugar:

Skip to Montag, 20. September 1999

Skip to Dienstag, 21. September 1999

Skip to Mittwoch, 22. September 1999

Further links:

XML original program

HTML converted program

Tree view of this document

CSS formatted version of this document

Official HTML page with program

JIT99 Home

About the XML in here

Author

Montag, 20. September 1999

Java-Informations-Tage 1999

Track 3 (JIT'99)

10:00 - 10:15

Begrüßung

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Helmut Krings (Vizepräsident und Geschäftsführer Sun Microsystems GmbH)

Prof. Dr. Christian Müller-Schloer (Universität Hannover, Steering Komitee JIT'99 (Gesellschaft für Informatik e.V.))

10:15 - 11:00

Keynote: Die vernetzte Welt im nächsten Jahrtausend

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Greg Papadopoulos (Chief Technology Officer, Sun Microsystems (USA))

[-]

Abstrakt:

[+] (click symbol for summary)

11:00 - 11:45

Invited Talk: Swinging on the Bleading Edge - Some Java Best Practices

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Erich Gamma (Object Technology International, Zürich (CH))

[-]

Abstrakt:

This talk will give you an overview of some of the practices we have applied in large Java projects. The talk will focus on the use of design patterns, java interfaces, and a massive unit testing approach.

Erich Gamma is co-author of Design Patterns Elements of Reusable Object-Oriented Design. He is the technical director of the Software Technology Center of Object Technology International in Zürich, Switzerland.

[+] (click symbol for summary)

12:00 - 13:00

Sitzung: Datenbanken

Udo Kelter (Universität Siegen)

12:00 - 12:30

Eine Fallstudie: Einbindung von Legacy-Datenbanken über JDBC

Rainer Kerth (IBM)

[-]

Abstrakt:

Wir stellen in diesem Artikel eine Architektur zur Einbindung von hierarchischen Legacy-Datenbanken in eine objektorientierte Anwendungsentwicklung in Java vor. Grundlage dieser Einbindung ist ein maßgeschneiderter JDBC-Treiber, mit dessen Hilfe ein Zugriff auf die komplexen Datenstrukturen auf der Legacy-Seite transparent vorgenommen werden kann. Der Treiber unterstützt einen großen Teil der Funktionalitäten von JDBC 1.22.

Die Vorteile dieses Ansatzes liegen im wesentlichen in der Bereitstellung der hierarchischen Daten unter einer standardisierten, relationalen Schnittstelle. Dadurch besteht insbesondere die Möglichkeit, die Daten durch kommerziell verfügbare objektrelationale Abbildungen in Objekte umzuwandeln. Die Schwierigkeiten des Ansatzes liegen z.Zt. noch im Bereich Transaktionskoordination.

Die Architektur wurde in einem Pilotprojekt in einem Unternehmen der Versicherungsbranche vollständig implementiert.

[+] (click symbol for summary)

12:30 - 13:00

Caching in Stubs und Events mit Enterprise Java Beans bei Einsatz einer objektorientierten Datenbank

Olaf Neumann, Christoph Pohl, Katrin Franze (Technische Universität Dresden)

[-]

Abstrakt:

In diesem Artikel soll gezeigt werden, wie mit Hilfe einer Erweiterung der EJB (Enterprise JavaBeans)-Spezifikation einfacher zu konstruierende verteilte Client-Server-Anwendungen mit weniger Netzbelastung erstellt werden können. Außerdem wird der Einsatz objektorientierter Datenbanken in EJB-Containern diskutiert. Als Anwendungsbeispiel soll ein Ausschnitt aus dem Dokumentenmodell des am Lehrstuhl Rechnernetze der TU Dresden entstandenen Teleteaching-Projektes genutzt werden.

[+] (click symbol for summary)

13:30 - 15:00

Mittagspause

15:00 - 16:30

Sitzung: Compilation und Optimierung

Falk Langhammer (Living Pages Research)

15:00 - 15:30

Jiffy: Portierung eines JIT-Compilers auf FPGAs

Georg Acher (TU München)

[-]

Abstrakt:

Java hat in der letzten Zeit immer größere Verbreitung gefunden, dies ist zu einem Teil der Maschinenunabhängigkeit der Java Virtual Machine zuzuschreiben. Allerdings ist die Geschwindigkeit von Java-Programmen immer noch ein gewichtiger Kritikpunkt am Java-Konzept. Während dies für state-of-the-art Systeme durch Just-In-Time-Compiler kein echter Hinderungsgrund für den Einsatz ist, sind diese Compiler für kleinere Systeme zu aufwendig und benötigen zuviele Resourcen. Im folgenden wird ein neuartiges Konzept (Jiffy) eines JIT-Compilers in HW vorgestellt, das als Mittelweg zwischen langsamer, aber ressourcenschonender Interpretierung und schneller, aber rechen- und speicheraufwendiger JIT-Compilierung in SW gelten kann.

[+] (click symbol for summary)

15:30 - 16:00

Automatische Verteilung in Pangaea

Andre Spiegel (Freie Universität Berlin)

[-]

Abstrakt:

Pangaea ist ein System, das zentralisierte Java-Programme automatisch verteilen kann, basierend auf statischer Quelltext-Analyse und unter Verwendung beliebiger Verteilungsplattformen wie RMI oder CORBA. Pangaea reduziert die Komplexität verteilter Programmierung, indem es die Idee der Verteilungstransparenz konsequent weiterführt: Sowohl die Entscheidung für eine bestimmte Verteilungsstrategie, als auch deren programmtechnische Umsetzung geschieht in Pangaea nicht nur transparent, sondern automatisch. Der Einsatz statischer Analyse zahlt sich insbesondere dadurch aus, daß er Optimierungen erlaubt, die für eine rein laufzeit-basierte Automatik unmöglich sind.

[+] (click symbol for summary)

16:00 - 16:30

A Closer Look at Inter-library Dependencies in Java-software

Michael Thies (Universität-Gesamthochschule Paderborn)

[-]

Abstrakt:

Optimizing JustinTime compilation of Java programs depends on information gained from stateoftheart program analysis techniques. To avoid extensive analysis at program execution time, analysis results for libraries can be precomputed statically and then combined dynamically at runtime. This paper provides evidence that such a hybrid approach would in fact work well for larger programs. We have implemented a compositional variant of method sideeffects analysis, which has been applied to three real world Java libraries. The dependency structure of the results and its meaning for compositional analysis is discussed. In addition the library interfaces exploited by specific client programs are examined.

[+] (click symbol for summary)

16:30 - 17:20

Kaffeepause

17:20 - 18:20

Sitzung: Software Design

Christian Müller-Schloer (Universität Hannover)

17:20 - 17:50

Thin Client for Web Using Swing

Raffaello Giulietti, Sandro Pedrazzini (SUPSI, Manno (CH))

[-]

Abstrakt:

In this article we will present how we use and exploit the Java Swing elements' functionality to realize a Web client/server architecture environment where the client represents a so called thin client, i.e. a reduced presentation layer which does not contain any application specific software (called business logic layer or simply domain layer) and the server represents the middle tier between (thin) client and data.

[+] (click symbol for summary)

17:50 - 18:20

Intelligent Java Objects

Hans Diel (Diel Software Beratung und Entwicklung)

[-]

Abstrakt:

Intelligent Java Objects provides java classes in support of a variety of artificial intelligence functions. Business objects such as people, products, projects are contained in Object Sets on which predicates can be applied. The predicates can be combined in a way similar to Logic Programming. This enables applications in support of expert systems, data mining, plan determination and classification.

The functions provided are offered in form of a framework which can easily be applied to existing data (bases) and can be integrated with existing applications.

Due to the very dynamic nature of the intelligence functions, the power of Java Beans was required for a satisfying implementation.

[+] (click symbol for summary)

anschl.

JavaParty: Abendveranstaltung inkl. Abendessen

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Track 4 (JIT'99)

10:00 - 10:15

Begrüßung

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Helmut Krings (Vizepräsident und Geschäftsführer Sun Microsystems GmbH)

Prof. Dr. Christian Müller-Schloer (Universität Hannover, Steering Komitee JIT'99 (Gesellschaft für Informatik e.V.))

10:15 - 11:00

Keynote: Die vernetzte Welt im nächsten Jahrtausend

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Greg Papadopoulos (Chief Technology Officer, Sun Microsystems (USA))

[-]

Abstrakt:

[+] (click symbol for summary)

11:00 - 11:45

Invited Talk: Swinging on the Bleading Edge - Some Java Best Practices

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Erich Gamma (Object Technology International, Zürich (CH))

[-]

Abstrakt:

This talk will give you an overview of some of the practices we have applied in large Java projects. The talk will focus on the use of design patterns, java interfaces, and a massive unit testing approach.

Erich Gamma is co-author of Design Patterns Elements of Reusable Object-Oriented Design. He is the technical director of the Software Technology Center of Object Technology International in Zürich, Switzerland.

[+] (click symbol for summary)

12:00 - 13:00

Sitzung: Frameworks

Michael Weber (Universität Ulm)

12:00 - 12:30

A Framework For Workflow-oriented Scripting in Java Applications

Mathias Richter (Cap Gemini (CH))

[-]

Abstrakt:

This paper describes FlowServer, a Javabased framework which allows the vertical integration of workflow into any Java application. FlowServer provides a scripting language which combines an interpreter for a subset of the Java programming language with process abstractions as found in workflow definition languages. This approach integrates access to compiled software components on the Java platform and other platforms (through any Javabased middleware). We first describe different FlowServerbased application architectures. Then we give an overview of the workflow definition language provided by the framework. Finally, we briefly discuss a few design and implementation characteristics.

[+] (click symbol for summary)

12:30 - 13:00

Hype - A Java Tool for the Rapid Development of Hyperdocument Management Applications for the WWW

Enno Scholz, Rainer Lischetzki (DaimlerChrysler Research and Technology)

[-]

Abstrakt:

The paper presents Hype, an integrated development environment for building typed hyperdocument management applications for the World Wide Web. Like Java Server Pages, Hype enables Java code snippets producing dynamic content to be embedded into static HTML pages. Unlike Java Server Pages, Hype covers the complete process of building threetier applications. This includes the objectoriented modeling of the application schema in a graphical editor, the mapping of the objectoriented application schema to a relational database schema, and the automatic generation of persistent Java classes for accessing the database. Knowing the application schema, Hype can go well beyond Java Server Pages with regard to the typesafeness and modularity it provides for producing dynamic content. Unlike commercial tool suites, Hype is not targeted mainly at software professionals. Rather, the design goal of Hype was to enable power users, i.e., application domain experts with limited programming expertise, to implement most of a hyperdocument management application without programming. An important means for this (and a hallmark of Hype) is a small set of typed placeholders, which replace the use of embedded Java for many common customization tasks. Hype is an example of a large system (more than 350 classes) using Java both on the client and on the server. Moreover, in its implementation Java's capabilities for reflection, for dynamic loading of classes, and for concurrency turn out to be crucial for achieving design goals such as a clean separation of applicationspecific and kernel code or support for rapid prototyping.

[+] (click symbol for summary)

13:30 - 15:00

Mittagspause

15:00 - 16:30

Sitzung: Embedded Java

Wolfgang Rosenstiel (Universität Tübingen)

15:00 - 15:30

Die JavaCard als Programmier- und Ausführungsplattform für verteilte Anwendungen

Stefan Fünfrocken, Marie-Luise Moschgath (Technische Universität Darmstadt)

Friedemann Mattern (ETH Zürich (CH))

[-]

Abstrakt:

Chipkarten, die durch ihren integrierten Prozessor einfach zu nutzende Rechenkapazität an einem beliebigen Ort bereitstellen, finden in immer mehr Bereichen Verwendung. In jüngster Zeit wurden Kartenbetriebssysteme entwickelt, die Mehrfachanwendungen ermöglichen, sowie Karten, die in einer Hochsprache programmiert werden können und die es erlauben, Applikationen dynamisch auf die Karte nachzuladen. Eine besondere Rolle spielen hier Javabasierte Chipkarten. Mit dieser sogenannten JavaCard gelingt die Einbindung in offene bzw. netzbasierte Anwendungsszenarien besonders leicht, da Javabasierte Ausführungsumgebungen im Internet und in Intranets weit verbreitet sind. Die JavaCard stellt als Programmier und Ausführungsplattform somit eine ''portable`` Komponente in einem verteilten Anwendungsverbund dar, wobei durch das Schutzkonzept von Java die Sicherheit der Kartenapplikationen zusätzlich erhöht wird.

Der Beitrag skizziert prototypisch realisierte Anwendungsszenarien mit CORBAAnbindung der JavaCard und beschreibt die daraus gewonnenen Erfahrungen und das Entwicklungspotential für Javafähige Chipkarten in netzbasierten Applikationen.

[+] (click symbol for summary)

15:30 - 16:00

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell

Frank Burchert, Christian Hochberger, Ulrike Kleinau, Djamshid Tavangarian (Universität Rostock)

[-]

Abstrakt:

Dieser Beitrag behandelt prinzipielle Architekturen für die Fernadministration und wartung eingebetteter Systeme und stellt eine neue, modulare Lösung auf der Basis eines AddOnModells vor, mit der sich insbesondere bereits bestehende Systeme zur sicheren Administration über Intranet oder Internet erweitern lassen. Der Einsatz von Java zeigt sich dabei als probates Mittel, um die Sicherheit zu erhöhen und diese Systeme auf einfache Weise via Web fernzubedienen. Authentifizierung, Autorisierung und Sicherstellung der Vertraulichkeit sind dabei die Schlüssel zur Realisierung solcher Systeme.

[+] (click symbol for summary)

16:00 - 16:30

Java Virtual Maschines für ressourcenkritische eingebettete Systeme und Smart-Cards

Frank Golatowski, Hagen Ploog, Ralf Kraudelt, Tino Rachui, Olaf Hagendorf, Dirk Timmermann (Universität Rostock)

[-]

Abstrakt:

In diesem Beitrag werden Erfahrungen beim Entwurf und der Realisierung verschiedener Java-basierter Systeme beschrieben. Diese Systeme sind auf verschiedene Anforderungen und Anwendungsgebiete zugeschnitten. Zuerst wird die Realisierung einer virtuellen Javamaschine (JVM) für eingebettete PC-basierende Systeme beschrieben. Dabei werden die notwendig gewordenen Modifikationen hervorgehoben, um den Einsatz auf solchen ressourcen-kritischen Systemen zu ermöglichen. Einen wesentlichen Schwerpunkt bildet dabei die Umsetzung von E/A-Zugriffen über Standard-Unix-Gerätefunktionen.

Als weiteres wird eine JVM für ein mikrocontroller-basiertes System vorgestellt. Als Mikrocontroller kommt hier ein 8-Bit-Prozessor zum Einsatz. Ziel dieser Implementierung ist es, Voraussetzungen zu schaffen und Erfahrungen zu sammeln für die Entwicklung eines Java-Prozessors.

Diesen stellen wir als dritte Komponente vor. Dieser Spezialprozessors ist für den Einsatz als Smart-Card-Prozessor vorgesehen. Die besondere Aufgabenstellung besteht darin, die Objektorientierung hardwaretechnisch umzusetzen.

Die beiden virtuellen Maschinen wurden beispielhaft für 80x86 (mindestens 80386) bzw. 8051-Prozessoren implementiert. Sie können aber auch auf andere Prozessoren portiert werden.

[+] (click symbol for summary)

16:30 - 17:20

Kaffeepause

anschl.

JavaParty: Abendveranstaltung inkl. Abendessen

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Dienstag, 21. September 1999

Java-Informations-Tage 1999

Track 3 (JIT'99)

10:30 - 11:30

Kaffeepause

11:30 - 13:00

Sitzung: Middleware

Kurt Geihs (Universität Frankfurt)

11:30 - 12:00

Effizientes RMI für Java

Christian Nester, Michael Philippsen, Bernhard Haumacher (Universität Karlsruhe)

[-]

Abstrakt:

Der entfernte Methodenaufruf (RMI) gängiger JavaImplementierungen ist zu langsam für Hochleistungsanwendungen, da RMI für Weitverkehrskommunikation entworfen wurde, auf einer langsamen Objektserialisierung aufbaut und keine Hochgeschwindigkeitsnetze unterstützt.

Das Papier zeigt ein wesentlich schnelleres RMI mit effizienter Serialisierung in reinem Java ohne native Methodenaufrufe. Es kann auf jeder Plattform einfach anstelle des normalen RMI aktiviert werden. Darüberhinaus ist das neuentworfene RMI auch für Hochgeschwindigkeitsnetze ohne TCP/IPProtokoll ausgelegt und funktioniert sogar auf Rechnerbündeln mit heterogener Protokollarchitektur. Als Nebenprodukt wird eine Sammlung von RMIBenchmarks vorgestellt.

Bei durch Ethernet verbundenen PCs spart die verbesserte Serialisierung in Kombination mit dem neuentworfenen RMI im Median 45% (maximal 71%) der Laufzeit eines entfernten Methodenaufrufs ein. Auf unserem ParaStationRechnerbündel spart man im Median 85% (maximal 96%) der Zeit. Ein entfernter Methodenaufruf wird damit innerhalb von 115 micro-s möglich (im Vergleich zu 1450 micro-s im Standardfall).

[+] (click symbol for summary)

12:00 - 12:30

JRPC: Connecting Java Applications with Legacy ONC RPC Servers

Martin Gergeleit (Universität Magdeburg)

[-]

Abstrakt:

One of the benefits of Java is the ability to write GUIinterfaces for legacy services in a platform independent way. These Java frontends allow for a seamless integration of these existing services into an intranet or even the whole internet. However, while Java was designed for network connectivity it initially suffered from a lack of supported middleware solutions. The current approach of integrating RMI and CORBA can be considered as an obvious sign for the need of this kind of integrating technology. However, even with this integration on its way, still a very large base of installed RPC systems, namely all services based on ONC (Open Network Computing) RPC, are still not covered. In order to fill this gap RPC for Java (JRPC) has been developed as the first full ONC RPC binding for Java. This paper describes the design and the implementation of this Java binding for ONC RPC and the enhancements to the standard functionality that were required for integrating RPC functionality in Webbased applications.

[+] (click symbol for summary)

12:30 - 13:00

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Frank Kargl, Torsten Illmann, Michael Weber (Universität Ulm)

[-]

Abstrakt:

In this document we introduce an infrastructure for personal agent communication and coordination. An essential part of this infrastructure is the so called AgentBus, a software bus system built on top of existing messaging systems that allows flexible communication between agents. We give an introduction how messaging differs from other communication mechanisms and describe our evaluation of several Java messaging systems like InfoBus, Corba Event and Notification Channel or Softwired's iBus with respect to functionality and performance. We also describe the special requirements of agent communication and the design of our AgentBus.

[+] (click symbol for summary)

13:00 - 14:30

Mittagspause

14:30 - 16:00

Sitzung: Sicherheit

Raimund T. Kölsch (Kölsch und Altmann)

14:30 - 15:00

Nicht verifizierter Code: eine neue Lücke im Sicherheitsmodell von Java

Karsten Sohr (Philipps Universität Marburg)

[-]

Abstrakt:

In diesem Artikel wird eine neuerdings entdeckte Sicherheitslücke im JDK 1.1.x und in Java 2 beschrieben. Ursache für diese Sicherheitslücke ist ein Implementierungsfehler im BytecodeVerifizierer, einer zentralen Komponente der JavaSicherheitsarchitektur: Unter gewissen Umständen wird Bytecode nicht mehr vollständig verifiziert, wodurch grundlegende Regeln der Sprache Java wie z.B. die Typsicherheit verletzt werden können. Dies kann zu einem Angriff auf den Netscape Communicator 4.x ausgenutzt werden, mit allen Konsequenzen bis hin zum Löschen wichtiger Daten.

[+] (click symbol for summary)

15:00 - 15:30

A Flexible Security Architecture for the EJB Framework

Frank Kohmann, Michael Weber (Universität Ulm)

Achim Botz (TPS Labs AG)

[-]

Abstrakt:

Since the Enterprise JavaBeans (EJB) specification has been released in spring 1998, a great interest has been shown in this new technology. It is the first approach that defines a serverside component model for the Java platform. The EJB specification already has achieved a high grade of acceptance and will obtain an important role in the development of distributed applications in the future. Nevertheless, since EJB is a young technology it still has to struggle with several problems. One of these is security management. The issues concerning security that are covered by the specification are very basic. However, the distributed nature of EJB makes a sophisticated approach in regard to security indispensable. Due to this necessity, a flexible security architecture for the EJB framework is proposed within this work.

[+] (click symbol for summary)

15:30 - 16:00

Verwaltung von Java-2-Zugriffspolitiken

Rainer Falk (TU München)

[-]

Abstrakt:

In Java 2 können für mobilen und lokalen Code feingranular Zugriffsrechte vergeben werden. Die Zugriffspolitik legt abhängig von der Herkunft des Codes fest, auf welche Ressourcen zugegriffen werden darf. In diesem Beitrag wird vorgestellt, wie Politiken durch das Einbinden von Teilpolitiken einfacher verwaltet werden können. Die Politiken, die dezentral verwaltet werden können, werden in einem LDAPVerzeichnisdienst abgelegt. Eine eingebundene Teilpolitik kann nur für festgelegte Code Sources Erlaubnisse gewähren.

[+] (click symbol for summary)

16:00 - 17:30

Podiumsdiskussion: Von Applets zu Jini - was kommt danach?

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Peter Welchering (Computerzeitung (Moderation))

Erich Gamma (OTI), Falk Langhammer (Living Pages Research), Clemens Cap (Universität Rostock), NN (Sun), Mike Wood (Psion (Symbian)), Michael Stapf (Oracle), NN (IBM) ()

[-]

Abstrakt:

Über die Frage der Zukunft von Java im nächsten Jahrtausend nach Applets, Servlets und Jini wird von Vertretern aus Industrie, Mittelstand und Forschung diskutiert.

Das Panel wird von der Computerzeitung, Sun Microsystems GmbH und der Gesellschaft für Informatik e.V. gemeinsam veranstaltet, und in der Computerzeitung veröffentlicht.

[+] (click symbol for summary)

Track 4 (JIT'99)

09:00 - 10:30

Sitzung: Jini

Friedemann Mattern (TU Darmstadt)

09:00 - 09:30

A Jini-based Gateway Architecture for Mobile Devices

Gerd Aschemann, Roger Kehr, Andreas Zeidler (Technische Universität Darmstadt)

[-]

Abstrakt:

In the near future we expect a widespread deployment of mobile computational resources including network-enabled end devices like Laptops and PDAs. An interesting problem then and today is the transparent change of locality. Traditionally several manual actions are necessary to reconfigure the device and to rebind client-applications to services available in the host network. This paper presents the architecture of a Jini-based Application Level Gateway (ALGW) which avoids manual reconfiguration of a mobile device every time the user changes the host network. To do so, the ALGW makes use of key technologies provided by Jini. Jini is used for dynamic looking up and binding to services needed by the user and located in the host network. Moreover, Jini can be used for value-added services like our authenticating SMTP-Service.

[+] (click symbol for summary)

09:30 - 10:00

Jini - ein guter Geist für die Gebäudesystemtechnik

Wolfgang Kastner, Christopher Krügel (Technische Universität Wien (A))

Heinrich Reiter (European Installation Bus Association (B))

[-]

Abstrakt:

Die Anforderungen an die Elektroinstallation in Gebäuden und Wohnhäusern ist in den letzten Jahren dramatisch gestiegen. Da konventionelle Elektroinstallationen diesen Ansprüchen nicht mehr ausreichend gerecht werden können, wird der Ruf nach modernen, busfähigen Varianten immer vehementer. Eine dieser Varianten ist der Europäische Installationsbus (EIB). Welche vielfältigen neuen Möglichkeiten der Gebäudesystemtechnik und automation offen stehen, wenn dieses Feldbussystem Jinifähig gemacht wird (frei nach dem Motto: The Network is the Device!) und wie eine solche Integration funktionieren kann, soll dieser Artikel zeigen.

[+] (click symbol for summary)

10:00 - 10:30

Der Einsatz von Jini für die Realisierung durchgängiger Steuerungskonzepte in verteilten eingebetteten Systemen

Stephen Schmitt (FZI Karlsruhe)

Wolfgang Rosenstiel (Universität Tübingen)

[-]

Abstrakt:

Mit der zunehmenden Automatisierung von Produktionsprozessen, und den damit einhergehenden komplexeren Anforderungen, haben sich auch die Architekturen der Steuerungs- und Regelungskomponenten solcher Anlagen stark verändert. Vor allem die Vernetzung dieser eingebetteten Systeme hat ein weites Einsatzfeld aufgespannt. Zusätzlich ist durch die Vernetzung auch die Fernwartung, -diagnose und -test von eingebetteten Systemen möglich geworden.

Mit der Einführung von Jini hat sich für die Vernetzung von javafähigen Geräten eine neue Dimension eröffnet. Jini soll es ermöglichen, eine hochdynamische Infrastruktur von vernetzten Objekten zu schaffen, die robust, flexibel und skalierbar gehalten werden kann. Dieser Artikel soll anhand eines einfachen Anwendungsszenarios die Verwendung von Jini für die entfernte Steuerung und Beobachtung eines eingebetteten Systems beleuchten.

[+] (click symbol for summary)

10:30 - 11:30

Kaffeepause

11:30 - 13:00

Sitzung: Spracherweiterungen

Clemens Cap (Universität Rostock)

11:30 - 12:00

Lava - Spracherweiterungen für Delegation in Java

Pascal Costanza, Günter Kniesel (Universität Bonn)

[-]

Abstrakt:

Im Gegensatz zu objektorientierten Programmiersprachen, die Vererbung auf Klassenebene realisieren, gibt es Sprachen, die dieses Konzept ausschließlich auf Objektebene verwirklichen. Dabei können "Unterobjekte" nicht nur Methoden ihrer "Oberobjekte" lokal "überschreiben" (overriding), sondern die Oberobjekte lassen sich auch zur Laufzeit gegen andere Objekte austauschen, wodurch sich leicht dynamische Verhaltensänderungen modellieren lassen.

Anhand einer Erweiterung der Sprache Java haben wir nun gezeigt, daß sich das Konzept der objektbasierten Vererbung in bestehenden klassenbasierten, streng typisierten Sprachen effizient und bei Bewahrung der Typsicherheit implementieren läßt.

[+] (click symbol for summary)

12:00 - 12:30

Making executable interface specifications more expressive

Peter Müller, Jörg Meyer, Arnd Poetzsch-Heffter (Fernuniversität Hagen)

[-]

Abstrakt:

Executable interface specification languages allow for expressive documentation and efficient testing and debugging. Since they are based on expressions of the underlying programming language, they can easily be applied by programmers without requiring mathematical skills. In this paper, we present the core of an executable interface specification language for Java. Its main contributions are an extensive coverage of sideeffects on object structures, and a clean semantics. The presented techniques can be implemented without modifications to the Java compiler or the virtual machine.

[+] (click symbol for summary)

12:30 - 13:00

Komplexe Zahlen für Java

Edwin Günthner, Michael Philippsen (Universität Karlsruhe)

[-]

Abstrakt:

Eine Voraussetzung für den Einsatz von Java im wissenschaftlichen Rechnen ist die adäquate Unterstützung komplexer Zahlen. Die vorliegende Arbeit stellt einen Präprozessor und dessen Übersetzungsschema vor, der einen neuen primitiven Datentyp complex mit zugehörigen Operatoren auf reguläres Java abbildet. Die offensichtliche Ersetzung einer complexVariablen durch zwei doubleVariablen reicht dazu bei weitem nicht aus.

Der vom Programmierer zu schreibende Code wird durch den primitiven Typ nicht nur lesbarer als methodenbasierte Operationen auf ComplexObjekten, sondern er wird auch schneller ausgeführt. Gemittelt über alle untersuchten Kern und AnwendungsBenchmarks laufen die auf dem Basistyp complex basierenden Programmversionen um den Faktor 2 bis 21 (je nach JVM) schneller als die klassenbasierten Vergleichsversionen.

[+] (click symbol for summary)

13:00 - 14:30

Mittagspause

14:30 - 16:00

Sitzung: Virtuelle Maschinen

Lutz H. Richter (Universität Zürich (CH))

14:30 - 15:00

Byte Code Engineering

Markus Dahm (Freie Universität Berlin)

[-]

Abstrakt:

The general term ``Java'' is used to denote two different things: The language itself and the related execution environment, the Java Virtual Machine (JVM), which executes byte code instructions. Several research projects deal with byte codegenerating compilers or implement new features via byte code transformations. Examples are code optimization, the implementation of parameterized types for Java, or the adaptation of runtime behavior through loadtime transformations. Many programmers are doing this by implementing their own specialized byte code manipulation tools, which are, however, restricted in the range of their reusability. Therefore, we have developed a general purpose framework that is capable of creating as well as analyzing or modifying existing byte code. In this paper we present its main features and possible application areas.

[+] (click symbol for summary)

15:00 - 15:30

Juggle: Eine verteilte virtuelle Maschine für Java

Michael Schröder, Franz J. Hauck (Universität Erlangen)

[-]

Abstrakt:

Die Sprache Java dringt neben WorldWideWeb und ClientServer Anwendungen in immer neue Anwendungsbereiche vor. So werden auch Programme aus dem Bereich Hochleistungsrechnen in Java geschrieben. Für viele Probleme aus diesem Bereich reicht die Leistung eines einzelnen Rechners allerdings nicht aus, es muß deshalb mit Clustern von Rechnern gearbeitet werden. Für den Programmierer bedeutet dies allerdings einen nicht unerheblichen Mehraufwand, da er die Verteilungsaspekte und die unterschiedlichen Semantiken für verteilte Objekte mitberücksichtigen muß.

Das Juggle System bietet hierzu eine Alternative. Juggle implementiert eine verteilte virtuelle Maschine, die transparent für den Benutzer Objekte und Threads auf die beteiligten Rechner verteilt. Eine Codeänderung ist dabei nicht notwendig, so daß auch Programme oder Bibliotheken, für die keine Quellen erhältlich sind, verteilt ablaufen können. Durch eine geeignete Instrumentierung wird ständig zur Laufzeit die optimale Position für Objekt und Threads bestimmt und über Migrationen und Replikationen umgesetzt.

[+] (click symbol for summary)

15:30 - 16:00

Careful Analysis of Type Spoofing

Akihiko Tozawa, Masami Hagiya (University of Tokyo (JPN))

[-]

Abstrakt:

Saraswat's type spoofing was one of the most longlasting bugs in the JVM. Recently, its solution was proposed and implemented in JDK1.2. The correctness of this new feature, however, is nontrivial and required the formal soundness proof. Actually, during our work on it, two flaws inside the new JVM implementation were found. This paper briefly reports our work and results.

[+] (click symbol for summary)

16:00 - 17:30

Podiumsdiskussion: Von Applets zu Jini - was kommt danach?

[Gemeinsam mit den Tracks 1 und 2 der DJEK]

Peter Welchering (Computerzeitung (Moderation))

Erich Gamma (OTI), Falk Langhammer (Living Pages Research), Clemens Cap (Universität Rostock), NN (Sun), Mike Wood (Psion (Symbian)), Michael Stapf (Oracle), NN (IBM) ()

[-]

Abstrakt:

Über die Frage der Zukunft von Java im nächsten Jahrtausend nach Applets, Servlets und Jini wird von Vertretern aus Industrie, Mittelstand und Forschung diskutiert.

Das Panel wird von der Computerzeitung, Sun Microsystems GmbH und der Gesellschaft für Informatik e.V. gemeinsam veranstaltet, und in der Computerzeitung veröffentlicht.

[+] (click symbol for summary)

Mittwoch, 22. September 1999

Java-Informations-Tage 1999

Am Mittwoch findet im Rahmen der JIT'99 ein Tutorium statt. Dieses Tutorium kann zusätzlich zur Anmeldung zu den JAVADAYS '99 gebucht werden. Der Veranstalter des Tutoriums ist die Gesellschaft für Informatik e.V. (GI). Die Veranstaltung ist als praxisrelevante Vertiefung einiger Themen der JAVADAYS '99 ausgelegt, insbesondere zu Enterprise JavaBeans, Middleware, und eingebettete Systeme.

Die Durchführung erfolgt in den Hörsälen der Heinrich-Heine-Universität Düsseldorf, welche uns dankenswerterweise während der Semesterferien zur Verfügung stehen.

Der Teilnehmer kann nach erfolgter Anmeldung einen beliebigen der drei Tracks wählen. Die Schulungsunterlagen umfassen das gesamte Tutorium. Die Anmeldegebühren betragen:

- DM 435,-
- DM 245,- (GI/ITG Mitglieder, sowie Studenten)

Eine Anmeldung unabhängig zur Konferenz, oder zu einem späteren Zeitpunkt ist möglich. Bei einer Anmeldung zu Konferenz und Tutorium wird eine gemeinsame Rechnung über den Gesamtbetrag gestellt.

Die Anmeldung zur JIT'99 (den JAVADAYS '99) und zum JIT-Tutorium nehmen Sie bitte getrennt über den jeweiligen Anmeldungsprozeß vor. Informationen hierzu befinden sich unter

www.jit-konferenz.org/tutorium

Dort sind auch eine Online-Anmeldemöglichkeit und ein Formular zum Ausdruck und Faxen.

Track 1 (JIT'99 Tutorien)

09:00 - 12:00

Tutorium: Building EJB Enterprise Applications

Martin Rentz (Senior Consultant, GemStone Systems Deutschland GmbH)

[-]

Abstrakt:

Das Tutorial gibt einen grundsätzlichen Überblick über die Spezifikation der Enterprise JavaBeans Technologie, und betrachtet zum Beispiel Komponentenarten (Entity- und Session Beans), Kontrakte, das Transaktionsmodell, die Schnittstellen und Dienste der EJB Spezifikation. Die Darstellung erfolgt sowohl für die Serverseite, wie auch für die Clientseite.

Für alle betrachteten Themen werden Beispiele und Übungen dargestellt und durchgesprochen.

Das Tutorial basiert auf einem von der GemStone Systems GmbH angebotenen Basistraining und ist mehrere hundert Mal weltweit verkauft worden.

[+] (click symbol for summary)

12:00 - 13:00

Mittagspause

13:00 - 16:00

Tutorium: Building EJB Enterprise Applications (Fortsetzung)

Track 2 (JIT'99 Tutorien)

09:00 - 12:00

Tutorium: Java und Verteilte Systeme

Michael Weber (Universität Ulm)

[-]

Abstrakt:

Das Seminar vermittelt die Verwendungsmöglichkeiten von Java zur Realisierung verteilter Systeme. Die Teilnehmer sollen nach dem Seminar in der Lage sein, ein Ver-ständnis für die Zusammenhänge und Konsequenzen der verschiedenen Einsatzmöglichkeiten von Java in verteilten Systemen zu entwickeln, um sowohl den Einsatz von Java, als auch darauf basieren-der Lösungsalternati-ven be-werten zu können.

Behandelt werden im ersten Abschnitt Netzwerkprogrammierung mit Java, Programmierung von Web Anwendungen mit Java, sowie Applets und Servlets. Der zweite Schwerpunkt befasst sich mit Java und Middleware, insbesondere mit Java RMI, Java und Corba, sowie Java und DCOM.

[+] (click symbol for summary)

12:00 - 13:00

Mittagspause

13:00 - 16:00

Tutorium: Sicherheit und Verschlüsselung

Bernhard Haumacher (Universität Karlsruhe)

[-]

Abstrakt:

Java etabliert sich mehr und mehr als Standardplattform fur verteilte Anwendungen im Intra- und Internet. Den daraus resultierenden gewachsenen Sicherheitsanforderungen trägt die Java-2-Plattform (JDK 1.2) Rechnung.

Der erste Teil des Tutorials beschäftigt sich mit den in Java eingebauten Sicherheitsmechanismen und deren Einsatz für eine sichere Laufzeitumgebung (Typsicherheit, virtuelle Maschine, ByteCode-Verifier, ClassLoader). Anhand dessen wird das Java-Sicherheitsmodell vorgestellt und aufgezeigt, wie die mit der Java-2-Plattform eingeführten Verfeinerungen eingesetzt werden können (Permission, Policy, ProtectionDomain, AccessController).

Der zweite und dritte Teil des Tutorials beschäftigen sich mit den Erweiterungen zur aktiven Sicherheit. Besprochen werden zum einen das Rahmenwerk fur digitale Signaturen im Paket java.security und zum anderen der Aufbau und die Verwendung der Java-Kryptographie-Erweiterung javax.crypto zur verschlüsselten Kommunikation mittels symmetrischer und asymmetrischer kryptographischer Algorithmen.

[+] (click symbol for summary)

Track 3 (JIT'99 Tutorien)

09:00 - 11:00

Tutorium: Java und eingebettete Systeme

Wolfgang Rosenstiel (Technische Informatik, Universität Tübingen und FZI Karlsruhe)

[-]

Abstrakt:

Die stark wachsende Komplexität eingebetteter Systeme führt auch zu stark zunehmenden Software-Anteilen, die verstärkt in höheren Programmiersprachen entwickelt werden. Derzeit benutzen viele neue Entwicklungen Java im Kontext mit eingebetteten Systemen. Ausgehend von JavaBeans zu Spezifikation und Prototyping eingebetteter Systeme werden insbesondere Möglichkeiten vorgestellt, den Speicher- und Rechenzeitbedarf bei der Verwendung von Java zu reduzieren. Dazu gehören vor allem EmbeddedJava, PersonalJava und JavaCard. Weitere Themen betreffen die Verbindung von Java und Echtzeit-Betriebssystemen, "low-cost" JVM-Implementierungen auf Microcontrollern, Romizer etc. und nicht zuletzt Java zur Beschreibung, Simulation und Synthese von zeitkritischen Hardware-Komponenten eingebetteter Systeme.

[+] (click symbol for summary)

11:00 - 12:00

Tutorium: Internet-basierte Fernwartung und Administration von eingebetteten Systemen mit Java

F. Burchert, C. Hochberger, D. Tavangarian (Universität Rostock)

[-]

Abstrakt:

Die ständig wachsende Verbreitung des Internet führt dazu, daß immer mehr Geräte Internet-Dienste integrieren. Es wird erwartet, daß das Internet ein fester Bestandteil von nahezu allen zukünftigen Systemen sein wird. Unter diesen Voraussetzungen bietet es sich aber auch an, die Administration und Verwaltung dieser eingebetteten Systeme über das Internet abzuwickeln. Dieses Tutorial soll umfangreich darüber informieren, welche Chancen und Möglichkeiten dieser Ansatz bietet, aber auch die Gefahren und Probleme aufzeigen, die damit verbunden sind.

Im einzelnen sollen im Tutorial folgende Themengebiete behandelt werden: Ein kurzer Blick auf die Welt von morgen; Standards, Protokolle und Probleme; Kommunikations- und Systemarchitekturen und ihre Komponenten (VPN, iBus, Embedded PCs, Java-Prozessoren); das Internet, Sicherheit, Integrität und Vertraulichkeit; Vorteile einer vernünftigen Benutzerführung und aktiver Eingabemasken; wie die Fernwartung in bereits existierende Systeme integrieren werden kann; von der virtuellen zur realen Welt, Applet-Zugriffe auf Hardware-Komponenten.

[+] (click symbol for summary)

12:00 - 13:00

Mittagspause

13:00 - 14:00

Tutorium: Internet-basierte Fernwartung und Administration von eingebetteten Systemen mit Java (Fortsetzung)

14:00 - 16:00

Tutorium: JINI

Friedemann Mattern (ETH Zürich (CH))

Andreas Zeidler (TU Darmstadt)

[-]

Abstrakt:

Jini ist eine auf Java aufbauende Infrastruktur für verteilte Applikationen, welche u.a. dynamische Client-Server-Assoziationen sowie die einfache Bildung dynamischer Gruppen von Diensten (sogenannte "spontane Netze") ermöglicht. Dies kommt dem gegenwärtigen Trend verteilter Anwendungsszenarien, gekennzeichnet durch hohe Dynamik, Mobilität und Einbindung von "smarten" Geräten, sehr entgegen.

Ziel des Tutoriums ist zum einen die fundierte Darstellung der wesentlichen Jini-Elemente anhand von Beispielszenarien (u.a. Lookup-Service, Discovery & Join, Leasing, verteilte Ereignisse) einschließlich der zugrundeliegenden Techniken (z.B. RMI, Code-Shipping, Proxies), zum anderen aber auch eine kritische, auf ersten Erfahrungen beruhende Wertung der Konzepte.

[+] (click symbol for summary)

(c) 1999 JIT'99 Steering Komitee im Auftrag der Gesellschaft für Informatik e.V.