Project Status - DistriNet

advertisement
1.
STWW-Programma
SEESCOA:
Software Engineering for Embedded Systems
using a Component-Oriented Approach
Voortgangsverslag
01/10/2002-31/03/2003
SEESCOA PROJECT
VOORTGANGSVERSLAG
Inleiding
Dit voortgangsverslag bevat:

een overzicht van de werkzaamheden uitgevoerd door de 4 partners in de
periode 01/10/2002-31/03/2003.

een lijst met tussentijdse vergaderingen uit dezelfde periode.

het verslag van de samenkomst met de gebruikerscommissie die plaats had
vrijdag 9 mei 2003 in het Pand te Gent.

de disseminaties uit deze periode.
2
SEESCOA PROJECT
VOORTGANGSVERSLAG
Werkzaamheden uitgevoerd door K.U.Leuven
Distributed Contract Monitor
In het derde jaar van het SEESCOA project werd een contract monitoring systeem
uitgwerkt dat toelaat om niet-functionele vereisten – die opgelegd werden aan
component-gebaseerde applicaties – op te volgen. Dit systeem maakt het mogelijk
om tijdsvereisten (zoals deadlines en periodiciteiten) op te volgen op één knooppunt.
Indien een van de contracten eenmaal of meermaals wordt verbroken wordt dit offline bijgehouden voor analyse achteraf.
In de afgelopen zes maanden werd de architectuur van het monitoring
subsysteem zodanig aangepast dat de 2 laatstgenoemde beperkingen
weggewerkt zijn. De architectuur laat nu toe gedistribueerde contracten te
specificeren en te verifiëren, wat de toepasbaarheid ervan sterk vergroot.
Daarnaast werd ook de mogelijkheid voorzien om online feedback te geven over
contractbreuken. Deze laatste uitbreiding maakt het mogelijk dat de applicatie
tijdens de uitvoering informatie krijgt over niet-functionele vereisten die niet
opgevolgd worden.
Het aanbieden van gedistribueerde monitoring biedt evenwel een aantal uitdagingen:
Er is een aangepaste vorm van resource-beheer nodig om de contracten op te
volgen. Dit resourcebeheer is zowel nodig op het vlak van de berichtenuitwisseling
(er wordt informatie over gebeurtenissen uitgewisseld tussen de knooppunten) als op
het vlak van het schedulen van monitoring activiteiten en de event history.
Daarnaast dient er ook tot een nauwkeurige synchronizatie van de klokken te
komen tussen de verschillende knooppunten, aangezien gebeurtenissen een
correcte tijdsstempel moeten krijgen.
Om bovenstaande functionaliteit te ondersteunen werd de bestaande monitor
opgedeeld in monitoring nodes en monitored nodes1. Een monitoring node staat in
voor het verzamelen van informatie over gebeurtenissen komende van andere
knooppunten, de contracten te verifiëren en eventuele contractbreuken te melden.
Om contractbreuken te melden worden feedback poorten voorzien op de contracten
waarop de applicatie kan verbinden. De monitored nodes staan in voor het
onderscheppen van lokale gebeurtenissen en er tijdsstempels aan toe te kennen,
waarna ze worden verstuurd naar de monitoring node. Informatie over de contracten
wordt bewaard in een contract file dat ingelezen wordt door de monitoring node,
terwijl de informatie over de te monitoren componenten wordt bewaard in
verschillende probe files die verspreid worden naar de verschillende monitored
nodes.
Om de klokken te synchronizeren wordt gebruikt gemaakt van het Network Time
Protocol (NTP), dat toelaat tot een nauwkeurigheid te komen van +/- 1ms op een
1
Een typische configuratie zal bestaan uit één monitoring node en meerdere monitored nodes.
3
SEESCOA PROJECT
VOORTGANGSVERSLAG
lokaal netwerk. Op de monitoring node draait een NTP server; op de monitored
nodes draait een NTP client.
De nieuwe contract monitor is momenteel nog in opbouw en zal afgewerkt zijn tegen
het einde van de 2e periode van jaar 4.
Bandbreedte contracten -> formalisme uitgewerkt:
In de context van de ontwikkeling van resource aware embedded applicaties,
hebben we een formalisme uitgewerkt dat toelaat van elke poort zijn
bandbreedte eigenschappen te beschrijven. Deze beschrijving is tweezijdig.
Enerzijds hebben we de uitgaande stroom van boodschappen, waarvan op een
statistische manier de grootte en de frequentie van voorkomen wordt bepaald
(door middel van metingen of kennis van de applicatie). Anderzijds worden voor
de inkomende berichtenstroom vereisten opgesteld waaraan de inkomende
berichten moeten voldoen (eveneens op basis van de grootte en frequentie van
de berichten). Deze poort eigenschappen worden door de ontwerper van de
component opgesteld.
Het is dan de bedoeling dat tijdens het connecteren van componenten deze
eigenschappen worden gebruikt om de haalbaarheid van een connectie tussen
twee poorten te controleren, rekening houdend met de beschikbare hoeveelheid
bandbreedte.
* componentsysteem op iPAQ + camera surveillance case uitgebreid voor ad
hoc connecties via Bluetooth:
Omdat we de bruikbaarheid van ons componentsysteem op verschillende
embedded platformen willen testen, hebben we het systeem op een mobiel
draadloos platform tewerk gesteld. Het gaat hier over een iPAQ handheld
computer, een kleine draagbare computer die met een Bluetooth module is
uitgerust. Via deze module kunnen we een ad hoc verbinding opzetten met een
vast station als we er in de buurt komen. Aan de hand van deze hardware
hebben we ons camera bewakingssysteem uitgebreid zodat bewakers die een
handheld computer op zak hebben automatisch de beelden waar beweging op
gedetecteerd werd van een bepaalde camera kunnen opvragen. De
gerealiseerde toepassing toont aan hoe flexibel we met ons componentsysteem
kunnen omgaan en het op verschillende architecturen tewerk stellen, zonder zijn
goede eigenschappen te verliezen zoals het vlot samenwerken van
gedistribueerde componenten.
4
SEESCOA PROJECT
VOORTGANGSVERSLAG
Werkzaamheden uitgevoerd door V.U.B.
Project Status
Cocompose
CoCompose [6][7] is a software design approach that incorporates a design
language and an automated translation process.
The design language supports visual modelling starting from generic concepts, which
represent the elements of the system to be developed (e.g. Storage, Camera,
Logging, Event). These concepts eventually map to concrete implementation
constructs, such as classes, methods, attributes, etc. The language uses the generic
abstraction mechanism of composites to represent relationships (inheritance or
association) between concepts and modules (components, aspects, design patterns,
...) that are built up of concepts. The language allows for high-level design, but also
for refinement to executable/implementation level.
The automatic translation process uses solution patterns and implementation
generators to expand composites (see Figure 1). A solution pattern describes the
composite in terms of a structure of nested concepts and composites. An
implementation generator can generate specific code that implements that
composite. This is useful for lower-level composites, such as inheritance. Each
composite can have several solution patterns and/or implementation generators. An
automated selection and constraint checking mechanism is used to derive one
feasible implementation from all possible implementations.
Solution patterns
Implementation C#
SEESCOA
Generators Java
Top-level model
Figure 1: A CoCompose model with solution patterns and implementation
generators.
5
SEESCOA PROJECT
VOORTGANGSVERSLAG
In the context of the SEESCOA project, the CoCompose tool has been extended to
generate SEESCOA code. The tool allows for adding a specific language backend
and extra implementation generators for that language (see Figure 2).
Existing Tool Support
(Generic) Models/
Solution Patterns
Java, ...
Implementation
Generators
Implements low-level
composites in SEESCOA
language constructs
SEESCOA
Implementation
Generators
Visual
Modelling
Translation
Process
Java, ... Backend
SEESCOA Backend
Generates SEESCOA
elements and files
Figure 2: Extending the CoCompose tool for SEESCOA.
As a first case study, the StorageController component from the common SEESCOA
testcase has been described in the CoCompose language. This component is
responsible for the database connectivity. The CoCompose description of the
StorageController is decomposed in the core functionality, the ports and the
component = the composition of core and ports. As such, it achieves a better
separation of concerns than standard OO design.
As a second case study the StorageVideoImage utility class from the common
SEESCOA testcase has been described in the CoCompose language. This class
processes and stores video images received from the camera. This class can be
implemented in several ways: image processing can be done on (1) reading or (2)
writing the image and several processing algorithm strategies are possible.
CoCompose can describe these alternatives and choose from them automatically.
Task 2.6 Evolution and Versioning
We have been also working on evolution and versioning. We have built (currently
ongoing work) a software library that supports storage, documentation, classification
and retrieval of software components and component-based applications.
The documentation process is based on the 4-levels of documentation (by Jézéquel
et al.) [3] presented in D. 2.2. These levels are: syntax, semantics, synchronization
and quality of service. However, we consider this is not enough information when
reusing and building a component-based application. Therefore we have augmented
these levels by considering also other non-functional properties such as versioning,
implementation considerations, dependencies between components, etc.
For classifying components we have extended the faceted classification scheme (by
Prieto-Díaz) [1] . This approach is composed basically by facets and terms. Facets
6
SEESCOA PROJECT
VOORTGANGSVERSLAG
describe some aspect of a software asset. Terms are the actual values of the facets
(one single value per facet). The advantages of using the faceted classification
scheme is that common assets are grouped together (depending on the terms of the
asset) and also that the structure of the library gives already an idea of what assets
do. However, this scheme is only suitable for “small” assets and not components,
which are multi-behavioural. Thus an extension to this scheme has been made.
We have developed the multi-dimensional specification and classification scheme
[2]. It is the aforementioned extension of Prieto-Díaz’s approach for supporting
components. This extended scheme consists of:
Dimensions: different view on components (QoS, version, …). One dimension
contains many facets (QoS contains speed, memory, …; version contains
versionnumber, previous version, versiontype).
Facets: particular part of the view given by a dimension. A facet is sometimes
defined by many terms (versiontype is either revision or variant) or is defined by a
type (versionnumber is a structured-number, previous version is a component)
Components are then classified by their terms, i.e. the different values of the different
facets of the different dimensions
The status of this task is the following:
Implementation of the library allowing to document components, classify and search
components in the library and browse the library following the structure of the library
(dimensions, facets, terms)
Model for documenting a full application as a configuration of components is ready;
implementation is ongoing.
Import/export functions from/to the CCOM-tool and the library can be implemented
straightforwardly.
Future Work
Currently, alternative CoCompose design structures are chosen manually during the
translation process. This selection of alternative design structures will be automated,
e.g. by means of constraint checking or heuristics [4].
CoCompose designs can translate to a great number of possible implementations.
Adding a single concept can already add a number of extra implementations
(concept as class, concept as method, concept as component, etc.). To improve
scalability of the translation process, optimisation techniques, such as early
elimination of non-feasible implementations and caching of earlier translations will be
applied.
In task 2.6 also another goal is to support evolution in component-based
applications. We have already a basis (with the multi-dimensional scheme) for
describing component-based applications in a very fine-grained level of granularity.
7
SEESCOA PROJECT
VOORTGANGSVERSLAG
The reason of the previous is to be able to give enough information for doing impact
analysis. We will use metrics (some specific for component-base development, some
others brought and straightforwardly adapted from object orientation) for answering
questions such as: how much impact the replacement of component A v1.2 by v1.3
will have in the overall system?. Some examples of metrics that can be used are:
DCC - Direct Class Coupling
MPC - Message Pass Coupling
CItCM – Component Integration Complexity Metric
The component library (under development) will be consequently also be extended
and modified for supporting evolution.
Bibliography
[1] R. Prieto-Diaz, P. Freeman. Classifying Software for Reusability. IEEE Software,
1987, January. 4(1): p. 6-16.
[2] Miro Casanova and Ragnhild Van Der Straeten. Supporting Evolution in
Component-based Software Development Using Component Libraries. In the
proceedings of the 7th European Conference on Software Maintenance and
Reengineering, Benevento (Italy), 2003.
[3] J. Jézéquel et al. Making Component Contract Aware. Computer of ACM. (Vol.
32, No. 7). pp. 38-45. July 1999.
[4] Akşit, M., Marcelloni, F., Deferring Elimination of Design Alternatives in ObjectOriented Methods, Concurrency and Computation: Practice and Experience, Vol. 13,
pp. 1247-1279, Wiley, December 2001.
[5] Tekinerdoğan, B., Akşit, M., Synthesis Based Software Architecture Design, in
Akşit, M. (ed.), Software Architectures and Component Technology, Kluwer
Academic Publishers, Dordrecht, 2002.
[6] Wagelaar, D., A Concept-Based Approach for Early Aspect Modelling, position
paper for AOSD 2003 workshop on "Early Aspects", Boston, USA, March 2003.
[7] Wagelaar, D., A Concept-Based Approach to Aspect-Oriented Software Design,
MSc. Thesis, University of Twente, Enschede, The Netherlands, August 2002.
8
SEESCOA PROJECT
VOORTGANGSVERSLAG
Werkzaamheden uitgevoerd door Universiteit Gent
Motion detection and tracking
In the previous months all university partners were heavily involved in the SCSS
(SEESCOA Camera Surveillance System) testcase. In order to show the usefulness
of reusable components, we developed two extra case studies: motion tracking and
a chess robot.
camera component
motion detection
motion tracking
robot controller
moving target
 Figure 1: Motion tracking using a computer controlled PC.
