5 research outputs found

    Extending FeatherTrait Java with Interfaces

    Get PDF
    International audienceIn the context of Featherweight Java by Igarashi, Pierce, and Wadler, and its recent extension FeatherTrait Java (FTJ) by the authors, we investigate classes that can be extended with trait composition. A trait is a collection of methods, i.e. behaviors without state; it can be viewed as an "incomplete stateless class" ie, an interface with some already written behavior. Traits can be composed in any order, but only make sense when "imported" by a class that provides state variables and additional methods to disambiguate conflicting names arising between the imported traits. We introduce FeatherTrait Java with interfaces (iFTJ), where traits need to be typechecked only once, which is necessary for compiling them in isolation, and considering them as regular types, like Java-interfaces with a behavioral content

    Beschreibung gemeinsamen Verhaltens in einem einheitlichen Objektraum

    Get PDF
    Wir betrachten ein System mit einem einheitlichen Objektraum. In einem einheitlichen Objektraum ist das Objekt das primaere Strukturelement des Systems. In einem solchen System stellt sich in erweiterter Form die Frage nach einem Modell, das gemeinsames Verhalten von Objekten zu beschreiben erlaubt. Wir beschreiben die zu stellenden Forderungen und versuchen dann, diese Frage zu beantworten, indem wir entsprechende Sprachelemente in Form von S i c h t e n und M u s t e r n be- schreiben. Anhand dieser Elemente belegen wir, dass Delegation sowohl auf der Ebene der Objekte als auch als Vererbung auf der Ebene der Klassen lediglich als Grundlage der Realisierung des Modells dienen kann, nicht aber in der Sprache selbst angeboten werden sollte. Das beschriebene Modell findet sich in der Sprache Aristarch/L wieder, die das objektbasierte Betriebssystem Aristarch/OS unterstuetzt

    The exploitation of parallelism on shared memory multiprocessors

    Get PDF
    PhD ThesisWith the arrival of many general purpose shared memory multiple processor (multiprocessor) computers into the commercial arena during the mid-1980's, a rift has opened between the raw processing power offered by the emerging hardware and the relative inability of its operating software to effectively deliver this power to potential users. This rift stems from the fact that, currently, no computational model with the capability to elegantly express parallel activity is mature enough to be universally accepted, and used as the basis for programming languages to exploit the parallelism that multiprocessors offer. To add to this, there is a lack of software tools to assist programmers in the processes of designing and debugging parallel programs. Although much research has been done in the field of programming languages, no undisputed candidate for the most appropriate language for programming shared memory multiprocessors has yet been found. This thesis examines why this state of affairs has arisen and proposes programming language constructs, together with a programming methodology and environment, to close the ever widening hardware to software gap. The novel programming constructs described in this thesis are intended for use in imperative languages even though they make use of the synchronisation inherent in the dataflow model by using the semantics of single assignment when operating on shared data, so giving rise to the term shared values. As there are several distinct parallel programming paradigms, matching flavours of shared value are developed to permit the concise expression of these paradigms.The Science and Engineering Research Council
    corecore