Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ro-SC-tor Software Construction within Rotor Prof. Judith Bishop University of Pretoria South Africa Presented by Kathrin Berg.

Similar presentations


Presentation on theme: "Ro-SC-tor Software Construction within Rotor Prof. Judith Bishop University of Pretoria South Africa Presented by Kathrin Berg."— Presentation transcript:

1 Ro-SC-tor Software Construction within Rotor Prof. Judith Bishop University of Pretoria South Africa Presented by Kathrin Berg

2 Background Software construction recognizes the importance of choosing the right programming techniques to achieve acceptable levels of performance performance maintainability maintainability reusability reusability Someone involved in software construction would be an expert on Someone involved in software construction would be an expert on alternative constructs provided by programming languages, libraries and software systems alternative constructs provided by programming languages, libraries and software systems techniques which can be employed to render a huge system understandable techniques which can be employed to render a huge system understandable

3 Objectives of RoSCtor To raise the profile of Rotor as a product by tackling the documentation of Rotors components To raise the profile of Rotor as a product by tackling the documentation of Rotors components Outputs would include Outputs would include the documentation the documentation assessment of the inside construction of the system assessment of the inside construction of the system recommendations for new ports of Rotor recommendations for new ports of Rotor courseware courseware

4 Project Members Prof. Judith Bishop Prof. Judith Bishop Research Assistants (Polelo research group) Research Assistants (Polelo research group) John Müller John Müller Basil Worrall Basil Worrall Fourth year students at Fourth year students at University of Pretoria University of Pretoria University of Karlsruhe University of Karlsruhe

5 Project Detail Groups of students to Groups of students to study and report on the construction of individual components, and develop documentation online study and report on the construction of individual components, and develop documentation online Understanding and documenting a large system would be a considerable challenge Understanding and documenting a large system would be a considerable challenge To ease the task of tackling Rotor, students would be exposed to other, better known systems To ease the task of tackling Rotor, students would be exposed to other, better known systems our own Views system (written under a Rotor-RFP grant) our own Views system (written under a Rotor-RFP grant)

6 Courses (1) The research part of this project was based on two new courses which have been set up at the universities of Pretoria (South Africa) and Karlsruhe (Germany). The research part of this project was based on two new courses which have been set up at the universities of Pretoria (South Africa) and Karlsruhe (Germany). Pretoria: SWC780 Software Construction for fourth year computer scientists and computer engineers from Feb- May and Aug-Nov 2004 Pretoria: SWC780 Software Construction for fourth year computer scientists and computer engineers from Feb- May and Aug-Nov 2004 Karlsruhe: IRA310 Software Construction in the.NET Environment for third and fourth year computer scientists from May-July 2004 Karlsruhe: IRA310 Software Construction in the.NET Environment for third and fourth year computer scientists from May-July 2004

7 Courses (2) The following is an outline of the course: The following is an outline of the course: Object representation and behaviour – introducing C# Object representation and behaviour – introducing C# Type systems – advanced issues and examples from Eiffel, Python, Skala and others Type systems – advanced issues and examples from Eiffel, Python, Skala and others Multilingual programming – introducing the.NET framework and its architecture Multilingual programming – introducing the.NET framework and its architecture The shared source CLI initiative and Rotor The shared source CLI initiative and Rotor Linking components – using XML in Views and web services Linking components – using XML in Views and web services Issues of security – assemblies and memory management Issues of security – assemblies and memory management Types from types – extension, specialization, generics, metadata and reflection Types from types – extension, specialization, generics, metadata and reflection Libraries and how to control them – back to Java Libraries and how to control them – back to Java Documenting large systems – use of Doxygen Documenting large systems – use of Doxygen Case studies – inside Views and Rotor Case studies – inside Views and Rotor

8 Sample Assignments Create sample applications using Views on Rotor Create sample applications using Views on Rotor Document Views and parts of Rotor Document Views and parts of Rotor Refactor existing systems using aspect- orientation Refactor existing systems using aspect- orientation Implement generics in a sample application Implement generics in a sample application

9 Student Results I have learnt that developers need to document their choices (i.e. the concepts, constructs and structures) I have learnt that developers need to document their choices (i.e. the concepts, constructs and structures) I have gained knowledge of the.NET platform and its libraries and have analysed the use of assemblies, metadata and reflection, especially with multiprogramming in the.NET environment I have gained knowledge of the.NET platform and its libraries and have analysed the use of assemblies, metadata and reflection, especially with multiprogramming in the.NET environment During this project I was introduced to a whole new programming paradigm, which opened my eyes to the existence of the possibility of implementing programming solutions differently and more efficiently During this project I was introduced to a whole new programming paradigm, which opened my eyes to the existence of the possibility of implementing programming solutions differently and more efficiently I have been introduced to concepts such as generics for the first time I have been introduced to concepts such as generics for the first time