Motion tracking is performed using a computer-controlled robot with a camera
attached to the arm of the robot (see Figure 1). A motion detection component is
used in order to compare subsequent images shot by the camera, and if there is a
substantial amount of motion detected that warrants turning the robot arm, the robot
controller starts turning the camera until the moving object is again centered in the
camera.
By adding a new component, the popular GNUChess program, we were able to
develop a chess robot (see Figure 2). A position detection component is used to
study the chess position, as seen by the camera. If a move is detected, this is fed to
GNUChess, which in turn calculates a counter move. The robot then moves the
pieces using a magnet.
9
SEESCOA PROJECT
VOORTGANGSVERSLAG
camera component
position detection
GNU Chess
robot controller
 Figure 2: A chess robot.
Input Replay
In previous work packages, we have developed a record/replay system that enables
us to replay a previously recorded execution. As the replayed executions are
equivalent to the recorded one, removing the non-determinism from the execution,
we are able to use cyclic debugging techniques. The tool we developed was able to
record/replay the messages send between the different SEESCOA components.
However, it was unable to tackle the non-determinism introduced by the input the
application receives from external sources (e.g. video images). We therefore have
implemented a tool (called TORNADO) that also allows us to capture this type of
input. The tool intercepts all system calls:

During the record phase:
o trace return values from system calls
o trace changes made to memory pages by system calls

