Gaudi Software Factory Ralph Back Ivan Porres
Programming Methods Group
Research group at Åbo Akademi/CS, started at 1984
Research on programming/software technology– Logical foundations of software construction– New programming paradigms– Software construction tools– Software process– Case studies
People
Professors– Ralph Back (ÅA/KTF, leader)– Johan Lilius (ÅA/KTF)– Kaisa Sere (ÅA/KTF)– Joakim von Wright (ÅA/MNF)
Researchers, Post docs, Ph.D. students, M.Sc. Students, summer interns
35 - 60 members in research group
TUCS laboratories involved
Distributed Systems Lab – (Sere) ÅA-TY
Embedded Systems Lab – (Lilius) ÅA-TY
Learning and Reasoning Lab – (von Wright) ÅA-TY
Software Construction Lab – (Back, Porres) ÅA
Special Status
Group selected by Academy of Finland as a Center of Excellence in Research2002 - 2007
Topic: Formal Methods in Programming Two other CoE in CS:
– Helsinki University of Technology (neural networks)
– University of Helsinki (data mining)
Gaudi Software Factory
Part of Programming Methods Group research
Organized as an software production factory
Financed by Socos project, Sprout project, CoE funding
Managed and run by Software Construction Lab
Objective for Gaudi
Develop and test in practice new software construction methods– Flexible software process– Efficient (easy to learn)– Produce reliable software– Applicable in Academy / Industry– Support own software development
Summer 2001: Pilot Factory
A group of 6 programmers (4 ÅA students, 2 HUT students)
One product: an outlining editor Using XP as the main software process,
SFI as architecture Good and encouraging results from this
project
Spanish architect, one of the most creative architects in modern times. His style is often described as a blend of neo-Gothic and Art Nouveau, but it also has elements of Surrealism and Cubism.
Gaudí attended the School of Architecture in Barcelona (1874-1878), where he spent his life. Under the patronage of industrialist Eusebio Güell, he completed many important commissions, including the Palacio Güell (1885-1889) and the Park Güell (1900-1914). In 1883 Gaudí was appointed official architect of the Church of the Sagrada Familia, which, although still unfinished at his death, is acknowledged as his masterpiece. Its lofty semi-Cubist towers, with mosaic-covered finials, dominate the skyline of Barcelona.
Antoni Gaudí i Cornet 1852-1926
Product Development
The main activity is product development The products should be constructed following
some specific practices– Extreme Programming, SFI, etc…
You are assisted / supervised by a coach There is a customer that has the last word on
the product
Summer 2002: 3 Products Derivation Editor
– Linus Bernas, Johanes Eriksson, Peter Eriksson, Miika Hakala
– Coach: Viorel Preoteasa– Customer: Ralph Back
Software Construction Workbench– Tomas Czarnecki, Juha Javanainen, Jarkko Lahti,Mari
Melander– Coach: Luka Milovanov– Customer: Ralph Back
UML Modeler– Simon Dahlbacka, Markus Eriksson, Peter Ljunqvist,
Petri Manila– Coach & Customer : Ivan Porres
Derivation Editor
An editor to perform mathematical derivations– Shows a proof as an outline– Checks the correctness of derivations – Suggests applicable rules– Publish work book
Software Construction Workbench A tool to model and develop object-
oriented software using Stepwise Feature Introduction methodology– Project Management– Release Management– Layer Management– Code Generation
UML Modeler An editor for UML models
– Class, Statecharts, Sequence and Activity Diagrams
– Connection with the SCW
Pair Programming
Two brains better than one Self discipline Free communication
– Ask and answer questions– Make and change pairs
Shared code ownership
Python
A cool object-oriented programming language– It is easy to learn– You become productive in a short time– Large library of modules
• XML • Qt graphical user interface
Stepwise Feature Introduction
Software is constructed in thin layers Each layer
– adds a new feature– can be thoroughly tested and verified
independently of the other layers– is a working product
Objective: Maximize flexibility and reliability
Schedule
Tutorials: before 15th of May– Preparation: short tutorials and training
Production: 15.5-14.9– 9h to 17h
Tutorials 14-16h Python: 16.4 room 3223 and 17.4 room 4142 Qt: 19.4 room 4142 Extreme Programming: 23.4 Unit Testing: 24.4 Design Patterns: 26.4 UML: 29.4 UML Tool development: 29.4 CVS: 3.5 Stepwise Feature Introduction 7.5
Not covered: OO, Linux (KDE, xemacs)
Other Mailing list
You need an ÅA UNIX Account – Datacentralen (www.abo.fi/dc)
Keys – Christel Engblom (3rd floor)– You need two keys (TUCS and 4144)