2008
Authors
Restivo, A; Aguiar, A;
Publication
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution, LATE@AOSD 2008, Brussels, Belgium, April 1, 2008
Abstract
A large part of the software development effort is typically spent on maintenance and evolution, namely on adding new and unanticipated features. As aspect-oriented programming (AOP) can be easily used to compose software in non-planned ways, many researchers are investigating AOP as a technique that can play an important role in this particular field. However, unexpected interactions between aspects are still a major problem that compromise AOP's applicability, especially in large projects where many developers, often including new team members, are involved in the process. This paper addresses the issues of aspect conflicts and interactions and proposes a technique to help compose aspects in a disciplined way using a test-driven development approach. A simple example for a banking system helps on illustrating the technique. © 2008 ACM.
2007
Authors
Restivo, A; Aguiar, A;
Publication
Proceedings of the 5th Workshop on Software Engineering Properties of Languages and Aspect Technologies, SPLAT 2007, Vancouver, British Columbia, Canada, March 12-16, 2007
Abstract
Aspect Oriented Programming (AOP) is a programming paradigm that aims at solving the problem of crosscutting concerns being normally scattered throughout several units of an application. Although an important step forward in the search for modularity, by breaking the notion of encapsulation introduced by Object Oriented Programming (OOP), AOP has proven to be prone to numerous problems caused by conflicts and interferences between aspects. This paper presents work that explores the proven unit testing techniques as a mean to help developers describe the behavior of their aspects and to advise them about possible conflicts and interferences. Copyright © 2007 ACM.
2009
Authors
Correia, FilipeFigueiredo; Ferreira, HugoSereno; Flores, Nuno; Aguiar, Ademar;
Publication
Proceedings of the 2009 International Symposium on Wikis, 2009, Orlando, Florida, USA, October 25-27, 2009
Abstract
Software development is a knowledge-intensive activity and frequently implies a progressive crystallization of knowledge, towards programming language statements. Although wikis have proved very effective, for both collaborative authoring and knowledge management, it would be useful for knowledge acquisition to better support team awareness and the recognition of knowledge structures, their relations, and their incremental evolution. This paper presents Weaki, a wiki prototype especially designed to support incremental formalization of structured contents that uses weakly-typed pages and type evolution. Weaki was applied in academic settings, by students of Software Engineering Labs. Copyright 2009 ACM.
2011
Authors
Matsumoto, PatriciaMegumi; Correia, FilipeFigueiredo; Yoder, JosephWilliam; Guerra, Eduardo; Ferreira, HugoSereno; Aguiar, Ademar;
Publication
Proceedings of the 18th Conference on Pattern Languages of Programs, PLoP 2011, Portland, Oregon, USA, October 21-23, 2011
Abstract
An Adaptive Object Model (AOM) is a common architectural style for systems in which classes, attributes, relationships and behaviors of applications are represented as metadata, allowing them to be changed at runtime not only by programmers, but also by end users. Frequently, behavior is added to AOM systems by increasingly adding expressiveness to the model. However, this approach can result in a full blown programming language, which is not desirable. This pattern describes a solution for adding behavior to AOM systems by using metadata to identify points in the application where behavior can be dynamically added. This solution may limit the expressive power of the model, but can also simplify it, since points of extension are well defined in the system. © Copyright 2011 Carnegie Mellon University.
2010
Authors
Ferreira, HugoSereno; Correia, FilipeFigueiredo; Yoder, JosephW.; Aguiar, Ademar;
Publication
17th Conference on Pattern Languages of Programs, PLoP '10, Reno/Tahoe, NV, USA, October 17-21, 2010
Abstract
Meta-architectures, also known as reective architectures, are a specific type of software architectures that are able to inspect their own structure and behavior, and dynamically adapt at runtime, thus responding to new user requirements or changes in their environment. In object-oriented programming, these architectures rely on a small set of core concepts that provide them the means to describe themselves, thus becoming"closed". These three core patterns can be found in almost every object-oriented meta-architecture: Everything is a Thing, Closing the Roof, and Bootstrapping. By delving into the inherent problems they try to solve, and the forces that shape those problems, a developer will improve his ability to adequately make architectural and design choices to build and evolve systems with high-adaptability needs.
2011
Authors
Correia, FilipeFigueiredo; Aguiar, Ademar;
Publication
Proceedings of the 18th Conference on Pattern Languages of Programs, PLoP 2011, Portland, Oregon, USA, October 21-23, 2011
Abstract
Providing efficient access to information can be approached in different ways, but ultimately implies the creation of an INDEX, represented with an indexing language, like a TAXONOMY, a THESAURUS, an ONTOLOGY or a FOLKSONOMY. Each of these languages strikes a different balance between the effort to create and maintain the index, the effectiveness of knowledge capture, the guidance that readers can get, and how efficiently they can get it. Furthermore, in a world in which more and more information is available, two issues gain particular importance in the creation of an index: how can it be done collaborative, and how can the index abstract and express information more richly. © Copyright 2011 Carnegie Mellon University.
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.