During the replay phase:
o content-based replay of system calls (as opposed to orderingbased)
10
SEESCOA PROJECT
VOORTGANGSVERSLAG
o avoid 'black-hole' effects for e.g. printf: the applications should still
produce (some) output
o ordering-based replay to maintain in-kernel consistency (memory
allocations, ...)
Preliminary results show that the overhead is acceptable. Of course, the overhead
depends heavily on the amount of input consumed by the application.
JVM Influence on execution behaviour
The performance of a Java application is determined by a number of things; e.g. the
Java byte code, the processor, the memory subsystem (cache, TLB, ...), the JVM
(interpreter, JIT-compiler, optimizing JIT-compiler, mixed mode, ...), and of course
the input consumed by the application. While developing an embedded system
(=hardware+software) one is often interested in the performance that will be obtained
(e.g. total execution time) before the actual hardware is available. Currently, we are
looking at methods that will enable developers to do this.
Jikes adaptive
IBM 1.4.1
Blackdown 1.4.1
Sun 1.4.1
Kaffe
JRockit
Jikes base
3
2
1
0
-1
-2
-2
-1
0
1
2
 Figure 3: Principal component analyse
Therefore, we tested a number of benchmarks (SPECjvm98, SPECjbb2000, Java
Grande Forum) on a number of JVM’s (Kaffe, Jikes, Sun, Blackdown, IBM, Jrockit).
We collected 34 statistics (number of cache misses, number of memory
operations,…) using the perfctr kernel patch, applied to Linux kernel 2.4.19 running
on a 1GHz AMD Duron processor.
11
SEESCOA PROJECT
VOORTGANGSVERSLAG
Using principal component analysis we looked for the dominant components. The
results are shown in Figure 3: it is clear that (most of the time) the different
benchmark result are grouped together for a certain JVM.
Future work
In the next months, we will continue working on our input replay tool (by making it an
lightweight in-kernel replay system and by adding debugger hooks) and continue our
performance modelling (by validating the analysis on other processors and by
comparing Java workloads with classical C, C++ workloads).
12
SEESCOA PROJECT
VOORTGANGSVERSLAG
Werkzaamheden uitgevoerd door L.U.C.
Introduction
In order to determine the topics to be investigated during the last year of the project,
we have gone through a validation phase. In addition to last year’s case, which
allowed to validate to what extent our approach to UI building fits in the componentbased application development used in SEESCOA, we have assessed our UI
development approach with regard to completeness and flexibility. Some scenarios
have been considered, and this revealed that the following topics (some of which
were determined already as research topics) are worth investigating in this stage of
the project:

