Giza

Cheops et ses incarnations subséquentes ont été pour moi l'occasion de développer mes idées sur le génie logiciel. Celles-ci ont abouti à une architecture élaborée pour la visualisation d'informations complexes, que nous avons appelé Giza. J'ai écrit un article [/GizaArticle.pdf] assez long pour expliquer mon approche, mais c'est sous une forme résumée de "Tech Note [/TechNote.html]" qu'il a été présenté à OOPSLA [http://oopsla.acm.org/] , accompagné d'une démonstration [/oopsla_demo.html]. J'ai aussi introduit Giza [/Giza_gelo.html] à l'Université de Montréal, dans le cadre des séminaires du groupe de génie logiciel ( GELO [http://www.iro.umontreal.ca/labs/gelo/] ), à l'invitation de Ruedi Keller [http://www.iro.umontreal.ca/~keller/].

En gros, il s'agissait de bâtir des facades sur mesure pour des classes, à condition que l'accès aux données passe par des objets accesseurs, lesquels pouvaient être combinés au besoin.

Aujourd'hui, je dirais que l'approche était sur-architecturée, mais correspondait à l'époque, et à la difficulté de développer une librairie générique avant d'avoir un client.

Giza, comme Cheops, n'a pas été poursuivi après notre départ du CRIM, mais j'ai eu le plaisir de voir des idées de génie logiciel proches de celles que j'avais ébauchées dans Giza menées à bien dans le cadre d'autres projets, comme HyperJ [http://www.research.ibm.com/hyperspace/HyperJ/HyperJ.htm] d'IBM, et aussi sous une forme similaire dans PyProtocols [http://peak.telecommunity.com/PyProtocols.html]. Louis Vroomen a également poursuivi ces idées de son côté.