Design and analysis of interoperating components

dc.contributor.advisorBatory, Don S., 1953-en
dc.contributor.advisorPerry, Dewayne E.en
dc.creatorGrechanik, Marken
dc.date.accessioned2008-08-28T23:13:32Zen
dc.date.available2008-08-28T23:13:32Zen
dc.date.issued2006en
dc.description.abstractComponents are modular units (e.g., objects, modules, or programs) that interact by exchanging data. Two or more components interoperate when they exchange information [16]. It is conservatively estimated that the cost of programming errors in component interoperability just in the capital facilities industry in the U.S. alone is $15.8 billion per year. A primary driver for this high cost is fixing flaws in incorrect data exchanges between interoperating components [17]. Interoperating components are difficult to design, build, and evolve. We propose an approach for the design and analysis of interoperating components. The core of our approach is an abstraction in which foreign objects (i.e., objects that are not defined in a host programming language) are abstracted as graphs and abstract operations access and manipulate them. These operations navigate to data elements, read and write data, add and delete data elements, and load and save data. We offer different uses for the proposed abstraction. We build a framework called Reification Object-Oriented Framework (ROOF) which uses our abstraction to reduce the multiplicity of platform API calls to a small set of operations on foreign objects that are common to all platforms [48]. With ROOF, we hide the tremendously ugly, hard-to-learn, hard-to-maintain, and hard-to-evolve code that programmers must write or generate today, i.e., we simplified code of interoperating components, making it scalable and easier to write, maintain, and evolve. Our abstraction makes the task of static checking of interoperating components tractable by reducing the multiplicity of platform APIs to a small set of operations on foreign objects that are common to all platforms. By introducing a simple extension to grammars of object-oriented languages, we enable the collection of information about foreign objects at compile time. Static type checking uses this information to find possible errors that could otherwise be detected only at the runtime. We designed Foreign Object REification Language (FOREL), an extension for object-oriented languages that provides a general abstraction for foreign component access and manipulation based on ROOF. FOREL type checking coupled with a conservative static analysis mechanism reports potential errors when referencing foreign components. While ROOF and FOREL offer new approaches for developing interoperating components, many components are still written using low-level platform API calls. We use our abstraction to design and build a tool called a Verifier for Interoperating cOmponents for finding Logic fAults (Viola) that finds errors in components exchanging XML data. Viola creates models of the source code of components by extracting abstract operations and computing approximate specifications of the data (i.e., schemas) that these components exchange. With these extracted models, Viola’s static analysis mechanism reports potential errors for a system of interoperating components.
dc.description.departmentComputer Science
dc.format.mediumelectronicen
dc.identifierb68630517en
dc.identifier.oclc165149586en
dc.identifier.urihttp://hdl.handle.net/2152/2872en
dc.language.isoengen
dc.rightsCopyright is held by the author. Presentation of this material on the Libraries' web site by University Libraries, The University of Texas at Austin was made possible under a limited license grant from the author who has retained all copyrights in the works.en
dc.subject.lcshComputer organizationen
dc.titleDesign and analysis of interoperating componentsen
dc.type.genreThesisen
thesis.degree.departmentComputer Sciencesen
thesis.degree.disciplineComputer Sciencesen
thesis.degree.grantorThe University of Texas at Austinen
thesis.degree.levelDoctoralen
thesis.degree.nameDoctor of Philosophyen

Access full-text files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
grechanikd74577.pdf
Size:
817.79 KB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.65 KB
Format:
Plain Text
Description: