Date: Mon, 24 Mar 2003 11:00:06 +0100 From: Maura Cerioli Reply-To: cerioli@disi.unige.it Organization: disi User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, en To: Gabriella Dodero , Vittoria Gianuzzi , Gianna Reggio Subject: Modello B Finale Ecco qui i modelli chiusi MC MODELLO MINISTERO DELL'ISTRUZIONE, DELL'UNIVERSITÀ E DELLA RICERCA
DIPARTIMENTO PER LA PROGRAMMAZIONE IL COORDINAMENTO E GLI AFFARI ECONOMICI - SAUS
PROGRAMMI DI RICERCA SCIENTIFICA DI RILEVANTE INTERESSE NAZIONALE
RICHIESTA DI COFINANZIAMENTO (DM n. 21 del 20 febbraio 2003)

PROGETTO DI UNA UNITÀ DI RICERCA - MODELLO B
Anno 2003 - prot. 2003011145_009
PARTE I

1.1 Tipologia del programma di ricerca
Interuniversitario 


Aree scientifico disciplinari
Area 01: Scienze matematiche (65%) 
Area 09: Ingegneria industriale e dell'informazione (35%) 
 


1.2 Durata del Programma di Ricerca

 

24 Mesi  


1.3 Coordinatore Scientifico del Programma di Ricerca

MONTANGERO  CARLO  CMontangero@di.unipi.it 
INF/01 - Informatica 
Universitα di PISA 
Facoltα di SCIENZE MATEMATICHE FISICHE e NATURALI 
Dipartimento di INFORMATICA 


1.4 Responsabile Scientifico dell'Unitα di Ricerca

ASTESIANO  EGIDIO 
Professore Ordinario  03/06/1939  STSGDE39H03D264T 
INF/01 - Informatica 
Universitα degli Studi di GENOVA 
Facoltα di SCIENZE MATEMATICHE FISICHE e NATURALI 
Dipartimento di INFORMATICA E SCIENZE DELL'INFORMAZIONE 
010/3536703
(Prefisso e telefono)
 
010/3536699
(Numero fax)
 
astes@disi.unige.it
(Email)
 


1.5 Curriculum scientifico del Responsabile Scientifico dell'Unitα di Ricerca


Testo italiano

Professore di Informatica presso la Facoltα di Scienze dell'Universitα di Genova.
Principali argomenti attuali di ricerca: notazioni rigorose e metodi per lo sviluppo del software; specifiche formali e semiformali e verifica di sistemi concorrenti; integrazione di metodi formali e informali nel processo di sviluppo del software; fondamenti di specifiche algebriche e loro applicaizone alla progettazione dei linguaggi di specifica.
Autore o coautore di oltre 90 articoli; curatore di 5 volumi editi da Springer.
Membro del comitato editoriale di Formal Aspects of Computing (Springer) e di Software and System Modeling (Springer).
Membro dello Steering Committee di ETAPS, AMST e del Monterey Workshop; membro dell'IFIP WG 1.3 (Foundations of system specifications).
Fondatore, agli inizi degli anni 80, di un gruppo di ricerca su Metodi Formali coinvolto in molti progetti nazionali e internazionali con accademia ed industria.


Testo inglese
Professor of Computer Science at the Faculty of Science of the University of Genova.
Current main research interests: rigorous notations and methods for software development; formal and semiformal specification and verification of concurrent systems, integration of formal and informal methods in the software development process, foundations of algebraic specifications and their application to the design of specification languages.
Author or coauthor of more than ninety published papers; editor or coeditor of five volumes by Springer.
Member of editorial board of Formal Aspects of Computing (Springer) and of Software and System Modeling (Springer).
Member of the Steering Committee of ETAPS, AMAST and of the Monterey Workshop; member of the IFIP WG 1.3 (Foundations of system specifications).
Founder, at the beginning of the 80's, of a research group in Formal Methods engaged in many national and international projects with academy and industry.


1.6 Pubblicazioni scientifiche pi∙ significative del Responsabile Scientifico dell'Unitα di Ricerca

 

1. ASTESIANO E.; REGGIO G. (2002). Knowledge Structuring and Representation in Requirement Specification SEKE. July. ACM Press.  
2. ASTESIANO E.; BIDOIT M.; KIRCHNER H.; KRIEG-BRUECKNER B.; MOSSES P.D.; SANNELLA D. (2001). CASL:The common algebraic specification language THEORETICAL COMPUTER SCIENCE. (vol. 286 pp. 153-196)  
3. ASTESIANO E.; REGGIO G. (2001). Labelled Transition Logic:an outline ACTA INFORMATICA. (vol. 37 pp. 831-879)  
4. ASTESIANO E.; REGGIO G. (2000). Formalism and Method JOURNAL OF THEORETICAL COMPUTER SCIENCE. (vol. 236 pp. 3-34)  
5. ASTESIANO E.; BROY M.; REGGIO G. (1999). Algebraic Specification of Concurrent Systems
In ASTESIANO E.; KRIEG-BRUCKNER B.; KREOWSKI H.-J. IFIP WG 1.3 Book on Algebraic Foundations of System Specification. pp. 467 - 520 BERLIN: Springer-Verlag (GERMANY)
 


