J. Andrés Díaz Pace
National Scientific and Technical Research Council
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by J. Andrés Díaz Pace.
Software - Practice and Experience | 2002
Marcelo Campo; J. Andrés Díaz Pace; Mario Zito
In this article, we present an approach to architecture‐driven design of object‐oriented frameworks based on the notion of object‐oriented materialization of architectural styles. This approach leads us to the development of the proto‐framework concept, which is a new denomination for an object‐oriented framework that provides the essential basis to build other frameworks that adopt an underlying architectural design derived from non‐object‐oriented styles. In this context, we describe the approach to framework design, the design of a particular proto‐framework called Bubble, and a real example of its application to the design of an enterprise framework. Copyright
Expert Systems With Applications | 2008
Luis Berdún; J. Andrés Díaz Pace; Analía Amandi; Marcelo Campo
Object-oriented patterns are enjoying much popularity as mechanisms to address flexibility and reusability in object-oriented designs. Consequently, many troubles have appeared to incorporate these practices to novice designers. The selection of appropriate patterns for a given design context is left to the developers criterion. This activity can be problematic for the developer, and thus, he/she is amenable for tool assistance. Along this line, this paper proposes the use of interface agents, describing an agent called PatternAdvisor that is able to help a novice developer with the application of design patterns in his/her projects. This agent works on expert knowledge captured in a Bayesian network, which models knowledge from both design pattern catalogs and expert developers feedback.
Proceedings of the 1st workshop on Linking aspect technology and evolution | 2009
Santiago Vidal; Esteban S. Abait; Claudia Marcos; Sandra Casas; J. Andrés Díaz Pace
Aspect-oriented software development allows the encapsulation of crosscutting concerns, achieving a better system modularization and, therefore, improving its maintenance. One important challenge is how to evolve an object-oriented system into an aspect-oriented one in such a way the system structure gets gradually improved. This paper describes a process to assist developers in the refactoring of object-oriented systems to aspects. To do so, we propose a tool approach that combines aspect mining techniques with a rule-base engine to apply refactorings.
Lecture Notes in Computer Science | 2003
J. Andrés Díaz Pace; Federico Trilnik; Marcelo Campo
Current software engineering trends are increasingly reasoning about large-scale applications in terms of multi-agent systems (MAS). Along this line, frameworks have been regarded as useful instruments to express a variety of agent models. However, despite the advantages of this approach, the MAS paradigm also introduces additional complexity into the development process. The central problem is that developers usually have to understand, select and organize a broad set of agency features in order to build final applications. Moreover, these features tend to be not orthogonal with respect to object structures. Thus, aspects appear as a promising alternative to achieve a better separation of concerns in MAS. In this context, the article presents an approach called Smartweaver, which basically gives assistance for the development of MAS applications, using a combination of multi-agent and aspect frameworks. A novel aspect of this work is the use of planning techniques to generate sequences of programming tasks to guide the implementation of applications on top of these frameworks. By doing so, the approach allows developers to better take advantage of MAS patterns, components and frameworks.
component based software engineering | 2005
Marcelo Campo; J. Andrés Díaz Pace; Federico Trilnik
The process of starting to use any reuse technology is usually one of the most frustrating factors for novice users. For this reason, tools able to reduce the learning curve are valuable to augment the potential of the technology to rapidly build new applications. In this work, we present Hint, an environment for assisting the instantiation of Java applications based on software agents technology. Hint is built around a software agent that has the knowledge about how to use a reusable asset and, using this knowledge, is able to propose a sequence of programming activities that should be carried out in order to implement a new application satisfying the functionality the user wants to implement. The most relevant contribution of this work is the use of planning techniques to guide the execution of instantiation activities for a given technology.
International Workshop on Software Engineering for Large-Scale Multi-agent Systems | 2003
J. Andrés Díaz Pace; Marcelo Campo; Alvaro Soria
The popularity of multi-agent systems (MAS) is on the rise. However, the provision of guidelines to assist the developer to manage both agency and organizational concerns, so that these concerns can be mapped to framework implementations, is still a technically difficult task. In this context, this work describes a design approach based on the notion of proto-frameworks, which proposes the materialization of MAS architectural models into object-oriented structures, enabling then different implementation alternatives for MAS frameworks according to specific developer’s needs.
international conference on software engineering | 2002
Federico Trilnik; J. Andrés Díaz Pace; Marcelo Campo
Summary form only given. Proposes an approach for enhancing aspect-oriented software development considering aspects as first-class design entities. The proposal puts together lines of research coming from different fields, namely: aspect-oriented frameworks, aspect models extending UML models, knowledge-driven framework documentation and agent-based planning. The concept of smart-weaving promotes essentially an early incorporation of aspects in the development cycle, so that designers are able to specify their designs by means of aspect models, reuse parts of these models, and also provide different strategies to map generic aspect structures to specific implementations. With this purpose, we have built an experimental environment called Smartweaver aiming to support this process. The kind of assistance provided by the tool relies on the Smartbooks method, a method extending traditional techniques for framework documentation. Smartbooks includes a special planning agent that is able to derive the sequence of activities that should be executed to implement a given functionality from a target framework.
ACM Transactions on Software Engineering and Methodology | 2018
Santiago Vidal; Iñaki berra; Santiago Zulliani; Claudia Marcos; J. Andrés Díaz Pace
Code smells are a popular mechanism for identifying structural design problems in software systems. Several tools have emerged to support the detection of code smells and propose some refactorings. However, existing tools do not guarantee that a smell will be automatically fixed by means of refactorings. This article presents Bandago, an automated approach to fix a specific type of code smell called Brain Method. A Brain Method centralizes the intelligence of a class and manifests itself as a long and complex method that is difficult to understand and maintain by developers. For each Brain Method, Bandago recommends several refactoring solutions to remove the smell using a search strategy based on simulated annealing. Our approach has been evaluated with several open-source Java applications, and the results show that Bandago can automatically fix more than 60% of Brain Methods. Furthermore, we conducted a survey with 35 industrial developers that showed evidence about the usefulness of the refactorings proposed by Bandago. Also, we compared the performance of the Bandago against that of a third-party refactoring tool.
international conference on software engineering | 2002
J. Andrés Díaz Pace; Marcelo Campo
Summary form only given. Proposes an architecture-driven design approach based on the concept of proto-frameworks, aiming to provide an intermediate stage in the transition from architectural models to object-oriented frameworks or applications. The approach relies on an object-oriented materialization of domain-specific architectures derived from domain models, i.e. the production of concrete computational representations of abstract architectural descriptions using object-oriented terminology. A proto-framework materializes, in object-oriented terms, the infrastructure required for cooperation and communication of each architectural component type. The framework gives abstract hooks to map specific domain components into a class hierarchy in a white-box fashion. This mapping can produce a specific application, but it can also produce new domain-specific frameworks that adopt the underlying architectural model. In the proposed approach, we can basically identify two stages. First, developers should figure out the problem architecture; aspects are initially mapped to architectural constructs, instead of being coded using framework language constructs. Second, the approach enables a materialization into a proto-framework, and then several kinds of frameworks implementations. These frameworks retain the properties inherited from the original architecture.
Communications of The ACM | 2001
J. Andrés Díaz Pace; Marcelo Campo