Tutorials
Model-Based Testing for Real-Time Systems
Tutorial Speakers
Wilkerson de L. Andrade (UFCG)
Gustavo H. P. Carvalho (UFPE)
Patrícia D. L. Machado (UFCG)
Abstract
In the past fifty years, the industry has witnessed a significant increase of embedded HW-SW components in critical system. A report from NASA published in 2009 highlights that, from 1960 to 2000, the amount of functionalities provided by software embedded in military aircrafts has grown from 8% to 80%. This scenario is not a privilege of the Aviation Industry. The Automobile Industry, for instance, has become even more dependent on embedded components. Clearly, this trend increases the software size and complexity, and concerning critical systems, safety and reliability are central issues. Currently, many researches are focusing on how to achieve the required safety and reliability levels of these systems. Some approaches to treat the problem are based on formal verification of models and properties, whereas others rely on Model-Based Testing (MBT) techniques. Therefore, this tutorial will focus on the possibilities for MBT concerning realtime systems.
Adaptive and Self-managing Systems
Tutorial Speakers
Luciano Baresi (Politecnico di Milano - Dipartimento di Elettronica e Informazione)
Abstract
Adaptability is becoming a key feature of many modern software systems. In some cases, it simply consists in adjusting the topology of the system or the configuration of its components. In other cases, components can enter and leave the system continuously, and adaptation must accommodate them seamlessly. These systems must be able to self-adjust themselves to the new conditions; user intervention must be limited. These systems are often referred to as adaptive or self-managing systems. They mimic conventional control systems and embed the monitor-analyze-plan-execute control (feedback) loop to support adaptation as intrinsic property. They comprise sensors, which can be dedicated software elements that provide field data for decision-making, and actuators, which apply planned decisions. This tutorial will introduce this class of software systems and will discuss some interesting proposals to highlight the key elements. We must distinguish between those systems that consider a fixed set of elements and those that support more dynamism and allow components to enter and leave the system. Adaptation capabilities range from rule-based systems to bio-inspired solutions. Moreover, required changes can come from a centralized controller, or the different components can cooperate and coordinate themselves through decentralized, peer-to-peer solutions. The tutorial will conclude with the presentation of a complete solution and of some ideas for further research in the field.
SMT (Satisfiability Modulo Theories): um cálculo para a ciência da computação
Tutorial Speakers
Leonardo de Moura (Microsoft Research)
Abstract
Explorando o Intangível: Um Panorama da Visualização de Software e suas Aplicações.
Tutorial Speakers
Marcelo Schots (COPPE/UFRJ, UERJ)
Cláudia Maria Lima Werner (COPPE/UFRJ)
Abstract
Currently, in the information age, the creation of tools, techniques and methodologies to support the interpretation and manipulation of large data sets are perceived as ways of using existing nformation to support decision making. Software Visualization, a subarea of Information Visualization, is focused on research about the use of computing resources to enhance the awareness, understanding and assimilation of information of software and about the software by the user, through the stimulation of human cognitive ability. This tutorial presents an overview of the Software Visualization area, including some key concepts and visualization techniques, as well as cases of scientific and commercial applications. Some ongoing research will also be presented.
Ecossistemas de Software: Estágio Atual, Direções de Pesquisa e a Prática na Indústria de Software
Tutorial Speakers
Cláudia Maria Lima Werner (COPPE/UFRJ)
Rodrigo Pereira dos Santos (COPPE/UFRJ)
Carina Alves (UFPE)
Abstract
The software development has been enhanced through theoretical and applied research, but presents a lot of challenges apart from the technical perspective. In other words, the traditional strategy for developing a unique software has been changed into developing multiple products, based on a common system architecture and integrated to other softwares in components and stakeholders? nets. In this sense, studies related to Software Ecosystems (SECOs) have emerged as a Software Engineering (SE) research topic. SECOs represent an approach to improve SE inside and among organizations in order to explore software reuse in opening software platform architectures when users and third-part developers are involved. This tutorial aims at discussing SECOs concepts and characteristics as well as technologies and approaches to their management and engineering, in an architectural, business and social bases. Quality processes for SE are presented, such as Reuse Management and Development for Reuse. Also, some real cases are used to exemplify studies accomplished in academy and industry. Finally, an analysis of research and practical directions to SECOs are pointed.