Organização

CESAR

RiSE

Patrocínio

Facilit
Borland

Apoio
Banco do Brasil
SBC
Cin
Porto Digital

Apresentação Escopo Palestrantes
Programaçao Inscrições

Mini-Curso "Model-Driven, Component-Based Software Reuse"

 Today, when software developers speak of “component-based development” they typically refer only to the use of a component-oriented execution platform such as J2EE, CORBA or .NET to implement the various parts of their software. However, this leverages only a small fraction of the potential power of the component paradigm. To the reap the full benefits of components, and make a serious impact on software reuse levels, it is necessary to apply the component paradigm in all stages of development, from analysis and design through to deployment and system verification. It is also important to leverage components within the context of other software engineering paradigms such as model-driven architectures, product lines, aspect-oriented programming and agile development. In this course Colin Atkinson will explain how to do this.

 The first lecture, Modeling Component-based Systems, explains how component-based development can be integrated with model-driven architectures and product-line engineering. The lecture first explains how to leverage the UML to capture the behavior and characteristics of complex business components and how to assemble these into hierarchically-organized system architectures. It then describes how component models can be mapped into different implementations according to the MDA transformation paradigm. The issues associated with product-line engineering are then introduced. After exploring the motivation for product families and explaining the difference between framework and application engineering, the lecture describes how component models can be generalized to capture the commonalities and variabilities that characterize a product line. It finishes by explaining how, using a decision model that relates model elements to user selectable features, a generic framework can be instantiated into a concrete user-customized application.

 The second lecture, Verifying Component-Based Systems, address the critical subject of system validation. One of the main advantages of component based development is that it allows new systems to be created rapidly and with very little effort from preexisting parts. However, these gains can easily be lost if the resulting system has to be verified and validated using traditional techniques, because the identification and location of errors can be much more difficult. This lecture will discuss techniques for minimizing the risk and effort involved in verifying component based systems. Particular attention will be paid to the technique of built-in testing which gives components the ability to check that they can fulfill their obligations in the context of a particular deployment environment.

 The third and final lecture, Engineering Component-Based Systems, describes the methodology and process principles involved in leveraging the previously explained techniques in industrial software development projects. It can therefore be viewed as “putting it all together”. The lecture will first discuss how to combine component-based, model-based and product-line based development activities in a way that minimizes effort and time-to-market. It then goes on to discuss various strategies for creating executable artifacts from the platform-independent models of components, including MDA-style transformation, AOP style “weaving”, and XP style test-driven development, and RUP-style incremental development. The lecture finishes with a discussion of the limitations of the technology and planned future enhancements.

Programação

Informações

Período:
20 a 22 de fevereiro de 2006

Local
:
Auditório do Banco do Brasil
Av. Rio Branco, 240- 9º Andar
Cais do Apolo - Recife, Pernambuco

Workshop Chairs:
- Silvio Lemos Meira {C.E.S.A.R./UFPE} silvio@cesar.org.br
- Jacques Robin {UFPE} robin.jacques@gmail.com
- Eduardo Santana de Almeida {C.E.S.A.R./UFPE} eduardo.almeida@cesar.org.br
Coordenação do evento na rede :
- Eduardo Cruz {C.E.S.A.R} eduardo.cruz@cesar.org.br