Task Modelling: Extracting a Dialog Model

Extended GUI design control

Towards Multimodal Interaction: speech I/O

Tool support
Task Modelling: Extracting a Dialog Model
We have been using Task Modelling with the ConcurTaskTree notation for some
time in this project. ConcurTaskTrees is a graphical hierarchical notation for task
models, in which the nodes (tasks) of the tree are related with temporal operators.
Our approach consists in annotating the interaction tasks with their UI descriptions.
The UI description is a high-level, abstract UI description based on XML. However,
the drawback of this approach is that the Task Model is made at design time, and
that only a limited part of the information it contains is directly used in the coding
phase or at runtime. Only the UI descriptions are used at runtime. A lot of “glue code”
must be written to relate the separate UI blocks to each other and to determine the
flow or navigation in the application.
Recently, we have realised a breakthrough in our research by automatically
extracting a Dialog Model (sequence of UI blocks when certain tasks are activated)
from the ConcurTaskTree Task Model. The derivation of the Dialog Model is done in
two phases.
The Enabled Task Sets (ETS) are derived from the Task Model. ETS are sets of
tasks that are logically enabled to start their performance during the same period of
time. When translated to a GUI context, ETS represent all the tasks that must be
accessible through the GUI at a certain point in time.
Based on the temporal operators, a State Transition Network (STN) is realised with
the ETS as nodes. In the STN, particular tasks trigger a transition between the
nodes. The STN represents the Dialog Model.
13
SEESCOA PROJECT
VOORTGANGSVERSLAG
Automatic extraction of the Dialog Model ensures consitency with the Task Model,
which is a design time artefact.
Extended GUI Design Control
In our approach, an abstract UI description (XML-based) is automatically rendered to
a GUI on the target device. It is obvious that this automatic rendering process allows
almost no control over the appearance of the GUI. The more abstract the UI
description, the more device specific GUI elements (e.g. fancy widgets) are lost.
Automatic layout management is another restriction of the rendering process.
Several ways can be explored to enhance the designer’s control over the GUI
presentation. During the last months we have experimented with enhanced widget
presentation control. This has been realised by the integration of “widget mapping
rules” in the XML-based UI description. The mapping rules allow to determine the
presentation on the level of a widget, widget group and/or a category of widgets.
Towards Multimodal Interaction: Speech I/O
All experiments with regard to user interfaces in this project were examples of GUIs.
In a first attempt to evolve towards multimodal interaction, we have investigated to
what degree our XML-based UI descriptions are a sound basis for speech I/O.
The experiment with regard to speech synthesis consists of adding a spoken
representation of the GUI (e.g. items selected in a list) as a result of a certain action.
A new tag has been defined to be inserted into the XML-based UI description.
Also, we have been investigating speech input. A new tag has been defined to be
inserted in the XML-based UI description. Speech recognition still has its limitations
on embedded/mobile devices.
XML-based UI description for speech I/O needs additional research to allow for more
flexibility and to support sequential as well synchronous multimodality.
Tool Support
Tool support is desired in order to make UI development for embedded systems,
according to our approach, feasible. Full-fledged tool support is beyond the scope of
the project. Two experiments have been done with regard to tool support.
A Task Annotation Tool has been developed. This tool allows to annotate an
interaction task of the task model with a UI description. Existing or new XML-based
descriptions are used. The tool stimulates consistent GUI development for similar
tasks through reuse of the description.
A graphical tool for Multi-device Layout Specification has been developed. The tool
supports constraint-based layout management, and allows to show a graph of the
14
SEESCOA PROJECT
VOORTGANGSVERSLAG
constraints between (groups of) widgets. Previewing the GUI for different target
devices at the same time is possible.
Dissemination
The results of this work package in the first half of year 4 have been reported in
several papers. Four papers have been accepted for publication in conference
proceedings. One paper is submitted.
15
SEESCOA PROJECT
VOORTGANGSVERSLAG
Verslag van de bijeenkomst van de gebruikerscommissie
De bijeenkomst van de gebruikerscommissie vond plaats in Gent in het Pand op
vrijdag 9 mei 2003 van 14u30 tot 18 uur.
Op deze meeting werd het werk dat uitgevoerd werd in maanden 37-42 voorgesteld,
en werd een blik op de toekomst geworpen. Het IWT en de gebruikerscommissie
werden voor deze vergadering uitgenodigd.
Agenda:
14:30
14:45
15:30
16.00
Aanvang en Welkomstwoord
Werkzaamheden en toekomstplannen van de 4 partners
Voorstelling van nieuw ingediend project: CoDAMos
Conclusie
Alle universitaire partners, meerdere bedrijven uit de gebruikercommissie als ook het
IWT waren aanwezig op deze meeting.
Deelnemers
Universitaire partners
 KULeuven
 Prof. Yolande Berbers
 David Urting
 Yves Vandewoude
 Stefan Van Baelen
 LUC
 Karin Coninx
 Kris Luyten
 Chris Vandervelpen
 Universiteit Gent
 Prof. Koen De Bosschere
 Frank Cornelis
 Lieven Eeckhout
 Andy Georges
 Michiel Ronsse
 VUB
 Prof. Viviane Jonckers
 Werner Van Belle
 Miro Casanova
