Bibliographie pour le cours "Conception d'Applications Parallèles et Réparties" (CR)


Deux astérisques (**) : si vous ne lisez qu'un article par thème, c'est celui-là
Une astérisque (*) : références principales pour le thème

Les livres sont indiqués à titre de références pour des aspects particuliers (on ne demande pas de tout lire!)

Une très bonne source d'informations en ligne : IEEE Distributed Systems OnLine (
http://dsonline.computer.org).
Voir en particulier :
http://dsonline.computer.org/middleware/index.htm sur l'intergiciel.

Ouvrages généraux [NB : La bibliothèque universitaire de Grenoble possède plusieurs exemplaires des 3 ouvrages ci-dessous]

[Coulouris et al. 2001] Coulouris, G., Dollimore, J., and Kindberg, T. (2001). Distributed Systems - Concepts and Design. Addison-Wesley, 3rd edition. 772 pp.

[Tanenbaum and van Steen 2002] 
Tanenbaum, A. S. and van Steen, M. (2002). Distributed Systems: Principles and Paradigms. Prentice Hall, 1st edition. 840 pp.

[Emmerich 2000] Emmerich, W. (2000) Engineering Distributed Objects, Wiley, 371 pp.

Patrons et canevas

[Buschmann et al. 1995] Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. (1995). Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. John Wiley &Sons. 467 pp.

[Gamma et al. 1994] Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1994). Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley. 416 pp.

[Johnson 1997] Johnson, R. E. (1997). Frameworks=(Components+Patterns): How frameworks compare to other object-oriented reuse techniques. Communications of the ACM, 40(10):39-42.

[Schmidt et al. 2000] Schmidt, D. C., Stal, M., Rohnert, H., and Buschmann, F. (2000). Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons. 666 pp.


Systèmes client-serveur

voir chapitres correspondants dans [Coulouris et al. 2000, Tanenbaum and van Steen 2002, Emmerich 2000]

Événements et messages

