Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
articulo_translated [2008/01/28 21:28] – jfabry | articulo_translated [2008/01/28 21:44] (current) – jfabry | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== PLEIAD: Exploring New Languages for Better Programs ===== | ||
+ | |||
+ | The goal of the PLEIAD (Programming Languages and Environments for Intelligent, | ||
+ | |||
+ | Programming languages have a life span. Currently, the most popular language is Java, but before Java C++ was the language of choice. Before C++, C was popular, before C, we had FORTRAN. A programming language is made with a a certain kind of hardware technology in mind, as well as a certain type of programs that will be written in that language. As technology changes, as well as the type of programs people are expected to write, programming languages become ever less practical to use in development. It is also for this reason that a lanuage itself is subject to change and evolution, as can be observed in the multitude of Java versions. With Java being more than 10 years old, a section of the software engineering community is looking towards what is being called the ' | ||
+ | |||
+ | Moreover, programming langugages play a central role in how programmers manage the complexity of computational systems. For example, currently Object-Oriented or Component-Oriented programming is the basis on which many large-scale systems are built. The incessant ubiquity of computation in all levels of society however implies that software is growing ever more complex. This entails that new linguistic support is needed to manage this complexity. One example of this new support is Aspect-Oriented Programming (AOP). AOP allows the modular definition of concerns that cut across the (Object-Oriented or Component-Oriented) structure of the application, | ||
+ | |||
+ | __**Main Research Directions**__\\ | ||
+ | |||
+ | The PLEIAD lab currently is performing research in the following three main areas: Aspect-Oriented Programming (AOP), program understanding and debugging, and programming of pervasive systems. We briefly detail these next. | ||
+ | |||
+ | **Aspect-Oriented Programming.** As we previously mentioned, AOP introduces new mechanisms to define software in a more modular and hence more adaptable form. AOP inherits strongly from the work on computational reflection, a topic on which the members of PLEIAD have previously focussed. In the AOP context, PLEIAD contributes to the research on aspect languages. The AOP communtity already disposes of an industrial-strength aspect langugage, AspectJ. However there are still a large number of open topics that need to be explored to allow the full potential of aspects in software development to be achieved. Currently, PLEIAD considers two of such topics: defining and building aspect languages, including languages that are specific to a given domain (e.g. a language for the management of transactions), | ||
+ | |||
+ | **Debugging.** Debugging consists in helping the developer to find errors in a given program. In more general terms, this is related to program understanding. In other words, the research question is on how to help a human being to understand what is happening during program execution. This in enough detail such that he or she is capable of modifying or correcting it. But all the while this has to be done at an appropriate abstraction level, such that the person is not overwhelmed by the complexity of the program. More specifically, | ||
+ | |||
+ | **Pervasive Computing.** Computing systems on mobile devices, for mobile users, that are integrated as transparantly in their daily life constitute the domain of pervasive computing or Ambient Intelligence. Such systems have to be able to detect their environment and dynamically adapt themselves to it. Programming this using present-day languages provokes a lot of complexity. This is due to the need of managing all the details that are related to the volatile nature of the ambient and of the network connections. PLEIAD works on langauges that are dedicated to this domain. These provide the right abstractions that allow the programmer to both specify how the environment is percieved and how the system should adapt. Currently, we are experimenting with the AmbientTalk language, developed in the PROG lab of the Vrije Universiteit Brussel (Belgium), a laboratory with which we actively collaborate. Furthermore, | ||
+ | |||
+ | |||
+ | __**History and Achievements**__\\ | ||
+ | |||
+ | The PLEIAD lab was inaugurated in November 2007, in the presence of Ron Goldman, Senior Staff Engineer of Sun Labs. Ron is currenlty working on the Sun SPOTS, devices created for ambient intelligence applications, | ||
+ | |||
+ | While being a joung lab, PLEIAD already has achieved some international achievements in the different domains in which it performs research. In the ACM conference on Aspect-Oriented Software Development (AOSD 2008) a techical paper will be presented on scoping of dynamic aspects, a workshop will be organised on domain-specific aspect languages, and a demonstration will be given of the omniscient debugger TOD. A technical paper on TOD has been published at OOPSLA 2007, the reference conference of ACM in this area. Furthermore a different usage of TOD, for Aspect-Oriented Programming will be presented at the ACM Symposium on Applied Computing (SAC 2008). PLEIAD also organised a workshop on biologically inspired computing in December 2007, in Valparaiso. (BIC 2007). This workshop was attended by various international experts, both from Europe as the USA. Lastly, PLEIAD is involved as a founding member in the south-american collaboration network Latin AOSD, and participates in other international cooperation projects, specifically with INRIA in France. | ||
+ | |||
+ | |||
+ | //More information can be found on http:// | ||
+ | |||