1.7.1 Personale universitario dell'Universitα sede dell'Unitα di Ricerca

Personale docente

n║ Cognome  Nome  Dipartimento   Qualifica  Settore Disc.  Mesi Uomo 
1° anno  2° anno 
1. ASTESIANO   Egidio   Dip. INFORMATICA E SCIENZE DELL'INFORMAZIONE   Prof. Ordinario   INF/01   6   6  
2. CERIOLI   Maura   Dip. INFORMATICA E SCIENZE DELL'INFORMAZIONE   Prof. Associato   INF/01   7   7  
3. REGGIO   Gianna   Dip. INFORMATICA E SCIENZE DELL'INFORMAZIONE   Prof. Associato   INF/01   5   5  
4. DODERO   Gabriella   Dip. INFORMATICA E SCIENZE DELL'INFORMAZIONE   Prof. Associato   INF/01   1   3  
5. GIANUZZI   Vittoria   Dip. INFORMATICA E SCIENZE DELL'INFORMAZIONE   Prof. Associato   INF/01   1   2  
                 20  23 


Altro personale


Nessuno

1.7.2 Personale universitario di altre Universitα

Personale docente
Nessuno

Altro personale


Nessuno

1.7.3 Titolari di assegni di ricerca


Nessuno

1.7.4 Titolari di borse per Dottorati di Ricerca e ex L. 398/89 art.4 (post-dottorato e specializzazione)


Nessuno

1.7.5 Personale a contratto da destinare a questo specifico programma


Nessuno

1.7.6 Personale extrauniversitario dipendente da altri Enti


Nessuno




PARTE II

2.1 Titolo specifico del programma svolto dall'Unitα di Ricerca


Testo italiano

Supporto notazionale, architetturale e metodologico per lo sviluppo di sistemi adattivi


Testo inglese
Notational, architectural and methodological support for the development of adaptive systems


2.2 Settori scientifico-disciplinari interessati dal Programma di Ricerca

 

INF/01 - Informatica  


2.3 Parole chiave


Testo italiano

ANALISI BASATA SULLE COMPONENTI ; ARCHITTETURE SOFTWARE ; PROGRAMMAZIONE PER LA MOBILIT└ ; SPECIFICA DEL SOFTWARE ; ANALISI E TESTING BASATO SULL'ARCHITETTURA ; SISTEMI DISTRIBUITI ; MDA (MODEL DRIVEN ARCHITECTURE)


Testo inglese
COMPONENT-BASED ANALYSIS ; SOFTWARE ARCHITECTURES ; MOBILE PROGRAMMING ; SOFTWARE SPECIFICATION ; ARCHITECTURE-BASED TESTING AND ANALYSIS ; DISTRIBUTED SYSTEMS ; MDA (MODEL DRIVEN ARCHITECTURE)


2.4 Base di partenza scientifica nazionale o internazionale


Testo italiano

La diffusione sempre maggiore di sistemi mobili (portatili, palmari, etc) e la crescente disponibilita' di reti wireless sta rendendo possibile lo sviluppo di un ambiente di computazione onnipresente e pervasivo. Sfortunatamente, la struttura tradizionale delle applicazioni non supporta le caratteristiche evolutive dei sistemi pervasivi. Infatti, nei modelli tradizionali i sistemi sono composti a livello statico da moduli predefiniti, che realizzano ciascuno una certa interfaccia, mentre un sistema pervasivo deve essere in grado di adattarsi continuamente alle modifiche del suo ambiente di esecuzione, sia come utente di risorse che possono essere o no disponibili a seconda del tempo e del luogo di esecuzione, sia come fornitore di servizi che devono mantenere sempre una qualita' accettabile al variare degli utenti e delle risorse per la loro distribuzione.

Rispetto all'evoluzione durante il processo di sviluppo di un sistema, la necessita' di adattarsi alle variazioni del contesto di funzionamento, dove per contesto di esecuzione si intende l'ambiente comprensivo delle risorse e delle componenti disponibili, delle informazioni relative alla piattaforma e agli accessi, introduce una serie di problematiche nuove. Infatti, l'adattamento di un sistema gia' installato e possibilmente running richiede di solito di modificare direttamente il codice, isolando le parti del sistema che sono direttamente coinvolte nel cambiamento e cercando di mantenere per quanto e' possibile la funzionalita' del resto. Questa operazione puo' introdurre problemi di sicurezza e sicuramente necessita di verificare la correttezza del sistema ottenuto dalla modifica rispetto alle proprieta'/requisiti che noi consideriamo invarianti rispetto alle modifiche.

Un primo passo in direzione di sistemi capaci di adattarsi a variazioni del loro contesto di esecuzione e' dato dal sviluppo a componenti [7], che permette di modificare il sistema sia variandone una componente sia variando l'architettura del sistema (o meglio di un sottosistema), rendendo quindi piu' localizzati i cambiamenti [11]. Un secondo aiuto all'adattabilita' dinamica e' dato dall'uso di middleware che incapsulano il linking dinamico fra componenti e risorse e permettono quindi un adattamento del sistema al variare del contesto, seppure limitato alle variazioni di risorse e componenti disponibili, trasparente all'utente e facilitato per il progettista [13,9]. Sia l'approccio a componenti che l'uso di middleware sono ampiamente diffusi a livello tecnologico e implementativo, ma non supportati in modo soddisfacente a livello di progettazione delle applicazioni basate su di esse, tanto dai metodi quanto dalle notazioni.

