Font Size: a A A

MIddleware Based On Open Implementation--Researches On Reflective Middleware

Posted on:2003-05-24Degree:DoctorType:Dissertation
Country:ChinaCandidate:S Z YangFull Text:PDF
GTID:1118360065451238Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Traditionally the design of software applies the principle of "black-box" abstraction, that is to say a model should present its function while hide the underlying implementation. It is already as the basic rule to deal with many important problems in computer science such as portability, reusability, and so on. Regardless of the advantages of the black-box abstraction, facts show that it is difficult to meet different demands of various clients if a model only exposes its functional interface. The current middleware, such as CORBA, DCOM, and Java RMI, basically depends on the principle of black-box abstraction, so they are inherently short of flexibility and adaptability. However, what middleware deals with is complex distributed applications, so the fore-mentioned flexibility and adaptability are usually required.For that reason, applying the conception of open implementation to the design of middleware is supposed. The so-called open implementation is a new abstraction principle which means to open the underlying implementation of the researched object. The model employing the open implementation presents dual interfaces, one is the base-interface, and the other is the meta-interface. The base-interface is really the traditional interface an object should supplies, which provides the access to the functions of the object while hides the implementation details. On the other hand, the meta-interface gives the control to clients, which is used to customize the underlying implementation to adapt to clients' demands. But what is important is that this kind of openness should be restrictive and effective.Reflection is an ability of system to reason about and act upon itself. Reflection technology is a technology which can be used in object design, and also used as a feasible technology to carry out open implementation practically. What open implementation emphasizes is the relation between the client and the object, while what reflection stresses is a potential ability of the object itself. For a system to expose its implementation, the reflection capability is required to open itself effectively and restrictively to clients, which will improve the system's flexibility and adaptability, as well as separate the non-functional properties from its functional properties.Every reflective computation can be divided into two logical parts, context switching and meta-computation. After studying carefully, we found the similarity between the procedure of middleware processing and the reflective mechanism. Then the reflective view of middleware is deduced, and a method applying binding-reification reflective model to design middleware is supposed. Based on this, a prototype of reflective middleware named RECOM is implemented, which supports different kinds of binders that represent different protocols, quality of service, and other binding properties. Then an explicit binding protocol is designed to allow users to adapt (or configure) the binding between specific distributed components, which means to replace the used binder, or configure request-level reflective layers and message-level reflective layers. Depending on the implementation of reflective middleware, various demands of QoS can be met in distributed applications.In an application program, the part pertained to the meta-interface is referred to as the meta-program. A related question is the complexity of meta-programs. One of the important reasons for the complexity is that the complexity of algorithms and distributed protocols used for non-functional requirements. It's difficult for application programmers, who are usually not experts in these fields, to customize meta-programs to meet the requirements of applications. So it is desirable to let an other group of programmers to develop meta-programs, then the application programmer chooses the suitable meta-program as need, and binds the selected meta-program to the base-program. In order to do that, we present a binding protocol based on a trader, and apply the template and strategy to implement the m...
Keywords/Search Tags:Middleware, Open Implementation, Reflection, Meta-interface
PDF Full Text Request
Related items