Software applications are subject to natural evolution. The task to comprehend its state and evolution correspond to more than 50% of maintenance activities. The main reason is the absence of abstractions over the applications. On this research line, we study the process to generate views and metrics from software artifacts (developed in Java, Oracle Forms, Ruby on Rails, Epsilon), to facilitate architecture comprehension and decision making process.
When an application software evolution is comprehended, transformation or refactoring may be needed to improve quality or to satisfy business or technologies constrains. On this research line, we study means to fully or partially automate the transformation.
IoT devices can range from small devices, like sensors that interact with the environment to collect data to mobile devices, servers and actuators, that process information to offer new services to users and to cause an effect to the surroundings. IoT is a topic of interest to the Colombian government (evidenced on recent Colciencias calls, e.g., 778, 816), because it posses a great potential for productivity business models and logistics optimization using operational data. An IoT systems require a software architecture to operate. On this research line, we study the possible changes on the architecture to suggest dynamic adaptations.