{{:mucimg.jpg|}} ====== Lecture 3 : Wcomp middleware and proved components ====== * Date : January, 5th 2010 * Instructor : J.-Y. Tigli * Duration : 3h ===== Part 1 : How to Design Components in a Middleware for Ubiquitous Computing WComp 2.0 ===== * Date : December, 15th 2009 * Instructor : A. Ressouche - J-Y. Tigli * Duration : 3h ==== Ressources : ==== * Tutorial slides : [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture1/Tutorial1_MUC_UBINET_2010_Slides.pdf|Middleware for Ubiquitous Computing WComp 2.0]] * Tutorial paper : [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture1/Tutorial1_MUC_Ubinet_2010_Doc.pdf|Middleware for Ubiquitous Computing WComp 2.0]] * VMware WComp environment iw distributed on DVD and USB Key during the lecture. * Remark : If you're under linux be careful : replace the configuration file of your virtual machine vmplayer by [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture1/ |this one ]] and then after running, start the audio service * Remark : Find here a Light UPnP server if you need [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture1/ |UPnP Light]] * Correction : [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture1/Correction.zip |Tutorial correction]] ==== References : ==== * [[http://rainbow.i3s.unice.fr/wikiwcomp/| Official WComp Project Website]] * Vincent Hourdin, Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey, Michel Riveill, “SLCA, Composite Services for Ubiquitous Computing”, in the proceedings of the International Conference on Mobile Technology, Applications and Systems, Sep 2008. * J.-Y. Tigli, S. Lavirotte, G. Rey, V. Hourdin, M. Riveill, “Lightweight Service Oriented Architecture for Pervasive Computing” IJCSI International Journal of Computer Science Issues, Vol. 4, No. 1, September 2009, ISSN (Online): 1694-0784, ISSN (Print): 1694-0814, {{http://www.ijcsi.org/papers/4-1-1-9.pdf|paper}}. * J.-Y. Tigli, S. Lavirotte, G. Rey, V. Hourdin, D. Cheung, E. Callegari, M. Riveill “WComp middleware for ubiquitous computing: Aspects and composite event-based Web services” in Annals of Telecommunications, éditeur Springer Paris, ISSN 0003-4347 (Print) 1958-9395 (Online), Vol. 64, No 3-4, March-April 2009, {{http://www.springerlink.com/content/x833j0143h133v67/fulltext.pdf|paper}}. ===== Part 2 : How to Design Proved Components in WComp Middleware ===== * Documentation for the tutorial 3 " Verification with Lustre and Lesar " : [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture2/Tutorial3_MUC_Ubinet_2010_Doc.pdf|Tutorial 3, Verification with Lustre and Lesar]] * Sample code in Lustre: [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture2/Tutorial3/|Tutorial 3, sample code in Lustre]] * Documentation for the tutorial 2 "Creating an advanced Component in WComp 2.0" : [[http://rainbow.i3s.unice.fr/~tigli/cours/MUC/Lecture2/Tutorial2_MUC_Ubinet_2010_Doc.pdf|Tutorial 2, Creating an advanced Component in WComp 2.0]] ===== Part 3 : Student Projects ===== Students must provide : * A Proved Bean Component (lustre checked code, corresponding C code generated, corresponding Bean code) * A sample WComp assembly to illustrate how this proved component works. * A document with all necessary explanations Put all these files and documents on a web site and send them to JY Tigli before february, the 1st, 2010. Deadline : february, the 1st, 2010 ^ Student Name ^ Cursus (SI5 / Uibnet) ^ Project Number ^ Project Titlte ^ Subject ^ | | | 0 | Barrier | A barrier is a type of synchronization method. A barrier for a group of event means any event must stop at this point and cannot proceed until all other events reach this barrier | | | | 1 | Lock | A lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. Locks are one way of enforcing concurrency control policies. Only one event is emitted at at time | | | | 2 | Arbitration | Arbitration between input events | | | | 3 | Average | Average value is emitted from the values of input events | | | | 4 | Moving average | Average value is emitted from the values of input events | | | | 5* | Function* Allaccess | returned value of one external DLL function is emitted when all value parameters are available (triggered on all input events) | | | | 6* | Function* Oneaccess | returned value of one external DLL function is emitted as soon as at least on value parameter is available (triggered on one input events) | | | | 7* | Function* Thisaccess | returned value of one external DLL function is emitted as soon as one specific event arrive (triggered on one specific input events) | | | | 8* | Function* AllaccessNewvalue | new returned value of one external DLL function is emitted when all value parameters are available (triggered on all input events and state change) | | | | 9* | Function* OneaccessNewvalue | new returned value of one external DLL function is emitted as soon as at least on value parameter is available (triggered on one input events and state change ) | | | | 10* | Function* OneaccessNewvalue | new returned value of one external DLL function is emitted as soon as one specific event arrive (triggered on one specific input events and state change) | | | | 11 | | | | | | 12 | | | | | | 13 | | | | | | 14 | | | | | | 15 | | | | | | 16 | | | | | | 17 | | | | | | 18 | | | | | | 19 | | | | | | 20 | | | | | | 21 | | | | | | 22 | | | | | | 23 | | | | | | 24 | | | | | | 25 | | | | | | 26 | | | | | | 27 | | | | | | 28 | | | | | | 29 | | | | | | 30 | | | | | | 31 | | | | | | 32 | | | | | | 33 | | | | | | 34 | | | | | | 35 | | | | | | 36 | | | | | | 37 | | | | | | 38 | | | | | | 39 | | |