240 likes | 386 Views
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
E N D
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
Antoni Gaudí i Cornet 1852-1926 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.
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
Repository • All source code will be managed in a central repository by CVS • Team work • Safety net
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)
Meetings Ralph Facilities Meetings & Tutorials Lab II Ivan Lab I Coffe Luka Viorel
Other • Mailing list • gaudi@abo.fi • You need an ÅA UNIX Account • Datacentralen (www.abo.fi/dc) • Keys • Christel Engblom (3rd floor) • You need two keys (TUCS and 4144)