Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Hugo Sereno Ferreira

2009

Incremental knowledge acquisition in software development using a weakly-typed Wiki

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

AOM metadata extension points

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

Core patterns of object-oriented meta-architectures

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.

2010

Patterns for consistent software documentation

Authors
Correia, FF; Ferreira, HS; Aguiar, A; Flores, N;

Publication
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

Design for an adaptive object-model framework an overview

Authors
Ferreira, HS; Correia, FF; Aguiar, A;

Publication
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.

2009

Adaptive Object-Modelling: Patterns, Tools and Applications

Authors
Ferreira, HS; Aguiar, A; Faria, JP;

Publication
2009 FOURTH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING ADVANCES (ICSEA 2009)

Abstract
Adaptive Object Models, though a well-known architectural pattern, is seldomly used in software projects where, due to their nature, would highly benefit from it. Characteristics such as complexity, reduced literature and case-studies, lack of reusable framework components, and fundamental issues as those regarding runtime evolution, drive developers away. By overcoming these barriers with a set of patterns, tools and applications, and addressing pending research problems, Adaptive Object Models can dramatically alter the way developers design their software. This paper presents a survey in the field, describes the preliminary contributions and outlines the ongoing doctoral work.

  • 9
  • 10