Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
middleware_for_ubiquitous_computing_course [2009/12/03 10:10] tigli |
middleware_for_ubiquitous_computing_course [2010/01/17 10:58] tigli |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
====== Middleware for Ubiquitous Computing ====== | ====== Middleware for Ubiquitous Computing ====== | ||
{{:mucimg.jpg|}} | {{:mucimg.jpg|}} | ||
- | ====== Course 1 ====== | ||
- | ===== Introduction ===== | + | [[Course 1 |Draft Course 1]] |
- | ==== What does Traditional Middleware Mean ? ==== | + | [[Course 2 |Draft Course 2]] |
- | + | ||
- | === Motivations === | + | |
- | + | ||
- | * make development faster and easier | + | |
- | + | ||
- | * to assist distributed software | + | |
- | + | ||
- | * promoting software reuse | + | |
- | + | ||
- | * A bridge between OS and application [Krakoviak] | + | |
- | + | ||
- | * High level network abstractions matching the application computational model [Issarny] | + | |
- | + | ||
- | === First Definitions === | + | |
- | + | ||
- | === Middleware Taxonomies === | + | |
- | + | ||
- | * W. Emmerich Taxonomy (2000) | + | |
- | * D.E. Baken (2001) | + | |
- | * R. E. Schantz and D. C. Schmidt Taxonomy (2002) | + | |
- | + | ||
- | == Transactional Middleware == | + | |
- | == Tuplespace-based Middleware == | + | |
- | == Message-oriented Middleware == | + | |
- | == Remote procedure Calls Middleware == | + | |
- | == Object oriented Middleware == | + | |
- | + | ||
- | == Component oriented Middleware == | + | |
- | == Service-oriented Middleware == | + | |
- | + | ||
- | === Exercices === | + | |
- | + | ||
- | + | ||
- | === References === | + | |
- | + | ||
- | A Perspective on the Future of Middleware-based Software Engineering. V. Issarny, M. Caporuscio, N. Georgantas. In Future of Software Engineering 2007 (FOSE) at ICSE (International Conference on Software Engineering). L. Briand and A. Wolf editors, IEEE-CS Press. 2007. [[http://www-roc.inria.fr/arles/members/issarny/issarny_et_al-FOSE07.pdf|link]] | + | |
- | + | ||
- | [[http://sardes.inrialpes.fr/~krakowia/MW-Book/Chapters/Preface/preface.html|E-book]]: Middleware Architecture with Patterns and Frameworks, Prof. Sacha Krakowiak | + | |
- | + | ||
- | ==== What does Ubiquitous Computing Mean ? ==== | + | |
- | + | ||
- | + | ||
- | === Exercices === | + | |
- | + | ||
- | === videos === | + | |
- | + | ||
- | The following scenes together are a complete [[http://www.ubiq.com/hypertext/weiser/UbiMovies.html|movie about ubiquitous computing at Xerox PARC]] | + | |
- | + | ||
- | === References === | + | |
- | + | ||
- | GATECH Course about Ubiquitous computing [[http://www.cc.gatech.edu/classes/cs6751_97_fall/projects/say-cheese/marcia/mfinal.html|course]] | + | |
- | + | ||
- | + | ||
- | ==== What does Middleware for Ubiquitous Computing Mean ? ==== | + | |
- | + | ||
- | === New motivations === | + | |
- | + | ||
- | * High level device and ressource abstractions matching the application computational model | + | |
- | * device and ressource abstraction is often transparency in multiple access | + | |
- | * Distribution with or without nertwork ... | + | |
- | + | ||
- | === Example in distributed systems === | + | |
- | + | ||
- | === Example in OS and Virtual Machine === | + | |
- | + | ||
- | === Example in HMI === | + | |
- | + | ||
- | * application computational model : widgets | + | |
- | * low level device drivers : mouse and screen | + | |
- | * Middleware : | + | |
- | + | ||
- | === Example in Robotics === | + | |
- | + | ||
- | + | ||
- | ==== Trends on the future of Middleware ==== | + | |
- | + | ||
- | ==== From Mobility to Ubiquity ==== | + | |
- | + | ||
- | ==== New Requirements ==== | + | |
- | + | ||
- | === Exercices === | + | |
- | + | ||
- | === Projets de recherche : === | + | |
- | OpenCOM and ReMMoC Web Page, Paul Grace and Gordon S. Blair - [[http://www.comp.lancs.ac.uk/computing/research/mpg/projects/opencom/|link]] | + | |
- | + | ||
- | ARLES Project-Team, V. Issarny, [[http://www-roc.inria.fr/arles/|link]] | + | |
- | + | ||
- | Project AMAZONES, Citi Lab, INSA Lyon, Frenot Stéphane, Le Mouel Frédéric [[http://www.citi.insa-lyon.fr/teams/amazones/|link]] | + | |
- | + | ||
- | + | ||
- | ====== Course 2 : Formal Methods for Middleware verification ====== | + | |
- | + | ||
- | There are currently two families of formal methods. These two approaches are complementary. | + | |
- | + | ||
- | ===== Proof-based verification ===== | + | |
- | + | ||
- | Example : such as B or Z | + | |
- | + | ||
- | In proof-based methods, the model is described by | + | |
- | means of axioms, properties are theorems to be verified using a theorem prover. | + | |
- | + | ||
- | Proof-based techniques allow the analysis of infinite systems. However, the use of a theorem prover is a very difficult and a very technical task that is hard to automate. | + | |
- | + | ||
- | === References === | + | |
- | * Abrial, J., “Z: an introduction to formal methods,” Cambridge University Press, 1995. | + | |
- | * Diller, A., “The B-book,” John Willey & SONS, 1994. | + | |
- | + | ||
- | + | ||
- | ===== Model-checking ===== | + | |
- | + | ||
- | + | ||
- | Example : such as Spin or Lustre. | + | |
- | + | ||
- | In model checking, the model is expressed using a language from which an exhaustive | + | |
- | execution can be computed (this usually requires a mathematically based | + | |
- | definition). An “execution engine” produces the exhaustive state space associated | + | |
- | to the system as a graph where actions (atomic instructions in the language) relate | + | |
- | to states (a given possible value of the system’s context). It is then possible to | + | |
- | explore the graph to check if a property is satisfied. | + | |
- | + | ||
- | + | ||
- | Model checking is dedicated to finite-state systems but modeling and verification can be done using graphical toolkits and most steps can be automated | + | |
- | + | ||
- | + | ||
- | ===== References ===== | + | |
- | + | ||
- | On the Formal Verification of Middleware Behavioral Properties, Jérôme Huguesa, Thomas Vergnauda, Laurent Pauteta, Yann Thierry-Miega, Soheib Baarira, and Fabrice Kordona, Electronic Notes in Theoretical Computer Science, Elsevier editor, Volume 133, 31 May 2005, Pages 139-157, Proceedings of the Ninth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 2004) | + | |
- | + | ||
- | ====== Course 3 ====== | + | |
- | + | ||
- | + | ||
- | ===== ACME ===== | + | |
- | + | ||
- | [[http://www.cs.cmu.edu/~acme/docs/language_overview.html|ACME Overview]] | + | |
- | + | ||
- | [[http://acme.able.cs.cmu.edu/acmeweb/download.php|ACME Studio Download]] | + | |
- | + | ||
- | [[http://www.cs.cmu.edu/~acme/AcmeStudio/tutorials.html|ACME Studio Tutorial]] | + | |
+ | [[Course 3 |Draft Course 3]] | ||
====== References : ====== | ====== References : ====== | ||
Ligne 290: | Ligne 152: | ||
[[https://rainbow.i3s.unice.fr/~tigli/References/slides_Middleware/IWAN05-Dobson.pdf]] | [[https://rainbow.i3s.unice.fr/~tigli/References/slides_Middleware/IWAN05-Dobson.pdf]] | ||
- | |||
- | |||
- | |||