Technical University Munich
TUM, Department of Computer Science, Chair IV
„Software & Systems Engineering“,  www4.in.tum.de
Prof. Dr. Manfred Broy, ca. 30 MA.
Working Group: Dynamic Mobile Systems
Maurice Schoenmakers  schoenma@in.tum.de
Christian Salzmann
Michael Fahrmaier
Topics: Architecture description, collaboration design and methods
Contact to
Siemens ICN, Microsoft Research, Sun
Jini Applications: Started April/May 99
Carp@: A tool to manage Jini Systems, www4.in.tum.de/~carpat
Jini Demonstrator: Handy, Fax, Scanner, Printer und Camera
Cooperation with Siemens ICN (Dr. Michael Frank)

"Managing Dynamic Distributed JiniTM Systems"
Managing Dynamic Distributed JiniTM Systems

Outline
Introduction
Carp@
Vision
Meta-Model
Architecture
Carp@ - Beans
Using Carp@
Future Work
Jini Experiences

Introduction
Future systems are more and more distributed and dynamic
Distribution technology:
CORBA, DCOM, RMI
Dynamic cooperation: JiniTM
The configuration evolves at runtime
Interaction between components is difficult to understand
èA tool is needed to
visualize and manage
a system at runtime

Vision
Runtime structure èArchitectural structure
Runtime structure çArchitectural structure

Carp@
A tool to create an architectural overview to observe and manage Jini services and clients
Observation
Clients & Services, Locations
Channels, Messages exchanged between components
Provided and required interfaces
Administration and management
change service attributes, check memory resources,
start & stop components
configuration of channels and locations
Carp@ is itself a set of Jini services and clients

Component - Port - Connector Model
As defined by Garlan & Shaw and described in Catalysis by D'Souza & Wills
Components: A unit that performs computation
Services, java spaces, lookup services and clients
Ports: A point where services are provided or required
Implemented and used remote interfaces, service proxies, listeners, JoinManager, LookupDiscovery
Connectors: Connections between ports
Simple remote references using method calls, distributed events, leased resources, broadcasting
java-spaces as buffering connectors...

Meta-Model
Contains all architectural information
Contents created by reflection

Architecture of Carp@

Carp@ - Beans
Not all information was available by standard interfaces
Selected Solution:
in each client or service a single Carp@ - Bean is introduced
Carp@ - Bean is a special Jini Service
analyzes the service with standard reflection as far as possible
provides additional information (for example the location)
is notified by client or service about changes
is found by report service with normal Jini techniques
is requested for meta-information by the report service
propagates changes to the report service as events

Carp@ - Beans

Using Carp@

Future Work
Improve and create additional views on the meta-model
Message Sequence Charts
Improve management functionality
Relocation, Configuration
”On the fly” byte code instrumentation
Insert Carp@-Beans in predefined
service and clients automatically or assisted
Investigate ”Design at runtime”
For more information: www4.in.tum.de/˜carpat
Download will soon be available

System Layers and Jini

Jini myths ?!
Jini is for hardware devices
but at least as useful for pure software components
Jini is an 'intelligent' network of cooperating devices
but until now there is no definition of the common interfaces
Jini you don't need an installation to use a device
but there is not even a standard way to obtain user interface
Jini can be used with any protocol between the services
but Jini itself requires a JVM and class downloading
Jini enables mobile computing
but not networking

Summary
+ Jini provides mature, powerful and yet simple solutions
+ Jini may become major technology in this area.
- Requires
JVM, Class downloading, IP broadcasting
Additional dynamic networking solution
Solutions :
Bluetooth ?
KVM on PalmOS
TINI system (Dallas Semiconductor) www.ibutton.com/TINI/index.html
UPnP ?