Turno Noche (19 a 22 horas)
Henry Muccini, Universitá di L'Aquila, Italia (Curso en inglés)
www.HenryMuccini.com
www.di.univaq.it/muccini
Henry Muccini got its PhD degree in Computer Science from the University
of Rome - La Sapienza - in 2002. He is an assistant professor at the
University of L'Aquila since 2002, and he has been visiting professor at
Information & Computer Science, University of California, Irvine in 2001.
Henry's research interests are on software architecture, component-based
systems, model-based analysis, testing and model-checking, Web-oriented
modeling and product family engineering. Henry Muccini teaches different
courses at the University of L'Aquila (Software Engineering II, Modeling
Web Applications with the UML, Analysis and Testing of Component-based
Systems and Architectures), he has tought courses on Software Quality and
Component-based systems at the University of California Irvine, and he is
a consultant in some companies. His research and development
collaborations are with some research institutes (CNR, Vrije Universiteit,
University of California) and companies (Siemens CNX, Terma GmbH, Micron,
Marconi).
Objetivos del curso:
In recent years, the study of software architecture (SA) has emerged as an autonomous discipline requiring its own concepts, formalisms, methods, and tools. SA represents a very promising approach since it handles the design and analysis of complex distributed systems and tackles the problem of scaling up in software engineering. Through suitable abstractions, it provides the means to make large applications manageable. SAs support the formal modeling of a system, allowing for both a topological (static) description and a behavioral (dynamic) one. SA specifications can be usefully employed in testing and analysis.
The course, after an introduction to SA and SA modeling, will describe an approach for SA-based conformance testing: architectural tests are selected from a Labelled Transition System (LTS) representing the SA behavior and are then refined into concrete tests to be executed on the implemented system. By employing SA-based testing, conformance between the implementation and the system (architectural) specification is validated. SA-based regression testing methods enable reuse of earlier saved results to test if a modified implementation/architecture conforms to the evolved software architecture. The
approach we consider both top-down and bottom-up evolution - that is, does a slightly modified implementation conform to the initial architecture? or does the (modified) implementation conform an evolved architecture? SA-based model-checking is a very important technique to validate the architectural specification conformance to certain requirements. The course will describe our approach for SA-based model-checking and the tool Charmy developed at the University of L’Aquila. To conclude, the course will show how SA-based model-checking and testing may be combined together in a reasonable analysis process in order to validate SA specifications with respect to requirements and source code with respect to the SA specification.
Programa:
If we consider that the course is organized in five classes of three hours, we can imagine a rough distribution of the contents as follows:
Lecture 1: Introduction to Software Architecture
- What is an SA
- Concepts of Components, Connectors, interfaces
- An Example
Lecture 2: Software Architecture-based Testing
- Testing basics
- Specification-based testing basics
- SA-based Testing
- An Example
Lecture 3: Software Architecture-based Regression Testing
- Why Regression Testing
- Regression Testing Techniques
- Regression Testing at the architectural level
Lecture 4: Software Architecture-based Model Checking
- Model-Checking basics
- Model-checking at the SA level
- The Charmy approach and tool
Lecture 5: Software Architecture-based Model Checking driven Testing
- Model-checking vs. testing
- Combining pros
- Using Model checking for generating test sequences
- The TeStor approach and tool
Requisitos
This course does not impose any specific prerequisite. Needless to say, a general idea of component-based systems and software architecture would allow the attendees to better understand the course.
Bibliografía
Here an incomplete list of papers used for my lectures. A more complete
and precise biblio will be provided on the course web site
www.di.univaq.it/muccini/ECI05
- D. Perry and A.L. Wolf. Foundations for the Study of Software
Architecture.
ACM SIGSOFT Software Engineerings Notes, vol. 17, n. 4, pp. 40-52,
October 1992
- D. Garlan and M. Shaw. An Introduction to Software Architecture. World
Scientific Publishing Company, New Jersey, 1993
- H. Muccini. Software Architecture for Testing, Coordination and Views
Model Checking. Ph.D. Thesis, year 2002
- H. Muccini, A. Bertolino, and P. Inverardi. Using Software Architecture
for Code Testing. In IEEE Transactions on Software Engineering. Vol. 30,
Issue N. 3, March 2004, pp. 160-171.
- P. Inverardi, H. Muccini, and P. Pelliccione. Charmy: A framework for
Designing and Validating Architectural Specifications. Technical Report,
Dept. of Comp. Science, Univ. of L'Aquila, May 2005. Submitted for
publication. http://www.di.univaq.it/charmy
- A. Bucchiarone, H. Muccini, P.Pelliccione, and P.Pierini. Model-Checking
plus Testing: from Software Architecture Analysis to Code Testing. Proc.
International Testing Methodology worksho, LNCS vol. 3236, pp. 351 - 365
(2004), October 2004.
- Nenad Medvidovic and Richard N. Taylor. "Classification and Comparison
Framework for Software Architecture Description Languages." IEEE
Transactions on Software Engineering, vol. 26, no. 1 (January 2000).
Notas
Grupo | Apellido,Nombre | Nota (0..30) |
1 | Hara, Diego Gabriel | 30 |
1 | Sequeira, Alejandro Eugenio | 30 |
2 | Visillac, Martin | 24 |
2 | Oks, Marcelo | 24 |
3 | Zeano, Maria Virginia | 29 |
4 | Schapachnik, Fernando | 27.5 |
4 | Galeotti, Juan Pablo | 27.5 |
6 | Sarmiento, Nicolas Omar | 30 |
6 | Pavese, Esteban Jose | 30 |
6 | Bruzzoni, Carolina | 30 |
10 | Tarulla, Francisco | 26 |
12 | Wassermann, Demian | 28.5 |
12 | Rosner, Nicolas | 28.5 |
12 | Bourg, Lorena | 28.5 |
15 | Rodriguez, Pablo Sebastian | 27 |
15 | Santos, Marcelo Hugo | 27 |
18 | Guerrini, Maximiliano | 28 |
18 | Vaccaro, Luis | 28 |
|