Presentation is loading. Please wait.

Presentation is loading. Please wait.

Thesis Defense Institute for Software Research Software Engineering

Similar presentations


Presentation on theme: "Thesis Defense Institute for Software Research Software Engineering"— Presentation transcript:

1 Thesis Defense Institute for Software Research Software Engineering
Design Fragments George Fairbanks Thursday, April 19, 2pm Newell-Simon Hall 1507 Frameworks are a valuable way to share designs and implementations on a large scale. Client programmers, however, find it difficult to: understand non-local client-framework interactions, design solutions when they do not own the architectural skeleton, gain confidence that they have engaged with the framework correctly, represent their successful engagement with the framework in a way that can be shared with others, ensure their design intent is expressed in their source code, and connect with external files. A design fragment is a specification of how a client program can use framework resources to accomplish a goal. From the framework, it identifies the minimal set of classes, interfaces, and methods that should be employed. For the client program, it specifies the client-framework interactions that must be implemented. Annotations express design intent; specifically, that it is the intention of the client programs to interact with the framework as specified by the design fragment. The thesis of this dissertation is: We can provide pragmatic help for programmers to use frameworks by providing a form of specification, called a design fragment, to describe how a client program can correctly employ a framework and by providing tools to assure conformance between the client program and the design fragments. We built tools into an IDE to demonstrate how design fragments could alleviate the difficulties experienced by client programmers. We performed two case studies on commercial Java frameworks, using demo client programs from the framework authors, and client programs we found on the internet. This work provides three primary contributions to software engineering. First, it provides a new technique to help programmers use frameworks. Second, it provides a systematic way to increase code quality. Design fragments provide a means to communicate known-good designs to programmers. Third, it provides an empirically-based understanding of how clients use frameworks, which aids researchers in choosing research directions and aids framework authors in delivery of new frameworks. Committee: Dr. David Garlan (co-chair), Dr. William Scherlis (co-chair), Dr. Jonathan Aldrich, Dr. Ralph Johnson (U. Illinois Urbana-Champaign)


Download ppt "Thesis Defense Institute for Software Research Software Engineering"

Similar presentations


Ads by Google