2010
Autores
Ferreira, HugoSereno; Correia, FilipeFigueiredo; Yoder, JosephW.; Aguiar, Ademar;
Publicação
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
Autores
Correia, FilipeFigueiredo; Aguiar, Ademar;
Publicação
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.
2010
Autores
Correia, FF; Ferreira, HS; Aguiar, A; Flores, N;
Publicação
ACM International Conference Proceeding Series
Abstract
Documentation is an important part of the captured knowledge of a software project, providing a flexible and effective way of recording informal contents. However, maintaining documentation's consistency requires a considerable effort. Existing solutions encompass different tools and approaches that support the process of creating, evolving and using documents and other artifacts derived from the software development process. Based on existing literature and expertise, we have identified the key problems and solutions for documentation consistency. In concrete, four distinct patterns and their relations were identified, which are here described - Information Proximity, Co-Evolution, Domain-Structured Information and Integrated Environment. Copyright 2009.
2009
Autores
Ferreira, HS; Correia, FF; Aguiar, A;
Publicação
CEUR Workshop Proceedings
Abstract
The Adaptive Object-Model (AOM) architectural pattern has been significantly documented in literature, but there is not yet enough documentation explaining how to design and build a full AOMbased system. A AOM framework would need to address an additional number of issues that go well beyond individual software patterns. In this paper, we propose a design for a AOM framework that addresses several issues of building AOM-based systems, namely: integrity, runtime co-evolution, persistency, user-interface generation, communication and concurrency. We borrow concepts from distributed version-control systems. We show how applications based on a concrete realization of this framework, called Oghma, helps to avoid a traditional two-level domain classification, reduces accidental complexity, and directly exposes confined model evolution to the end-user.
2023
Autores
Marques, P; Correia, FF;
Publicação
CoRR
Abstract
2022
Autores
Santos, J; Correia, FF;
Publicação
CoRR
Abstract
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.