gaudi software factory ralph back ivan porres. programming methods group research group at Åbo...

24
Gaudi Software Factory Ralph Back Ivan Porres

Post on 20-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

eXtreme Programming

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)

Facilities

Viorel

Luka

Meetings &Tutorials

Lab I

Ralph

Ivan

Lab II

Meetings

Coffe

Other Mailing list

[email protected]

You need an ÅA UNIX Account – Datacentralen (www.abo.fi/dc)

Keys – Christel Engblom (3rd floor)– You need two keys (TUCS and 4144)