Noi isoliamo tre problemi di comune interesse. Il primo e piu' generale viene dalla proliferazione e/o dalla continua variazione delle piattaforme proposte (modello delle componenti e framework) per supportare component based software (da MS COM/DCOM a MS .net, CORBA, JINI, EJB,...). C'e' una carenza di principi ben-definiti e accettati per presentarli all'interno di un frame concettuale unificato, sia per scopi didattici, sia per il loro sfruttamento nel costruire metodi sound di sviluppo software. Il secondo problema, come sostenuto in [12], e' che l'uso diretto di prodotti middleware a livello programmativo in assenza di un appropriato supporto software engineering per le altre fasi puo' essere pericoloso. Il terzo problema che menzoniamo e' che anche in qualche notazione "unified" che emerge come uno standard di fatto, come UML, il supporto alla nozione di componente e' largamente criticato, specialmente poiche' la relazione al CBSE (Component Based Software Engineering) e' completamente oscura ed inoltre non c'e' alcun specifico supporto per la relazione tra software design e middleware. Inoltre, molte nozioni emerse nel campo delle Software Architectures non trovano una immediata o accettata corrispondenza e supporto in UML. E, finalmente, UML manca una sottostante semantica rigorosa che consideri tutte le sue parti, cio' che rende problematico ed ambiguo il suo uso in un ambito di sound software engineering. La nostra unita' ha gia' iniziato del lavoro esplorativo lungo delle direzioni di ricerca che coprono i problemi menzionati precedentemente. Il problema di un supporto esplicito per il middleware in software engineering e' stato trattato in [2] al livello del design utilizzando la tecnica dei profili UML, all'interno del recentissimo approccio complessivo MDA (Model Driven Architecture) [16], che intende separare la logica di un'applicazione dalla sottostante piattaforma tecnologica. Applicazioni indipendenti dalla piattaforma costruite utilizzando gli standard associati all'MDA possono poi essere realizzate su una vasta scelta di piattaforme proprietarie o aperte, che include Corba, J2EE, .Net ed i Web service.

