Au lycée, Shaw a participé pendant deux étés au lycée à un programme parascolaire qui enseignait aux élèves l'informatique. Ce programme géré par International Business Machines (IBM) a été l'occasion pour les étudiants d'explorer des domaines en dehors du programme normal. C'était la première introduction de Shaw aux ordinateurs.
Après avoir obtenu son diplôme à l'Université Rice, Shaw a commencé sa carrière dans l'industrie en travaillant comme programmeuse système à la Research Analysis Corporation. Elle a également continué à faire des recherches à l'Université Rice. En 1972, elle a rejoint la faculté de l'Université Carnegie Mellon, où elle a finalement été nommée professeur d'informatique. De 1984 à 1987, elle a également été scientifique en chef au Software Engineering Institute, de 1992 à 1999, vice-doyenne pour la formation professionnelle et, de 2001 à 2006, codirectrice du Sloan Software Industry Center[4].
En 2011, Mary Shaw et David Garlan ont reçu le prix de la recherche exceptionnelle de l'ACM SIGSOFT(en), le groupe d'intérêt spécial sur le génie logiciel de l'Association of Computing Machinery, pour leurs « contributions significatives et durables à la recherche en génie logiciel grâce au développement et à la promotion de l'architecture logicielle »[8],[9].
L'ouvrage le plus cité de Shaw Software Architecture: Perspectives on an Emerging Discipline, co-écrit avec David Garlan, examine le concept « d'architectures pour les systèmes logiciels ainsi que les meilleures façons de soutenir le développement de logiciels »[12]. Le livre vise :
« ...to bring together the useful abstractions of systems design and the notations and tools of the software developer, and look at patterns used for system organization... to illustrate the discipling and examine the ways in which architectural design can impact software design. Our selection emphasizes informal descriptions, touching lightly on formal notations and specifications and on tools to support them[12]. »
Dans cet ouvrage, Garlan et Shaw « décrivent l'architecture d'un système comme une collection de composants informatiques avec une description des interactions entre ces composants-les connecteurs »[2]. Les composants sont simplement décrits comme « les éléments qui effectuent le calcul »[2].
Réception
En 2011, Shaw et Garlan ont reçu le prix de la recherche exceptionnelle pour 2011 de l'Université Carnegie Mellon (CMU) en l'honneur de leurs recherches pionnières dans le domaine de l'architecture logicielle. William Scherlis, directeur de l'Institute for Software Research de la CMU, a commenté la contribution de Shaw et Garlan :
« The term "software architecture" was first used in the late 1960s, but its significance didn't become clear until almost 20 years later, when David and Mary asserted that architecture could be addressed using systematic approaches. Their work and that of their colleagues here at Carnegie Mellon has since led to engineering methods for architectural modeling, analysis and identification of architecture-level patterns, the use of which has now become standard in the engineering of larger scale software systems[8]. »
Publications sélectionnées
Ouvrages
Mary Shaw et Frank Hole, Analyse informatique de la sériation chronologique, 1967.
Mary Shaw, Alan Perlis et Frederick Sayward (éd.), Métriques logicielles : une analyse et une évaluation, 1981.
Mary Shaw (dir.), Programme Carnegie-Mellon pour l'informatique de premier cycle, 1985.
Mary Shaw et David Garlan(en), Architecture logicielle : perspectives sur une discipline émergente, Prentice Hall, 1996.
Mary Shaw, Sufficient Correctness and Homeostasis in Open Resource Coalitions: How Much Can You Trust Your Software System, 2000.