II Brazilian Symposium on Software Components, Architectures, and Reuse
Page Contents
Keynote Talks
Keynote Talk 1 - Richard Taylor - Runtime Software Adaptation: The Triumph of Styles
In 1998 we showed how an application can be adapted at runtime by manipulating its architectural model. In particular, our ICSE 1998 paper demonstrated the beneficial role of (1) software connectors in aiding runtime change, (2) an explicit architectural model fielded with the system and used as the basis for runtime change, and (3) architectural style in providing both structural and behavioral constraints over runtime change. This work has now been recognized as the "most influential paper" from that conference, as assessed over the following decade. This talk re-examines this work and how the need for runtime adaptation has changed and what new techniques have emerged. A broad framework for studying and describing evolution is introduced that serves to unify the wide range of work now found in the field of dynamic software adaptation. This study reveals the increased importance of architectural styles in producing systems with desirable qualities. The talk will conclude with a call for emphasis on development of the sciences of software synthesis, to complement the field's robust science of software analysis.
Richard N. Taylor is a Professor of Information and Computer Sciences at the University of California at Irvine and a member of the Department of Informatics. He received the Ph.D. degree in Computer Science from the University of Colorado at Boulder in 1980. Professor Taylor is the Director of the Institute for Software Research, which is dedicated to fostering innovative basic and applied research in software and information technologies through partnerships with industry and government. He has served as chairman of ACM's Special Interest Group on Software Engineering, SIGSOFT; chairman of the steering committee for the International Conference on Software Engineering, was general chair of the 1999 International Joint Conference on Work Activities, Coordination, and Collaboration, and was general chair of the 2004 International Symposium on the Foundations of Software Engineering. He is general chair of the 2011 International Conference on Software Engineering.
Taylor was a 1985 recipient of a Presidential Young Investigator Award. In 1998 he was recognized as an ACM Fellow and in 2005 was awarded the ACM SIGSOFT Distinguished Service Award. In 2008 he received the ICSE 2008 Most Influential Paper Award, for an ICSE 1998 paper which he co-authored with Peyman Oriezy and Nenad Medvidovic.
His research interests are centered on software architectures, especially event-based and peer-to-peer systems, and development environments that support the design task. Along with Nenad Medvidovic and Eric Dashofy, he is the author of a forthcoming textbook on the topic of software architectures. He is really impressed with his graduate students, current and past, for their contributions to application-layer Internet protocols and to the technology of software architectures.
Keynote Talk 2 - Dirk Muthig - Product Lines in Practice: Bridging the Gap between Economics and Engineering
Product line engineering is an organizational approach for making product development more efficient, which is technically based on systematic reuse on a large scale. Introducing product line engineering into practice successfully, however, requires broad organizational changes that have an impact on all kinds of roles, processes, and activities. Consequently, significant investments are needed that must be negotiated with top management. Hence research in the field of product line engineering often depends on many variables or aspects, and quickly becomes too complex and loses a clear technical focus. This talk reports on more than 10 years of experience in transferring product line engineering into diverse practical contexts and concurrently improving the underlying product line technology. It gives ideas on how the complexity of product line approaches can be divided into smaller pieces that can be tackled by researchers in a systematic manner.
Dirk Muthig is a division manager at the Fraunhofer Institute for Experimental Software Engineering (IESE) in Kaiserslautern, Germany. He received his Ph.D. from the Technical University of Kaiserslautern in 2002 on "lightweight approaches facilitating an incremental transition towards product line engineering". He is with Fraunhofer IESE since 1997 and thus has been involved in the development and definition of Fraunhofer PuLSE right from its very beginning. He is also responsible for all product line aspects of the KobrA method, a model-based approach for engineering product line components. Since 2002, Dirk is responsible for all product-line-related transfer projects and research. His team was involved in the major European projects on software product lines and families. He was program co-chair of the Software Product Line Conference (SPLC) in Kyoto in 2007, and he will be the general chair of SPLC-2009.
Tutorials
Tutorial 1 - Leonardo Murta - Component Repositories under Software Configuration Management and Software Reuse Perspectives
Different fields of software engineering deal with component repositories in different ways. Software Configuration Management field uses component repositories as a way for controlling the evolution of software products under development and maintenance (e.g., Subversion). On the other hand, Software Reuse field uses component repositories for publishing, searching and retrieving production versions of components (e.g., ComponentSource). This short course will differentiate these two perspectives over component repositories and discuss the main features and internal structures of each kind of repository.
Tutorial 2 - Paulo F. Pires - MDA: A hands-on approach
The Model Driven Architecture (MDA) is the OMG approach for the model driven development. Such approach proposes three different abstraction levels for system modeling: the Computational Independent Model (CIM), the Platform Independent Model (PIM), and the Platform Specific Model (PSM). These models are mapped from a higher abstraction level to a lower level through a process called model transformation. This short course presents the key theoretical concepts needed to the understanding of MDA as well as it shows how these concepts can be applied in system development. The hands on part of the short course will show how to setup an environment tailored for the model driven development, using open source tools. Moreover, it will be shown how to make use of such environment in the building of systems through the model driven development.