Abstract
With the rapid growth of computer and Internet technologies in thepast decade, the programming environments and paradigmsare also under rapid changes. This gives system software designerschallenges as well as opportunities to define a new era ofprogramming models. With our early experiences on software forparallel and distributed computing environments as well as theemerging of web technologies and component architectures, weare eager to ask what we can bring from emergingtechnologies to help ease the hardness of parallel programming?Key issues for parallel programming include the reuse ofparallel software components, the abilities ofspecializing software components on a variety of architectures andnetwork environments, and the adaptations of software componentsaccording to application characteristics, etc.In this dissertation, we address these issues and propose a newparadigm for component adaptations on distributed component architectures.In our research, we propose an ontology specification for JavaBean programs,the component model of Java. Our specificationis written using the DAML+OIL language, which isbased on the RDF schema and the XML syntax.The vocabulary of this ontology provides a basicterminology to annotate componentswith the information about the conditions and suggestions ofadopting a component for component specializations.It also gives a reference criteria forchoosing the most suitable components at a given time and environmentfor performances and functionality purposes.With our design of the annotations, it's also possibleto automatically retrieve the annotations of components,connect them by their object-oriented relationships,organize them to form component databases,as well as discover them in the databases by component characteristics.This will facilitate the sharing of component resources in the Internets.In addition, we also give application scenarios for employingthis ontology specification.We enable the techniques forthe run-time composition of parallel components. The employment of runtimecompositions of components and the ontology specificationenable programs to adapt objects dynamically according toapplication and architecture characteristics.In an application scenario, our system can be used toreplace a component from parallel JavaBean programs bya new version of component at runtime for efficiency.This gives an important framework and direction in the optimizationof parallel Java components at runtime.During the thesis research,several key software components are also developed for thesystem designs, and several key components potentially usefulfor compiler optimization for this proposed model are given as well.First, Java RMI components are used to demonstratethe component adaptations, so Java RMI on diversified architectures aredesigned and experimented. It includes Java RMI over VIA andJava RMI over Bluetooth environments, respectively.At runtime, the Java RMIcomponent can be adapted for the given network interface according toontology specification and given environments.Second, we present a compiler environmentas a case study to demonstrate the design of the state of theart compiler environments with XML representations.We establish the connectionbetween the object-oriented program graph and XMLrepresentations. With the support of DTD and XSL files onXML environments, we can perform machine validation onXML-based representations,as well as annotate the representations with traceable browsing format.Finally, a concept of web compiler is proposed;a compiler is done with web transformationallowing researchers to exchange and demonstratetheir ideas via web interactions.These technologies enable thecompiler and software optimizations to adopt emerging web technologies.In summary, this dissertation presents a new paradigm for componentsoftware adaptations. We also give experimental results for thebenefits of component adaptations. We think this paradigm canbe a starting point to enhance thestate of the art in parallel and distributed programming environments.