10 Emerging Interest in Aspects Emerged from looking at large systems and documenting them Emerged from looking at large systems and documenting them Aspects would have helped! Aspects would have helped! Students wrote programs using Aspect systems written for C# (not Java) Students wrote programs using Aspect systems written for C# (not Java) investigated several C# AOP systems, - many did not work investigated several C# AOP systems, - many did not work attribute plug for VS was successful attribute plug for VS was successful best system was EOS from U. Virginia best system was EOS from U. Virginia

11 Student Comments I liked hearing about many new technologies I liked hearing about many new technologies Having guest lecturers such as Damien Watkins is great Having guest lecturers such as Damien Watkins is great We should have more practical courses like this We should have more practical courses like this It was interesting to learn about aspects and generics It was interesting to learn about aspects and generics I liked learning about.NET in an academic setting with a critical view on the system and design choices I liked learning about.NET in an academic setting with a critical view on the system and design choices

12 Collaboration Walter Tichy (University of Karlsruhe) initiated the course. It was Walter Tichy (University of Karlsruhe) initiated the course. It was the first.NET course at that university the first.NET course at that university the first new non-Java course for a while the first new non-Java course for a while Damien Watkins (Microsoft Research, Cambridge) gave guest lectures Damien Watkins (Microsoft Research, Cambridge) gave guest lectures Bertrand Meyer (ETH Zürich) spoke on his Eiffel for.NET project Bertrand Meyer (ETH Zürich) spoke on his Eiffel for.NET project Nigel Horspool (University of Victoria, Canada) who wrote the Views system and co-authored the C# Concisely book, participated on a consultative basis Nigel Horspool (University of Victoria, Canada) who wrote the Views system and co-authored the C# Concisely book, participated on a consultative basis

13 Outcomes (1) Courses Courses 3 Software Construction courses presented at the 2 universities 3 Software Construction courses presented at the 2 universities Students Students 80 students used and examined Rotor 80 students used and examined Rotor Views Views partially documented using documentation tools available partially documented using documentation tools available Rotor Rotor considerable experience, but less of the documentation considerable experience, but less of the documentation

14 Outcomes (2) - Software A methodology for retargeting APIs A methodology for retargeting APIs Rewrote Views as a front and back end – Views/Qt Rewrote Views as a front and back end – Views/Qt Retargetted the backend to Rotor Retargetted the backend to Rotor Project completed, being extended for other APIs Project completed, being extended for other APIs A port of Views/Qt to Linux - student project A port of Views/Qt to Linux - student project Based on Mono loaded on SourceForge Based on Mono loaded on SourceForge Project completed, needs packaging and updating Project completed, needs packaging and updating A new reflective system A new reflective system Mirrors system applies reflection to create a dynamic version of Views on.NET 2.0 Mirrors system applies reflection to create a dynamic version of Views on.NET 2.0

15 Outcomes (3) - Mirrors Shines! Developed by David-John Miller (third year student, Polelo research assistant) Developed by David-John Miller (third year student, Polelo research assistant) Came 2 nd in the Microsoft South Africa Developer Competition on.NET 2.0 Came 2 nd in the Microsoft South Africa Developer Competition on.NET 2.0

16 Outcomes (4) - Papers Judith Bishop and Basil Worrall, Towards platform interoperability: retargeting a GUI library on.NET. Proc. 3rd Conference on.NET Technologies, pp. 23-33, Plzen, Czech, May 2005 Judith Bishop and Basil Worrall, Towards platform interoperability: retargeting a GUI library on.NET. Proc. 3rd Conference on.NET Technologies, pp. 23-33, Plzen, Czech, May 2005 Judith Bishop, Nigel Horspool and Basil Worrall, Experience in integrating Java with C# and.NET, Concurrency and Computation: Practice and Experience, 17 pp. 663-680, June 2005 Judith Bishop, Nigel Horspool and Basil Worrall, Experience in integrating Java with C# and.NET, Concurrency and Computation: Practice and Experience, 17 pp. 663-680, June 2005 Judith Bishop and Nigel Horspool, Developing Principles of GUI Programming Using Views. Proc. of the 35th SIGCSE Technical Symposium on Computer science education, pp. 373-377, Norfolk, USA, March 2004. Judith Bishop and Nigel Horspool, Developing Principles of GUI Programming Using Views. Proc. of the 35th SIGCSE Technical Symposium on Computer science education, pp. 373-377, Norfolk, USA, March 2004.

17 Conclusions RoSCtor stirred up interest in the use of Rotor (and.NET) RoSCtor stirred up interest in the use of Rotor (and.NET) More software and paper outcomes than were anticipated during the year of operation More software and paper outcomes than were anticipated during the year of operation Not as much documentation as aimed for Not as much documentation as aimed for Future Future Retargetting projects continuing Retargetting projects continuing Courses being packaged for re-use Courses being packaged for re-use http://polelo.cs.up.ac.za/rosctor/


Download ppt "Ro-SC-tor Software Construction within Rotor Prof. Judith Bishop University of Pretoria South Africa Presented by Kathrin Berg."

Similar presentations


Ads by Google