Il problema di un uso rigoroso di notazioni visuali e' stato trattato da noi da vari punti di vista. Prima, basandoci sulla nostra lunga esperienza nel campo delle tecniche di sviluppo algebrico-logiche (vedere [3], anche per vari contributi di membri della nostra unita') e nell'ambito dell'iniziativa CoFI (http://www.brics.dk/Projects/CoFI/), abbiamo proposto dei fondamenti rigorosi per i piu' importanto concetti e notazioni UML (vedere [17,18]). Poi, sulla base di quell'attivita' , abbiamo sostenuto l'adozione di una strategia che abbiamo chiamato "Well-Founded Software Development Methods" [6] e che puo' essere in sintesi riassunta dal principio: noi dobbiamo proporre una disciplina rigorosa derivata dall'area delle tecniche formali, che impone sia l'uso di strutture semanticamente ben definite che metodi rigorosamente fondati; ma non dobbiamo imporre il formalismo agli utenti finali,che non sono in generale esperti nel campo; percio' i fondamenti formali devono solo essere usati per garantire la correttezza dei metodi proposti. Per istanziare ed esemplificare l'adozione di questa strategia abbiamo iniziato a proporre un approccio allo sviluppo del software basato su notazione UML, per ora limitato alle fasi della modellazione del dominio e della specifica dei requisiti[4,5]. Questo approccio e' il naturale complemento di quello sopra menzionato a livello di design che cerca di trattare esplicitamente il concetto di middleware. Attualmente stiamo sperimentando questo approccio su alcuni casi di studio.

Nell'ambito di questo progetto intendiamo migliorare e estendere il lavoro precedente, ovunque sia possibile, per trattare i problemi posti dall'esigenza di adattivita'.

Inoltre, per avere una migliore percezione dei problemi a livello di middleware e di implementazione nei casi di sistemi adattivi, stiamo cominciando a esaminare un'esempio applicativo di grande interesse: la trasmissione di dati multimediali, che e' condizionata da caratteristiche di limitazione di banda. La soluzione standard adottata nel caso fisso, cioe' l'uso di un meccanismo di cache per produrre uno stream a velocita' costante puo' essere impossibile o inappropriato in casi di clienti mobili, con risorse limitate. Inoltre i clienti mobili possono anche richiedere che il servizio di streaming si adatti al livello di carica delle loro batterie, un elemento irrilevante nel caso fisso. Vi sono sistemi funzionanti che possono produrre uno stream diverso in dipendenza della larghezza di banda e/o livello di batteria disponibile, scegliendo dinamicamente una codifica fra diverse possibilita'. Questo e' un caso di evoluzione pianificata ed esplicita, cioe' gli adattamenti sono previsti nella fase di sviluppo e sono attivati da un'entita' esterna. Un esempio di tali sistemi e' NetMoVie che e' parte del sistema MoVie, pensato per effettuare servizi di streaming in vari contesti. NetMoVie [8] e' progettato a componenti intorno al concetto di qualita' del servizio, ed e' in grado di modificare la qualita' di trasmissione in base alla disponibilita' di banda e gli sviluppatori prevedono di riuscire a condizionare la trasmissione anche alla disponibilita' residua di batteria.

Questo stesso argomento fornisce un caso di studio piu' stimolante se lo si vuole estendere al caso di adattamento implicito, in cui le modifiche sono richieste da una parte del sistema stesso. In tal caso il sistema deve contenere al suo interno una rappresentazione del contesto e di se stesso (reflection), nonche' delle regole di cambiamento richieste dalle modifiche del contesto. Dal punto di vista metodologico, questo corrisponde ad individuare una particolare classe di sistemi naturalmente riflessivi e context aware. Lo stato dell'arte non presenta attualmente una soddisfacente modellazione dei sistemi context-aware, benche' recentemente questo concetto sia oggetto di studio da parte di una vivace e crescente comunita' [15], sia a livello modellistico, sia fra i progettisti di applicazioni ubique per ambienti wireless [14,10,1].


Testo inglese
The emergence and fastly growing usage of mobile systems (portable computer, palmtop, mobile phones) supported by an increasing number of wireless networks is providing the opportunity of a ubiquitous and pervasive computing environment. Unfortunately, the traditional structure of applications is not adequate for the continuously evolving features of pervasive systems. Indeed, in the traditional models of distributed systems, the applications consist of predefined modules at the static level, while a pervasive system must have the ability to adapt itself continuously to the modifications of its execution environment, in two possible respects: as a user of resources whose availability may depend on the time and place of execution and/or as provider of services that must keep an acceptable quality of service while the users and the resource for their exploitation may change.

In comparison with the well-known problem of the evolution taking place during the software development process, the need of adaptation to the variation of the execution context (where by execution context we mean the environment, including the available resources and components, and the information about the current platform and the access points) introduces a number of new problems.
Indeed, adapting an installed and possibly running system usually requires a direct modification of the code, isolating those parts of the system directly involved in the change and trying to preserve as much as possible the functionalities of the rest. That operation may introduce security problems and definitely requires a new verification of the correctness of the modified system.

A first step in the direction of adaptive systems is provided by a component based development [7], that gives the possibility of modifying a system, changing either a component or the system architecture, thus making the variations more local.
Another help to dynamic adaptability is provided by the use of an appropriate middleware encapsulating the dynamic link between components and resources, thus permitting an adaptation of the system to the varying context, that is transparent to the user and facilitated for the developer, though restricted to the variations of resources and components [13,9].
Both the approach by components and the use of appropriate middleware are widely exploited at the technology and implementation level, but not supported in a completely satisfactory way at the level of designing the applications,in terms neither of methods nor of notations.

In that respect we single out 3 problems of common interest. The first and more general comes from the proliferation and/or the continuous variation of the platforms (component model and framework) proposed for supporting component based software (from MS COM/DCOM to MS.net; CORBA, JINI, EJB,...). Though some of these models have individually a reasonable presentation, there is an almost total lack of well-defined and agreed upon underpinning principles to present them within a unified conceptual frame, both for training purposes and for their exploitation in the building of sound software development methods. The second, as it is argued in [12], is that the direct use of middleware products at the programming level without an appropriate software engineering support for the other development phases may be dangerous. The third problem we mention is that even in some "unified" notations emerging as a de facto standard, such as UML, the support to the notion of component is widely criticized, especially because the relationship to CBSE (Component Based Software Engineering) is totally unclear and morevoer there is no specific support to deal with the relationship between software design and middleware. Moreover, many of the notions emerged in the field of Software Architectures do not find an immediate and/or agreed upon correspondence and support in UML. And finally, the UML lacks an overall rigorous underpinning semantics, what makes problematic and ambiguous its use in a sound software engineering environment.

Our unit has already started some exploratory work along some directions of research tackling the mentioned problems. The problem of a software engineering support at the design level taking middleware explicitly into account has been addressed in [2] using the technique of UML profiles, within the overall the very recent approach MDA (Model Driven Architecture) [16]. MDA aims to separate the application logic from underlying platform tecnology. Platform-independent applications built using the standards associated with MDA can be realized on a range of open or proprietary platforms, including Corba, J2EE,.Net and Web services. Fully specified models (inclulind behaviour) of platform-independent applications may help insulate application logic from technology evolution and further enable interoperability. In addition, applications, freed by thechnology specifiecs, will be more able to evolve at the different pace of the supported business.

The problem of a rigorous use of visual notations has been addressed by us in several respects. Firstly,on the basis of our long experience in the field of algebraic and logic development techniques (see [3], also for contributions by our unit) and within the CoFI initiative (see http://www.brics.dk/Projects/CoFI/), we have proposed some rigorous foundations for the most important UML concepts and notations (see [17,18]). Then, on the basis of that work on a sound formal foundation, we have advocated the adoption of a strategy that we call "Well-Founded Software Development Methods" [6] that may be roughly summarized in the following principle: we must provide a rigorous discipline coming from the area of formal techniques, that imposes both the use of semantically well-defined structures and of rigorously justified methods; but we must not force the formal aspects on the end-users, who in principle are not experts; thus, the formal foundations should only be used in the background to guarantee the soundness of the proposed methods. To instantiate and exemplify the adoption of that strategy, we have started to propose a UML-based approach to software development, up to now limited to the phases of domain modelling and requirement specification [4,5]. That approach is the natural complement to our above mentioned work at the design level trying to deal explicitly with the concept of middleware. Currently, we are experimenting that approach on some concrete case studies. We plan to improve and extend the above work, wherever possible, to deal with the problems raised by the need of adaptiveness.

Morevoer, to have a better feeling of what is going on at the middleware and implementation level in a real application, we are beginning to look at an application example of extreme interest: the transmission of multimedia data, which is influenced by the available bandwidth. The standard solution adopted in the wired case, that is using a caching mechanism to be able to deliver a data stream at constant speed, may be impossible or inconvenient in the case of mobile clients, having limited resources. Moreover, mobile clients may also require the streaming service to adapt to the level of their battery consumption, an element irrelevant in the case of wired networks. There are already working systems that can deliver a different stream depending on the available bandwidth and/or battery level of the client, dynamically selecting a coding among several possibilities. This is a case of explicit planned evolution, that is, the adaptations are anticipated during the development and design phase and are triggered by an external entity.
An instance of such systems is NetMoVie [8], which is part of the MoVie system, designed to deliver streaming services in different contextes. NetMoVie is component based and designed around the concept of quality of service; it may adapt the transmission quality to the available bandwidth and the developers plan to make the transmission dependent also on the level of battery charge.

The same topic provides a most stimulating case study when extended to the case of implicit adaptations, where the changes are decided by the system itself. In that case the system needs an internal representation of the context and of the system itself (reflection), and of the rules representing the evolution required by the context modifications. From the methodology viewpoint, this corresponds to select a particular class of systems, that are naturally reflective and context aware. The state-of-the-art is not providing, nowadays, a fully satisfactory modeling of system context-aware. Though, recently, such concept has become the focus of a lively and growing community [15], at the level of modeling as well as among the designers of ubiquitous applications in wireless contextes [14,10,1].


2.4.a Riferimenti bibliografici

[1]
M. Ancona, W. Cazzola, D. D'Agostino.
Smart data caching in archaeological wireless applications: the PAST solution.
Proc. 11th Euromicro Conference on parallel distributed and network-based processing (PDP 2003), IEEE Febbraio 2003.

[2]
E. Astesiano, M. Cerioli, G. Reggio.
Architecture Specific Models: Software Design on Abstract Platforms (the P2P Case).
Technical Report of DISI - Universitα di Genova, DISI-TR-03-3, Italy, 2003.

[3]
E. Astesiano, B. Krieg-Brueckner, H.-J. Kreowski (curatori).
IFIP WG 1.3 Book on Algebraic Foundations of System Specification.
Springer Verlag, 1999.

[4]
E. Astesiano, G. Reggio.
Knowledge Structuring and Representation in Requirement Specification.
In Proc. SEKE 2002. ACM Press, New York, 2002.

[5]
E. Astesiano, G. Reggio.
Tight Structuring for Precise UML-based Requirement Specifications (Complete Version).
Technical Report of DISI - Universitα di Genova, DISI-TR-03-4, Italy, 2003.

[6]
E. Astesiano, G. Reggio, M. Cerioli.
From Formal Techniques to Well-Founded Software Development Methods.
Technical Report of DISI - Universitα di Genova, DISI-TR-02-50, Italy, 2003.
Presentato al "The 10th Anniversary Colloquium of the United Nations University International Institute for Software Technology (UNU/IIST): Formal Methods at the Crossroads from Panacea to Foundational Support".
Lisbona - Portogallo, Marzo 18-21, 2002.

[7] F. Bachmann, L. Bass, C. Buhman, S. Comella-Dorda, F. Long, J. Robert, R. Seacord, K. Wallnau.
Volume II: Technical Concepts of Component-Based Software Engineering, 2nd Edition.
Carnegie Mellon - Software Engineering Institute (SEI) Technical Report CMU/SEI-2000-TR-008, 2000.

[8]
J. Bourgeois, E. Mory, F.Spies.
Optimization of wireless bandwidth utilization.
Proc. 11th Euromicro Conference on parallel distributed and network-based processing (PDP 2003),
IEEE Febbraio 2003.

[9]
L. Capra, W. Emmerich, C. Mascolo.
Reflective Middleware Solutions for Context-Aware Applications.
In Proc. Reflection 2001 (A. Yonezawa e S. Matsuoka curatori).
Lecture Notes in Computer Science n. 2192, Berlin, Springer Verlag, 2001.

[10]
K. Cheverst, N.Davies, K. Mitchell, A. Friday.
Experiences of developing and deploying a context-aware tourist guide: The Lancaster GUIDE project.
Proc. 6th Conf. on Mobile Computing and Networking (Mobicom 2000), ACM Press.

[11]
Jim Dowling, Vinny Cahill.
The K-Component Architecture Meta-model for Self-Adaptive Software.
In Proc. Reflection 2001 (A. Yonezawa e S. Matsuoka curatori).
Lecture Notes in Computer Science n. 2192, Berlin, Springer Verlag, 2001.

[12]
W. Emmerich.
Software Engineering and Middleware: A Roadmap.
In The Future of Software Engineering (A. Finkelstein curtore), ACM Press, 2000.

[13]
K. Geihs.
Middleware Challenges Ahead.
IEEE Computer 34(6): 24-31, 2001.

[14]
J. Hightower, G. Borriello.
Location systems for Ubiquitous computing.
IEEE Computer 34(8) Agosto 2001.

[15]
D. Morse, A. Dey, S. Armstrong.
The What, Who, Where, When, Why and How of Context-Awareness.
CHI Workshop call for papers. Disponibile a
http://mcs.open.ac.uk/drm48/chi2000.htm, 2000.

[16]
OMG Architecture Board MDA Drafting Team.
Model Driven Architecture (MDA), 2001.
Disponibile a http://cgi.omg.org/docs/ormsc/01-07-01.pdf.

[17]
G. Reggio, E. Astesiano, C. Choppy, H. Hussmann.
Analysing UML Active Classes and Associated State Machines û
A Lightweight Formal Approach.
In Proc. FASE 2000 (T. Maibaum curatore).
Lecture Notes in Computer Science n. 1783, Berlin, Springer Verlag, 2000.

[18]
G. Reggio, M. Cerioli ed E. Astesiano.
Towards a Rigorous Semantics of UML Supporting its Multiview Approach.
In Proc. FASE 2001 (H. Hussmann curatore).
Lecture Notes in Computer Science n. 2029, Berlin, Springer Verlag, 2001.


2.5 Descrizione del programma e dei compiti dell'Unitα di Ricerca


Testo italiano

Il supporto allo sviluppo di sistemi adattivi sarà perseguito seguendo tre diverse direzioni:
- supporto alla adattabilità basato su componenti,
- metodi di sviluppo,
- un caso reale: supporto architetturale per un servizio di streaming autoadattante in un contesto wireless.

Supporto alla adattabilità basato su componenti
Questa direzione di ricerca inizierà con un'analisi dello stato dell'arte indirizzata a completare una tassonomia delle diverse astrazioni di modelli di componenti e relativi framework. Tale tassonomia considererà le capacità dei modelli astratti di rappresentare le esistenti proposte tecniche per modelli di componenti e gli strumenti forniti dall'astrazione che sono rilevanti allo specifico compito di progettare sistemi adattivi. In particolare, tale analisi esplorerà anche i vari approcci per la descrizione del contesto di esecuzione e delle regole evolutive (aspetti di riflettività).
Quindi, sulla base di tale analisi, si potrà decidere se dobbano essere introdotti nuovi modelli astratti oppure se qualcuno di quelli esistenti possa essere impiegato, dopo averlo eventualmente specializzato per i nuovi problemi originati dagli aspetti adattivi.
In connessione ai modelli astratti scelti, proporremo delle notazioni visuali per progettare sistemi costruiti con componenti corrispondenti a questi modelli astratti. Seguendo il nostro approccio "well-founded" allo sviluppo del software (vedere [6]), le nostre notazioni dovranno avere una controparte formale rigorosa, usata per garantire la consistenza interna del nostro approccio, ma tenuta nascosta agli utilizzatori. La nostra proposta per la notazione sarà basata per quanto possibile su standard esistenti, come UML.
Inoltre, esploreremo anche la possibilità di estendere tecniche classiche per la specifica e testing, quali precondizioni e postcondizioni, sfruttando l'analogia tra esecuzione del codice e modifica del sistema.

Metodi di sviluppo
Intendiamo esplorare e proporre metodi di sviluppo internamente corretti/solidamente costruiti/coerenti e consistenti per sistemi adattivi.
La nostra ricerca sarà effettuata all'interno di due approcci generali, l'approccio "well-founded", menzionato precedentemente, e l'approccio MDA proposto dall'OMG. L'approccio MDA (Model Driven Architecture) [16] si propone di separare la logica di un'applicazione dalla sottostante piattaforma tecnologica. Intendiamo per prima cosa esaminare le possibilità offerte dall'approccio MDA in relazione ai problemi posti dall'adattività.
All'interno di questi approcci noi progetteremo metodi per lo sviluppo di sistemi adattivi che rendano esplicito in quali fasi (descrizione del dominio, cattura e specifica dei requisiti, progettazione) i vari aspetti collegati all'adattatività (per esempio, autoadattamento a modifiche del contesto di esecuzione) dovranno essere considerati.
Rendere visibili gli aspetti relativi all'adattatività nelle fasi iniziali dello sviluppo corrisponde, pertanto, a dare all'adattatività lo stato di piena cittadinanza allo stesso livello dei requisiti funzionali del sistema. Inoltre, studiare metodi di sviluppo che supportano la descrizione esplicita degi aspetti adattivi a partire dalle fasi iniziali aiuterà ad elevare il livello in cui prendersi cura dei cambiamenti, dal codice all'architettura software. Questi approcci aiuteranno a trattare ad un livello più astratto, e quindi più semplicemente, l'analisi dell'impatto dei cambi, e pertanto aiuteranno anche a garantire un più elevato livello di sicurezza e correttezza del risultato finale.
All'interno di questo contesto di ricerca, uno dei punti principali sarà il ruolo del middleware ed in particolare la sua presenza esplicita ed il relativo supporto notazionale ad un dato livello del processo di sviluppo.
Per quanto riguarda le notazioni utilizzate nelle varie fasi dello sviluppo, intendiamo continuare nell'uso "tightly structured and rigorous" di notazioni visuali come UML (vedere [4,5]).

Un caso reale: supporto architetturale per un servizio di streaming autoadattante in un contesto wireless
La prima fase della ricerca consisterà in una analisi delle caratteristiche dei sistemi di streaming disponibili in modalità open source, per evidenziarne l'adattabilità ed il relativo l'impatto sull'architettura del sistema stesso.
Un buon candidato per questa analisi è il sistema NetMoVie [8], sviluppato per effettuare streaming verso cellulari GPRS dal LIFC dell'Università della Franche Comté (Montbeliard, Francia). Infatti, per aver posto l'accento sulla flessibilità a partire dal progetto iniziale, e per aver impiegato tecnologie a componenti, NetMoVie sembra un buon candidato per sperimentazioni; resta naturalmente da verificare il grado di adattabilità esplicita integrabile nell' architettura e soprattutto la possibilità di passare ad una organizzazione centrata sulla adattamento implicito, a fronte di richieste context e content aware [14].
In questa attività la collaborazione che si sta avviando tra la nostra Università e l' UFC relativamente ad altri progetti può agevolare la possibilità di discutere con i progettisti del sistema relativamente alle caratteristiche progettuali, avvantaggiando i ricercatori impegnati nella progettazione di sue eventuali modifiche architetturali.
In una fase successiva si vuole giungere alla progettazione di una architettura adattabile in senso implicito per un servizio di streaming, come evoluzione dell'architettura NetMoVie o basata su sistemi di analoghe funzionalità che dovessero nel frattempo emergere dallo studio.


Testo inglese
The overall theme of activity of our research unit is the support to the development of adaptive software systems. Adaptive is here intended in a rather broad sense, that spans along one dimension from self-adapting to externally reconfigurable systems, and along another direction from reacting to the change of the execution context in a mobile setting to satisfying a change in user expectations.

The support will be pursued along three different directions:

- component based support to adaptability,
- development methods,
- a real case: architectural support for a self-adapting streaming service in a wireless context.

Component based support to adaptability
In this direction, we will first perform an analysis of the state-of-the-art aimed at defining a taxonomy of the different abstractions of component model and related frameworks. Such taxonomy will take into account the capabilities of the abstract models to meet the existing technical proposals for component models and the features provided by the abstractions that are relevant to the specific task of designing adaptive systems. In particular, such analysis will also explore the various approaches to the description of the execution context and of the evolution rules (reflection).
Then, on the basis of that analysis, we could decide whether new abstract models have to be sought or some of the existing notions can be used and possibly tailored to the new problems raised by the adaptation needs.
In connection with the chosen abstract models we will propose associated visual notations for designing adaptable systems built out of components compliants to those abstract models.
Following our "well-founded" approach to software development (see [6]), our notations should have a rigorous formal counterpart, used to guarantee the soundness of our approach, but kept hidden to the user. Our proposal for notation will be based as much as possible on exiting standards such as UML. Moreover, we will also explore the possibility of extending classical techniques for specification and testing, like preconditions and postconditions, exploiting the analogy between code execution and system modification.

Development methods
We intend to explore and propose sound development methods for adaptive systems. Our research will be pursued within two general approaches, the "well-founded" approach, mentioned above and the MDA approach proposed by the OMG. The MDA (Model Driven Architecture) [16] approach aims to separate the application logic from underlying platform tecnology. We intend first to explore the possibility of exploiting the MDA approach in connection with the problems raised by adaptiveness.
Within those approaches, we will envisage development methods for adaptive systems making explicit in which phase (domain description, requirement capture and specification, design) the various aspects related with adaptiveness (e.g., self-adaption to execution context modification) should be considered.
Making visible the aspects related with adaptiveness in the early phases of the development corresponds, thus, to give to adaptiveness a status of first-class citizen at the same level of the functional requirements of the system. Furthermore, to study development methods for applications that support the explicit description of the adaptive aspects since the early phases will help uplift the level in which to do the changes, from the code to the software architectures. These approaches will help tackle at a more abstract level, and hence in a simpler way, the analysis of the impact of the changes, and thus also help guarantee a higher level of security and of correctness of the final result. Within that research context one of the main issue will be the role of middleware and in particular its explicit appearance and related notational support at some stage of the development process. As for the notation used in the various development phases, we intend to continue our proposal and investigation of a "tightly structured and rigorous" use of visual notations such as UML (see [4,5]).

Analysis of a real case: a self-adapting streaming service in a wireless context
The fist step in this research shall consist in a detailed analysis of the features exhibited by streaming systems which are available as open source software, in order to highlight adaptability and its impact on system architecture. A good candidate for such analysis is the NetMoVie system [8], which has been developed to provide streaming services to GPRS cell phones by the LIFC of the Franche Comte' University at Montbeliard, France. In fact, there are two good reasons to consider this system as a good candidate for such studies, namely the importance of flexibility in the design of NetMoVie, as well as the use of component technologies. Of course it has to be checked to what extent such architecture may incorporate explicit adaptation, and especially whether it can be turned into an implicitly adaptive one, when content and context aware request are taken into account [14]. To this respect, a cooperation between our University and University of Franche Comte' is already growing within another project, so that our researchers may take advantage of the possibility to discuss with NetMoVie designers about modification to its architecture which could result from the present research as well.
As a further step, we shall undertake the design of an implicitly adaptable architecture for a streaming service, as an evolution of the NetMoVie architecture or derived from some other system providing similar functionalities, to be identified in the meantime as an outcome of the previous analysis.
At the same time, modeling proposals which should emerge from the objectives of the research unit shall be considered, for a possible evaluation of their use in the design phase of the adaptable streaming service.


2.6 Descrizione delle attrezzature giα disponibili ed utilizzabili per la ricerca proposta


Testo italiano

n║ anno di acquisizione Descrizione
1. 2002   Workstation multimediale Dell  
2. 2003   Laboratorio multimediale WaveLab dotato di macchine Apple  


Testo inglese
n║ anno di acquisizione Descrizione
1. 2002   Dell multimedia workstation  
2. 2003   Multimedia laboratory, called WaveLab, Apple based  



2.7 Descrizione della richiesta di Grandi attrezzature (GA)


Testo italiano


Nessuna

Testo inglese

Nessuna


2.8 Mesi uomo complessivi dedicati al programma

  Numero Mesi Uomo
Personale universitario dell'Università sede dell'Unità di Ricerca 5  43 
Personale universitario dell'Universitα sede dell'Unitα di Ricerca (altri) 0  0 
Personale universitario di altre Università 0  0 
Personale universitario di altre Universitα (altri) 0  0 
Titolari di assegni di ricerca 0  0 
Titolari di borse dottorato e post-dottorato 0  0 
Personale a contratto  0  0 
Personale extrauniversitario 0  0 
TOTALE 43 



PARTE III


3.1 Costo complessivo del Programma dell'Unitα di Ricerca


Testo italiano

Voce di spesa  Spesa in Euro Descrizione
Materiale inventariabile 7.200  Acquisto calcolatori e mezzi di calcolo mobili 
Grandi Attrezzature    
Materiale di consumo e funzionamento 4.200  Cancelleria, software e aggiornamenti hardware 
Spese per calcolo ed elaborazione dati    
Personale a contratto    
Servizi esterni 200  servizi segretariali e tecnici di supporto 
Missioni 18.500  spese di viaggio e soggiorno presso altre sedi scientifiche 
Pubblicazioni    
Partecipazione / Organizzazione convegni 3.900  Partecipazione a convegni sulle tematiche relative alla ricerca in corso 
Altro  3.000  utilizzo di servizi dipartimentali 
TOTALE 37.000    


Testo inglese
Voce di spesa  Spesa in Euro Descrizione
Materiale inventariabile 7.200  Personal Computers and mobile computing units 
Grandi Attrezzature    
Materiale di consumo e funzionamento 4.200  Stationery, software and hardware updates 
Spese per calcolo ed elaborazione dati    
Personale a contratto    
Servizi esterni 200  secretary and technical services 
Missioni 18.500  travel and living expenses to visit scientific institutions 
Pubblicazioni    
Partecipazione / Organizzazione convegni 3.900  Participation in conferences and workshops on the issues studied within the project 
Altro  3.000  services provided by the department 
TOTALE 37.000    

 

Il progetto è già stato cofinanziato da altre amministrazioni pubbliche (art. 4 bando 2003)?    NO  



 

3.3 Tabella riassuntiva

Costo complessivo del Programma dell'Unità di Ricerca 37.000 
Costo minimo per garantire la possibilità di verifica dei risultati 37.000 
Fondi disponibili (RD) 0 
Fondi acquisibili (RA) 11.100 
Cofinanziamento di altre amministrazioni pubbliche (art. 4 bando 2003)  
Cofinanziamento richiesto al MIUR 25.900 



PARTE IV


4.1 Risorse finanziarie giα disponibili all'atto della domanda e utilizzabili a sostegno del Programma

 

Provenienza  Anno Importo disponibile Note
Universitα      
Dipartimento      
CNR      
Unione Europea      
Altro      
TOTALE      


4.2 Risorse finanziarie acquisibili in data successiva a quella della domanda e utilizzabili a sostegno del programma nell'ambito della durata prevista

 

Provenienza  Anno della domanda o stipula del contratto Stato di approvazione Quota disponibile per il programma Note
Universitα 2003   disponibile in caso di accettazione della domanda   11.100  Provenienti dall'Ateneo 
Dipartimento        
CNR        
Unione Europea        
Altro        
TOTALE       11.100    


4.3 Certifico la dichiarata disponibilitα e l'utilizzabilitα dei fondi di cui ai punti 4.1 e 4.2:

SI



(per la copia da depositare presso l'Ateneo e per l'assenso alla diffusione via Internet delle informazioni riguardanti i programmi finanziati; legge del 31.12.96 n░ 675 sulla "Tutela dei dati personali")


Firma _____________________________________   Data 24/03/2003 ore 10:52 


. Attachment Converted: "c:\dodero\ModelloBFinale.pdf"