Font Size: a A A

Pure library and reflection based language extension techniques for object oriented systems

Posted on:2002-11-07Degree:Ph.DType:Dissertation
University:University of California, Santa BarbaraCandidate:Karaorman, MuratFull Text:PDF
GTID:1468390011490814Subject:Computer Science
Abstract/Summary:
In order to cope with the increasing complexity and evolving requirements of soft-ware, we need better languages and modeling tools which support higher as part of this dissertation introduced new language extensions for concurrency, distributed computing and design by contract for the object oriented languages, using a purely library based approach and a set of naming and programming conventions without violating the object-oriented principles or compromising language or safety features.; We developed techniques to build extensible, open object-oriented libraries that use and take advantage of the existing low-level system and vendor libraries, We illustrate the applicability of our approach by building and presenting three original research application systems: Class CONCURRENCY, Active-RMI and jContractor. Class CONCURRENCY introduces concurrency, active objects, asynchronous calls, data-driven synchronization and scheduling remote method invocation with future-type results; asynchronous result delivery; transparent remote-object creation; active-object semantics; user programmable scheduling and synchronization to Java. jContractor introduces Design by Contract constructs: preconditions, postconditions, class invariants, recovery and exception handling to Java through an intuitive naming convention, and standard Java syntax. jContractor uses reflection and dynamic class loading techniques to discover contract specifications by examining Java class bytecodes and synthesizes and loads an instrumented version of the Java class which incorporates code that enforces the runtime checking of contracts.
Keywords/Search Tags:Language, Class, Java, Techniques
Related items