5 research outputs found
Recommended from our members
Parallel programming and designing in object oriented environment SS/1
Parallel software development requires the flexibility to describe algorithms regardless of hardware specification, the ability to accommodate existing applications. and maintainability throughout the software life cycle. We propose the following model to address these issues. Our model incorporates aspects of the object-oriented and large grain data flow programming paradigms, and introduces a concept called a "Server". "Servers" are objects as well as self-contained processes which communicate with each other by sending messages. The server paradigm considers all components of a program as servers. This concept helps in designing flexible and dynamically reconfigurable software. The major goals of the server model are reusability, maintainability, and productivity. These are realized through encapsulation, instantiation, and inheritance features of the server model, as well as a graphical design environment with the capability of tracing and debugging the user's design based on the data flow information
Extending FeatherTrait Java with Interfaces
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
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
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