2017/2018 Edition

Selected problems in concurrent and object programming

Lecturer: Prof. Andrzej Salwicki (UKSW, Warsaw).

About the lecturer | Course Summary | Slides, Articles, etc. | Assignment

About the lecturer: Andrzej Salwicki is a professor at University Cardinal Stefan Wyszynski. He initiated two projects what involved several researchers:

Andrzej Salwicki got M.Sc degree in topology from K. Borsuk in 1960. Since 1959 till 1964 he was at Institute of Computing Machines of Polish Academy of Sciences. From 1964 till 1993 he was at Instutute of Informatics, Warsaw University. Later he spent some years at Bialystok Technical University, Institute of Telecomunication Warsaw, and in France.

Course summary: We shall discuss a few problems in non-sequential and object programming.

  1. Our first question is: can one implement the alien call protocol of cooperating active objects in JVM? Alien call is a protocol invented by Bolek Ciesielski, a student of informatics at our Institute more than 20 years ago. Alien call is well defined within VLP - the Virtual Loglan Processor. It is entirely object protocol of cooperating active objects(=processes).
  2. Active objects differ from threads of Java. They can exist in an environment that unifies concurrent and distributed programming. Is it possible to extend the environment to cover also parallel programming?
  3. Coroutines were known to M. Conway and D. Knuth. The fathers of Simula67 (O.J. Dahl and K. Nygaard) gave new definition of this notion. We shall show how coroutines cooperate with recursive procedures. An open question is: can one implement coroutines in JVM?
  4. Antoni Kreczmar proposed a secure dealocation of objects. A scheme of axioms of kill instruction reads:
    ( x=y=z=t<>none) => [kill(y)](x=y=z=t=none)
    i.e. if an object is pointed out by four references then the kill(x) instruction assures that all references point to none. Number of variables pointing to an object may vary.
  5. In BETA and Loglan'82 languages a procedure or function can inherit from a class. What are advantages and disadvantages of this mechanism?
  6. There is a few programming languages that allow both inheritance and inner classes. This creates problems in semantics, e.g. how to establish which class is the superclass of a given class? We shall discuss the problem and methodology of defining semantics by inference rules.