Research
Research
I’m currently writing my Ph.D. thesis in the area of Model-Driven Engineering, specifically about Adaptive Object-Models. As such, the following topics are active interests in my research: Design and Architectural Patterns, Frameworks, Meta-modeling, Meta-programming, UML, eXtreme Programming, Agile methodologies, Wikis, Domain Specific Languages, Graphical Programming Languages, End-User Programming, etc.
RESEARCH INSTITUTIONS
•ParadigmaXis, S.A.
•INESC Porto, Associate Lab.
•Software Engineering Group, FEUP.
PEER-REVIEWED PUBLICATIONS
2008.Filipe F Correia and Hugo S Ferreira. Trends on Adaptive Object-Model Research. Proceedings of the 3rd Edition of the Doctoral Symposium in Informatics Engineering. Faculty of Engineering, University of Porto. Portugal.
Summary. In this work we present a set of common AOM-related design patterns, along with several open issues. We also present the current version of Oghma, an AOM-based system that aims to become a framework for information systems development. Our intent was to compare Oghma with other systems of this sort. We believed some of Oghma’s solutions belong to the current state of the art, but also that some benefit could be taken from other researcher’s experiences with AOMs. We have verified our beliefs to some extent, and briefly documented some of Oghma’s solutions that we have not yet found applied to other AOMs.
2008.Hugo S Ferreira, Filipe Correia, Leon Welicki. Patterns for Data and Metadata Evolution in Adaptive Object Models. Proceedings of the 15th Conference on Pattern Languages of Programs. Nashville, Tennessee. USA.
Summary. An Adaptive Object-Model (AOM) is an architectural pattern based upon a dynamic meta-modeling technique where the object model of the system is explicitly defined as data to be interpreted at run-time. The object model encompasses the full specification of domain objects, states, events, conditions, constraints and business rules. Several design patterns, that have before been documented, describe a set of good-practices within this domain. This paper approaches data and metadata evolution issues in the context of AOMs, by describing three additional patterns — History of Operations, System Memento and Migration. They establish ways to track, version, and evolve information, at the several abstraction levels that may exist in an AOM.
2009.Filipe F Correia, Hugo S Ferreira, Nuno Flores, Ademar Aguiar. Incremental Knowledge Acquisition in Software Development Using a Weakly-Typed Wiki. Proceedings of the 5th International Symposium on Wikis and Open Collaboration. Orlando, Florida. USA.
Summary. 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.
2009.Hugo S Ferreira, Ademar Aguiar, João Pascoal Faria. Adaptive Object Modelling: Patterns, Tools and Applications. 3rd Symposium on Doctoral Students of Software Engineering. Proceedings of the 4th International Conference on Software Engineering Advances. Porto. Portugal. (Best Paper Award).
Summary. 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.
2009.Filipe F Correia, Hugo S Ferreira, Nuno Flores, Ademar Aguiar. Patterns for Consistent Software Documentation. Proceedings of the 16th Conference on Pattern Languages of Programs. Chicago, Illinois. USA.
Summary. 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 raises several issues. The present pattern language describes complementary solutions for managing and ensuring the consistency of software documentation, by focusing on different tools and approaches which support such activities. Ten distinct patterns and their relations are described — Views, Transclusion, Links, Single Source, Heterogeneous Document, Synchronous Co-Evolution, Time-Shifted Co-Evolution, Auditable Document, Domain-Structured Information and Integrated Environment.
2009.Hugo S Ferreia, Filipe F Correia, Ademar Aguiar. Design for an Adaptive Object-Model Framework: An Overview (+Poster). Proceedings of the 4th International Workshop on Models@run.time. Co-located with the 12th International Conference on Model Driven Engineering Languages and Systems. Denver, Colorado. USA.
Summary. 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 AOM-based 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, run-time 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.António Rito Silva, David Martinho, Ademar Aguiar, Nuno Flores, Filipe F Correia, Hugo S Ferreira. An Implementation Model for Agile Business Process Tools. International Workshop on Organizational Design and Engineering. Portugal.
2009.Gabriela Soares, Rosaldo Rossetti, Nuno Flores, Ademar Aguiar, Hugo Ferreira. A Cooperative Personal Agenda in a Collaborative Team Environment. Proceedings of the 6th International Conference on Cooperative Design, Visualization and Engineering. Lecture Notes in Computer Science, Volume 5738/2009, Pages 193-196. Luxembourg City. Luxembourg.
Summary. This paper reports on the implementation of a cooperative personal agenda integrated into a collaborative team environment. Concerning developers, traditional project management tools are mainly focused on tasks exclusively related to the project, failing to provide users with the capability of managing tasks not necessarily associated with the work at hand. Scheduling tasks from divergent domains towards a more efficient user planning becomes unfeasible. To overcome this inaptness, we have extended the Redmine platform with an agenda-like behaviour bearing in mind each user’s individual constraints.
Public Presentations / Talks
Current Research and publications
I conclude there are two ways of constructing software design: one way is to make it so simple there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. Tony Hoare.