16
SEESCOA PROJECT
VOORTGANGSVERSLAG
 Dennis Wagelaar
Leden van de gebruikerscommissie
 Agfa
 Luc Pattyn
 Siemens-Atea
 Alex De Smedt
 Roger Theeuws
 Imec
 Diederik Verkest
 Barco
 Lode Leroy
 Alcatel
 Marc Godon
 Koen Handekyn
IWT
 Gil De Reze
Voorstellingen van de universitaire partners
Een overzicht werd gegeven van het gedane werk. Hierbij werden de taken waaraan
gewerkt
werd
gesitueerd
in
het
totale
werkpakket.
Er werd vooral aandacht besteed aan de gebruikte aanpak, de problemen die zich
voordeden, de oplossingen die gekozen werden en de resultaten, zonder in detail te
gaan. Verder werd ook besproken wat in de komende 6 maanden aan bod zou
komen.
De slides van de presentaties kunnen op de website bekeken worden.
Discussie
1e vraag:
(Tijdens presentatie KULeuven rond bandbreedte contracten.)
Vraag: (IMEC) Is dat een dynamisch systeem?
Antwoord: Zover zitten we nog niet, maar het is wel de bedoeling om verschillende
soorten contracten voor verschillende systemen te hebben.
17
SEESCOA PROJECT
VOORTGANGSVERSLAG
2e vraag:
(Tijdens presentatie VUB rond CoCompose.)
Vraag: (IMEC) Zal er opgesplitst worden in design-time en run-time applicatie
generatie? En zal er ook rond run-time applicatie generatie gewerkt worden?
Antwoord: het is inderdaad de bedoeling om ook tijdens de uitvoering applicaties op
maat af te leveren, dit kan zowel aan server-zijde als aan client-zijde gebeuren.
Hiertoe zullen wel variatiepunten in het design moeten ingebouwd worden. Dit is
trouwens ook 1 van de doelstellingen van het ingediende vervolgproject.
3e vraag:
(Tijdens presentatie UGent rond de assen/dimensies bij het vergelijken van VM’s.)
Vraag: (VUB, Werner) Wat betekenen die assen? Want er zijn nieuwe assen
gecreëerd waarvan de betekenis niet direct duidelijk is.
Antwoord: je kan in bepaalde situaties wel afleiden wat ze betekenen omwille van
mogelijke correlaties, maar het is niet altijd direct duidelijk.
4e vraag:
(Tijdens presentatie UGent rond de assen/dimensies bij het vergelijken van VM’s.)
Vraag: (Siemens) Welke VM moet ik kiezen?
Antwoord: dit is momenteel nog een onderzoekstopic, we kunnen al wel
groepen/correlaties onderkennen.
5e vraag (meer een bemerking eigenlijk):
(Tijdens presentatie UGent rond de assen/dimensies bij het vergelijken van VM’s.)
Opmerking: (Alcatel) Er is een belangrijke invloed van de garbage collector mbt de
performantie van applicaties. Er dient hier dus ook mee rekening gehouden te
worden in de benchmarks die zullen dienen om de verschillende VM’s met elkaar te
vergelijken, m.a.w. het is ook belangrijk om benchmarks te gebruiken die veel
objecten aanmaken.
6e vraag:
(Tijdens presentatie UGent rond de assen/dimensies bij het vergelijken van VM’s.)
Vraag: (Agfa) Hoe groot is de variate tussen de verschillende VM’s? Het is niet echt
duidelijk uit de figuren aangezien de assen niet benoemd zijn
18
SEESCOA PROJECT
VOORTGANGSVERSLAG
Antwoord: er zullen een aantal vuistregels opgesteld moeten worden om deze
figuren af te beelden op reële waarden.
7e vraag:
(Tijdens de record-replay demo.)
Vraag: (IMEC) “Wordt er gereplayed met dezelfde timings?”
Antwoord: Ja
8e vraag:
(Tijdens het overzicht van het CoDAMoS project.)
Vraag: (Siemens) Gaan jullie samenwerken met groepen die werken rond OSGi en
MHP?
Antwoord: OSGi biedt al een aantal zaken aan, maar wij willen verder gaan.
Daarnaast is het ook niet de bedoeling concrete demonstratoren te hebben wel om
aan strategisch basisonderzoek te doen.
19
SEESCOA PROJECT
VOORTGANGSVERSLAG
Overzicht van tussentijdse vergaderingen
13 November
2 December
30 January
18 February
24 March
4 April
15 April
22 April
20
SEESCOA PROJECT
VOORTGANGSVERSLAG
Disseminatie
Seminaries naar breed publiek
- International
Symposium on Java and Embedded Systems
21 November 2002, Het Pand, Gent
programma:
09:00 a.m.
Registration
09:15 a.m.
Welcoming Address by Jacques Willems (Prorector of Gent
University)
09:30 a.m.
The Real-Time Specification for Java, the Next Step for Java
Language Use in Embedded Applications by Greg Bollella (Sun
Microsystems)
10:30 a.m.
Coffee break
11:00 a.m.
Kilobytes, Microseconds, and Bytecodes: Java Hardware and
SoftwareTechnologies for Space- and Time-Constrained
Environments by David Hardin (aJile Systems)
11:45 a.m.
JavaCard: Small is Beautiful by Michel Koenig (University of Nice Ecole Superieure en Sciences Informatiques)
12:30 p.m.
Lunch
02:00 p.m.
Java in Real-life Projects by Luc Pattyn (Agfa-Gevaert)
02:45 p.m.
Packaging Java applications for Embedded Systems by Marco
Mulder (IBM/OTI)
03:30 p.m.
Deploying Java on Mobile Devices by James Lynch (Motorola)
04:15 p.m.
End
21
SEESCOA PROJECT
VOORTGANGSVERSLAG
- seminarie
voor vlaamse industrie via het Vlaams Software
Platform (VSP)
12 December 2002, Agora building, Brussels
programma:
- Componentenmodel en componentcompositie ontwerp tool
- Run-time componentensysteem
- Gebruikersinterfaces voor ingebedde systemen
- Generiek debuggen van componenten
- Presentatie van het camerabewakingssysteem
22
SEESCOA PROJECT
VOORTGANGSVERSLAG
Publicaties
Y. Vandewoude, and Y. Berbers, Meta model driven state transfer in component
oriented systems, Proceedings of the second international workshop on
unanticipated software evolution (Kniesel, G. and Costanza, P., eds.), pp. 3-8, 2003
P. Rigole, Y. Berbers, and T. Holvoet, A UPnP software gateway towards EIB home
automation, Proceedings of the IASTED International Conference on Computer
Science and Technology (Cosnard, M. and Ibarra, O.H. and Jaja, J. and Kumar, V.
and Sarrafzadeh, M., eds.), pp. 1-6, 2003
Y. Vandewoude, and Y. Berbers, Run-time evolution for embedded componentoriented systems, Proceedings International Conference on Software Maintenance
(Werner, B., ed.), pp. 242-245, 2002
K. Luyten, T. Clerckx, K. Coninx and J. Vanderdonckt (*), Derivation of a Dialog
Model from a Task Model by Activity Chain Extraction, accepted for DSV-IS'2003,
Design, Specification and Verification of Interactive Systems, 4-6 June 2003,
Funchal, Madeira, Portugal, Will be published as a LNCS edition: Lecture Notes on
Computer Science , Springer. (*) is co-author of UCL Louvain-la-Neuve
C. Vandervelpen, K. Luyten, K. Coninx, Location-Transparent User Interaction for
Heterogeneous Environments, accepted for HCI International 2003, 10th
International Conference on Human-Computer Interaction, Kreta, 22-27 June 2003.
J. Van den Bergh, K. Luyten, K. Coninx, A Run-time System for Context-Aware
Multi-Device User Interfaces, accepted for HCI International 2003, 10th International
Conference on Human-Computer Interaction, Kreta, 22-27 June 2003.
K. Coninx, K. Luyten, C. Vandervelpen, J. Van den Bergh and B. Creemers,
Dygimes: Dynamically Generating Interfaces for Mobile Computing Devices and
Embedded Systems, accepted for MobileHCI 2003, 8-11 September, Udine, It. , Will
be published as a LNCS edition: Lecture Notes on Computer Science , Springer.
C. Vandervelpen , P. Rigole(*) , K. Luyten, K. Coninx, and Y. Berbers (*), A
Component-Based Software Engineering Case for Ubiquitous Computing, submitted
for UbiComp 2003, the fifth Annual Conference on Ubiquitous Computing, Seattle,
US, 12-15 oktober 2003. (*) co-authors DistriNet, KULeuven (project partners).
Miro Casanova and Ragnhild Van Der Straeten. Supporting Evolution in Componentbased Software Development Using Component Libraries. In the proceedings of the
7th European Conference on Software Maintenance and Reengineering, Benevento
(Italy), 2003.
Wagelaar, D., A Concept-Based Approach for Early Aspect Modelling, position paper
for AOSD 2003 workshop on "Early Aspects", Boston, USA, March 2003.
Cornelis, F.; Georges, A.; Christiaens, M.; Ronsse, M.; De Bosschere, K.: Taxonomy
of record/replay systems. Accepted for presentation at SSGRR 2003
23
SEESCOA PROJECT
VOORTGANGSVERSLAG
Ronsse, M.; Stougie, B.; Maebe, J.; De Bosschere, K.: An efficient data race detector
backend for DIOTA. Accepted for presentation at the Parco2003 conference.
Cornelis, F.; Ronsse, M.; De Bosschere, K.: TORNADO: A Novel Input Replay Tool.
Accepted for presentation at the PDPTA 2003 conference (Parallel and Distributed
Processing Techniques and Applications)
Ronsse, M.; Christiaens, M.; De Bosschere, K.: Debugging Shared Memory Parallel
Programs Using Record/Replay. Accepted for publication in the FGCS journal
(Future Generations of Computer Systems)
Eeckhout, L.; Georges, A.; De Bosschere, K.: How Java Programs Interact with
Virtual Machines at the Microarchitectural Level. Accepted for presentation at
OOPSLA 2003 (Object Oriented Programmings Systems, Languages and
Applications).
24
Download