voir patrons correspondants dans [Gamma et al. 1994, Buschmann et al. 1995]
[Aguilera et al. 1999]
Aguilera, M. K., Strom, R. E., Sturman, D. C., Astley, M., and Chandra, T. D. (1999). Matching events in a content-based subscription system. In Symposium on Principles of Distributed Computing (PODC), pages 53-61.
[Bacon et al. 2000]
Bacon, J., Moody, K., Bates, J., Hayton, R., Ma, C., McNeil, A., Seidel, O., and Spiteri, M. (2000). Generic Support for Distributed Applications. IEEE Computer, 33(3):68-76.
[Banavar et al. 1999]
Banavar, G., Chandra, T. D., Mukherjee, B., Nagarajarao, J., Strom, R. E., and Sturman, D. C. (1999). An efficient multicast protocol for content-based publish-subscribe systems. In Proceedings of the 19th IEEE International Conference on Distributed Computing Systems (ICDCS'99), pages 262-272, Austin, Texas.
*[Carzaniga et al. 2001]
Carzaniga, A., Rosenblum, D. S., and Wolf, A. L. (2001). Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems (TOCS), 19(3):332-383.
[Ciancarini 1996]
Ciancarini, P. (1996). Coordination Models and Languages as Software Integrators. ACM Computing Surveys, 28(2):300-302.
** [Eugster et al. 2003]
Eugster, P.  Th., Felber, P., Guerraoui, R., and Kermarrec, A.-M. (2003). The Many Faces of Publish/Subscribe. ACM Computing Surveys, 35(2):114-131.
Version ancienne : Technical Report EPFL, DSC ID:2000104
** [Eugster et al. 2000]
Eugster, P.  Th., Guerraoui, R., and Sventek, J. (2000). Type-Based Publish/Subscribe. Tech. Report DSC ID 2000-029, École Polytechnique Fédérale de Lausanne, Laboratoire de Programmation Distribuée.
* [Gryphon 2003]
Gryphon (2003). The Gryphon System. http://www.research.ibm.com/gryphon/.
[Oki et al. 1993]
Oki, B., Pfluegl, M., Siegel, A., and Skeen, D. (1993). The Information Bus - An Architecture for Extensible Distributed Systems. In Proceedings of the 14th ACM Symposium on Operating Systems Principles, volume 27 of Operating Systems Review, pages 58-68, Asheville, NC.
Systèmes à composants

[Avalon ]
Avalon. The Apache Avalon Project. http://avalon.apache.org.
[Bachmann et al. 2000]
Bachmann, F., Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R., and Wallnau, K. (2000). Technical Concepts of Component-Based Software Engineering, 2nd edition. CMU/SEI-2000-TR 008, Carnegie Mellon Software Engineering Institute (SEI).
**[Bruneton et al. 2002a]
Bruneton, É., Coupaye, T., and Stefani, J.-B. (2002a). The Fractal composition framework. ObjectWeb Consortium. http://fractal.objectweb.org/
*[Bruneton et al. 2002b]
Bruneton, É., Coupaye, T., and Stefani, J.-B. (2002b). Recursive and dynamic software composition with sharing. In Proceedings of the 7th ECOOP International Workshop on Component-Oriented Programming (WCOP'02), Malaga (Spain).
[CCM ]
CCM. The CORBA Component Model. Object Management Group Specification. http://www.omg.org/technology/documents/formal/components.htm.
[Issarny et al. 2002]
Issarny, V., Kloukinas, C., and Zarras, A. (2002). Systematic aid for developing middleware architectures. Communications of the ACM, 45(6):53-58.
[McIlroy 1968]
McIlroy, M. (1968). Mass produced software components. In Naur, P. and Randell, B., editors, Software Engineering: A Report On a Conference Sponsored by the NATO Science Committee, pages 138-155, Garmisch, Germany.
[Medvidovic and Taylor 2000]
Medvidovic, N. and Taylor, R. N. (2000). A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26(1):70-93. Version courte dans Proc.
Sixth European Software Engineering Conference (ESEC/FSE 97)


[OSGi ]
OSGi. Open Services Gateway Initiative. http://www.osgi.org.
[Shaw and Garlan 1996]
Shaw, M. and Garlan, D. (1996). Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall.
[Spitznagel and Garlan 2001]
Spitznagel, B. and Garlan, D. (2001). A Compositional Formalization of Connector Wrappers. In Proc.
2003 International Conference on Software Engineering (ICSE'03), Portland, Oregon, USA, May 3 - 10, 2003

[Szyperski 2002]
Szyperski, C. (2002). Component Software - Beyond Object-Oriented Programming. Addison-Wesley. 2nd ed., 589 pp.
[van der Hoek et al. 1998]
van der Hoek, A., Heimbigner, D., and Wolf, A. L. (1998). Software architecture, configuration management, and configurable distributed systems: A ménage à trois. Technical Report CU-CS-849-98, Department of Computer Science, University of Colorado, Boulder, Colo., USA.
* [Völter 2001]
Völter, M. (2001). Server-side components - a pattern language. In Sixth European Conference on Pattern Languages of Programs (EuroPLoP'2001), Irsee, Germany. 4-8 July. 
[Völter et al. 2002]
Völter, M., Schmid, A., and Wolff, E. (2002). Server Component Patterns. John Wiley & Sons. 462 pp.


Sécurité


Voir les chapitres "Sécurité" de deux des des livres indiqués en début de bibliographie :
Coulouris et al. 2001] , [Tanenbaum and van Steen 2002]

Voir pour une étude plus approfondie : B. Schneier,
Applied Cryptography, John Wiley, 1995 (version française : Cryptographie Appliquée, Thomson Publishing International , 2001)

Administration, gestion de ressources


[Aron et al. 2000]
Aron, M., Druschel, P., and Zwaenepoel, W. (2000). Cluster reserves: a mechanism for resource management in cluster-based network servers. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 90-101, Santa Clara, California.
[Banga et al. 1999]
Banga, G., Druschel, P., and Mogul, J. C. (1999). Resource containers: A new facility for resource management in server systems, in Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI'99), New Orleans, Louisiana.

[SmartFrog 2003]

SmartFrog (2003). SmartFrog: Smart Framework for Object Groups. HP Labs. http://www.hpl.hp.com/research/smartfrog/.
[Chase et al. 2003]
Chase, J. S., Irwin, D. E., Grit, L. E., Moore, J. D., and Sprenkle, S. E. (2003). Dynamic virtual clusters in a grid site manager. In Proceedings 12th IEEE International Symposium on High Performance Distributed Computing (HPDC'03), Seattle, Washington.


[Martin-Flatin et al. 1999]
Martin-Flatin, J.- Ph., Znaty, S., and Hubaux, J.-P. (1999). A Survey of Distributed Enterprise Network and Systems Management Paradigms. Journal of Network and Systems Management, 7(1):9-26.



[Agilos]
                http://www.eecg.toronto.edu/~bli/agilos.html

Techniques d'adaptation, systèmes adaptables

Voir liens sur Reflective Middleware dans
http://dsonline.computer.org/middleware/RMlinks.html

[Laddad 03]
    R. Laddad. AspectJ in Action. Manning (2003)

[AspectJ]

    http://eclipse.org/aspectj/

Reconfiguration dynamique :


[Soules et al. 2003]
Soules, C. A. N., Appavoo, J., Hui, K., Da Silva, D., Ganger, G. R., Krieger, O., Stumm, M., Wisniewski, R. W., Auslander, M., Ostrowski, M., Rosenburg, B., and Xenidis, J. (2003). System Support for Online Reconfiguration. In Proceedings Usenix Annual Technical Conference, San Antonio, Texas.

[Cugola et al. 2004]
                G. Cugola, D. Frey, A. L. Murphy, G. P. Picco. Minimizing the Reconfiguration Overhead in Content-Based Publish-Subscribe. Proc. SAC'04, March 2004.

**[Kramer  and Magee 1990}
                J.  Kramer, J. Magee. The Evolving Philosophers Problem: Dynamic Change Management. IEEE trans. on Software Engineering, 16(11),
pp. 1293-1306, Nov. 1990

Autonomic Computing :

[Kephart and Chess 2003]
Kephart, J. O. and Chess, D. M. (2003). The vision of autonomic computing, Computer - IEEE Computer Magazine, 36(1):41-50.
[IBM 2003]
IBM (2003). An architectural blueprint for autonomic computing. IBM White Papers on Autonomic Computing. http://www-3.ibm.com/autonomic/pdfs/ACwpFinal.pdf.
[Kephart 2005]
Kephart, J. O. Research challenges of autonomic computing, ICSE'05: Proc. 27th International Conf. on Software Engineering, pp. 15-22, ACM Press, 2005


Applications parallèles

voir cours correspondants