10 research outputs found

    What is Java binary compatibility?

    No full text
    Separate compilation allows the decomposition of programs into units that may be compiled separately, and linked into an executable. Traditionally, separate compilation was equivalent to the compilation of all units together, and modi cation and re-compilation of one unit required re-compilation of all importing units. Java suggests a more exible framework, in which the linker checks the integrity of the binaries to be combined. Certain source code modi cations, such asaddition of methods to classes, are de ned as binary compatible. The language description guarantees that binaries of types (i.e. classes or interfaces) modi ed in binary compatible ways may be re-compiled and linked with the binaries of types that imported and were compiled using the earlier versions of the modi ed types. However, this is not always the case: some of the changes considered by Java as binary compatible do not guarantee successful linking and execution. In this paper we study the concepts around binary compatibility. We suggest a formalization of the requirement of safe linking and execution without re-compilation, investigate alternatives, demonstrate several of its properties, and propose a more restricted de nition of binary compatible changes. Finally, we prove for a substantial subset of Java, that this restricted de nition guarantees error-free linking and execution.

    A Study of The Fragile Base Class Problem

    No full text
    In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragil

    The Re-entrance Problem and Its Solution

    No full text
    In this paper we take a formal look at the nature of the re-entrance problem. We see the essence of the problem in a conflict between the assumptions components make about each other's behavior. We argue that to ensure safe composability of mutually dependent components in an open system one needs to reason about them modularly. We propose an approach for extending component specifications with rely/guarantee conditions, explicitly expressing the assumptions components can safely make about each other. Accordingly, we define how to refine components in accordance with the rely/guarantee conditions. By extending the refinement calculus, we define a customized theory of components necessary for reasoning about composability. Then we formally prove that refining components taking into account the rely/guarantee conditions permits to reason about component systems modularly and in this way avoid the re-entrance problem. Keywords : re-entrance problem, modular reasoning, component substitut..

    A Study of The Fragile Base Class Problem

    No full text
    . In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragile base class problem becomes apparent during maintenance of open object-oriented systems, but requires consideration during design. We express the fragile base class problem in terms of a flexibility property. By means of five orthogonal examples, violating the flexibility property, we demonstrate different aspects of the problem. We formulate requirements for disciplining inheritance, and extend the refinement calculus to accommodate for classes, objects, class-based inheritance, and class refinement. We formulate and formally prove a flexibility theorem demonstrating that the restrictions we impose on inheritance are sufficient to permi..

    Formal Semantics of Inheritance and Object Substitutability

    No full text
    In this paper we study the problem of semantic substitutability of objects. First we give semantics of classes, objects and inheritance in presence of dynamic binding. For this purpose we extend Cook and Palsberg's denotational semantics of stateless classes and inheritance by adding state. We build our theory on the basis of refinement calculus, which is a logic framework for reasoning about conformance of programs to their specifications and program refinement. We derive class refinement from the notion of abstract data type refinement as a criterion of object substitutability. We illustrate our model of classes and objects with an example and show how refinement between classes can be proved in practice. 1 Introduction In recent years object-oriented programming methodology have gained recognition as the industrial strength approach. However, research on foundations of object-oriented languages is still active. It becomes particularly important in view of an emerging component mark..

    Patterned Drug-Eluting Coatings for Tracheal Stents Based on PLA, PLGA, and PCL for the Granulation Formation Reduction: In Vivo Studies

    No full text
    Expandable metallic stent placement is often the only way to treat airway obstructions. Such treatment with an uncoated stent causes granulation proliferation and subsequent restenosis, resulting in the procedure’s adverse complications. Systemic administration of steroids drugs in high dosages slows down granulation tissue overgrowth but leads to long-term side effects. Drug-eluting coatings have been used widely in cardiology for many years to suppress local granulation and reduce the organism’s systemic load. Still, so far, there are no available analogs for the trachea. Here, we demonstrate that PLA-, PCL- and PLGA-based films with arrays of microchambers to accommodate therapeutic substances can be used as a drug-eluting coating through securely fixing on the surface of an expandable nitinol stent. PCL and PLA were most resistant to mechanical damage associated with packing in delivery devices and making it possible to keep high-molecular-weight cargo. Low-molecular-weight methylprednisolone sodium succinate is poorly retained in PCL- and PLGA-based microchambers after immersion in deionized water (only 9.5% and 15.7% are left, respectively). In comparison, PLA-based microchambers retain 96.3% after the same procedure. In vivo studies on rabbits have shown that effective granulation tissue suppression is achieved when PLA and PLGA are used for coatings. PLGA-based microchamber coating almost completely degrades in 10 days in the trachea, while PLA-based microchamber films partially preserve their structure. The PCL-based film coating is most stable over time, which probably causes blocking the outflow of fluid from the tracheal mucosa and the aggravation of the inflammatory process against the background of low drug concentration. Combination and variability of polymers in the fabrication of films with microchambers to retain therapeutic compounds are suggested as a novel type of drug-eluting coating
    corecore