Journal Articles

Moreno CB, Moura F.  1994.  Concurrency annotations in C++. ACM SigPlan Notices. 29:61–67. Abstract10.1.1.41.4693.pdf

This paper describes CA/C++, Concurrency Annotations in C++, a language extension that regulates method invocations from multiple threads of execution in a shared-memory multiprocessor system. This system provides threads as an orthogonal element to the language, allowing them to travel through more than one object. Statically type-ckecked synchronous and asynchronous method invocations are supported, with return values from asynchronous invocations accessed through first class future-like objects. Method invocations are regulated with synchronization code defined in a separate class hierarchy, allowing separate definition and inheritance of synchronization mechanisms. Each method is protected by an access flag that can be switched in pre and post-actions, and by a predicate. Both must evaluate to true in order to enable a thread to animate the method code. Flags and method predicates are independently redefinable along the inheritance chain, thus avoiding the inheritance anomaly.

Fernandes S, Barbosa LS, Cerone A.  1992.  FLOSS Communities as Learning Networks. International Journal of Information and Education Technology. 3:278-281. Abstractfbc13-iceit.pdf

This paper discusses FLOSS communities as a prime example of learning networks, i.e. informal, interconnected sets of individuals mutually supporting shared knowledge acquisition and committed to self-defined goals. In particular, it addresses how the incorporation of a web-based, certification platform for Free / Libre Open Source Software in community culture and practice may increase the community impact both as learning network and open, high-quality software producer.

Oliveira JN.  1990.  A Reification Calculus for Model-Oriented Software Specification. Formal Aspects of Computing. 2:1–23. Abstract0046352b7f39f4aa10000000.pdf

This paper presents a transformational approach to the derivation of implementations from model-oriented specifications of abstract data types.
The purpose of this research is to reduce the number of formal proofs required in model refinement, which hinder software development. It is shown to be applicable to the transformation of models written in META-IV (the specification language of VDM ) towards their refinement into, for example, PASCAL or relational DBMSs. The approach includes the automatic synthesis of retrieve functions between models, and data-type invariants.

The underlying algebraic semantics is the so-called final semantics ``à la Wand'': a specification ``is'' a model (heterogeneous algebra) which is the final object (up to isomorphism) in the category of all its implementations.

The transformational calculus approached in this paper follows from exploring the properties of finite, recursively defined sets.

This work extends the well-known strategy of program transformation to model transformation, adding to previous work on a transformational style for operation-decomposition in META-IV. The model- calculus is also useful for improving model-oriented specifications.