Palestrante convidado: Gary Todd Leavens (Universidade de Central Florida, EUA)
Biografia resumida: Gary T. Leavens é professor, chefe interino do departamento de Engenharia Elétrica e Ciência da Computação, e chefe interino da Divisão de Ciência da Computação na Universidade de Central Florida (UCF). Veja mais detalhes...Data: quinta-feira (29-set-2011)
Resumo (inglês): Aspect-Oriented programming languages offer considerable power, which is both useful and frightening. The power to dynamically edit a program's computation allows aspect-oriented advice to modularize programs (e.g., with advice that enforces a policy for access control) and to add new features (such as access control) after the program is written. Such techniques are especially valuable for large programs. However, many in the programming language community are frightened by the power of aspect-oriented advice, since every statement in a program implicitly presents many opportunities for dynamic editing by advice and one needs to examine all aspects to see what advice might apply at all these "joinpoints.".
In this talk I will discuss joint work with Hridesh Rajan and Mehdi Bagherzadeh (both from Iowa State University) on the programming language Ptolemy, which is an event-based language that has many of the capabilities of aspect-oriented languages. However, instead of having implicit joinpoints, as in aspect-oriented languages, Ptolemy has declarative explicit event announcement. Declarative explicit announcement of events means that most statements are not subject to dynamic editing by advice, which allows reasoning to be more tractable. Indeed, I will discuss our greybox specification technique (called "translucid contracts") and our verification techniques for Ptolemy (both of which are to be presented at AOSD 2011), and give some intuition as to how these techniques permit modular reasoning about Ptolemy programs. This gives us hope that in Ptolemy one can enjoy both the benefits of aspects and modular reasoning.
Palestrante convidado: José Luiz Fiadeiro (Universidade de Leicester, Reino Unido)
Biografia resumida: José Fiadeiro ingressou na Universidade de Leicester em dezembro de 2002 como Professor de Engenharia e Ciência de Software, Veja mais detalhes...Data: sexta-feira (30-set-2011)
Resumo (inglês): Service-Oriented Computing (SOC) is a new paradigm in which interactions are no longer based on the direct invocation of named components — what is known as clientship in object-oriented programming — but on the provisioning of services by external providers that can be procured on the fly subject to a negotiation of service level agreements (SLAs). Drawing an analogy with imperative programming, services provide abstractions for interactions similar to what structured programming introduced for control flow: they eliminate "gotos" in the sense that the onus of determining which component to invoke is moved from the programmer to the middleware. As a consequence, computation in the context of SOC transforms not only the states of the components that implement applications but also the configurations of those applications as they bind, dynamically, to other components discovered by the middleware. In this talk, we elaborate on the challenges that this paradigm raises on the semantics of the languages in which we program service-oriented applications, namely as a consequence of the need to account for the dynamic reconfiguration of those applications.