12015-09-09 These materials are prepared only for the students enrolled in the course Distributed...

44
1 22-03-27 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science and Engineering, University of Mälardalen, Västerås, Sweden and at the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia (year 2009/2010). For all other purposes, authors’ written permission is needed! The purpose of these materials is to help students in better understanding of lectures in DSD and not their replacement! NOTICE!

Transcript of 12015-09-09 These materials are prepared only for the students enrolled in the course Distributed...

123-04-19

• These materials are prepared only for the students enrolled in

the course Distributed Software Development (DSD) at the

Department of Computer Science and Engineering,

University of Mälardalen, Västerås, Sweden and at the Faculty

of Electrical Engineering and Computing, University of Zagreb,

Croatia (year 2009/2010).

• For all other purposes, authors’ written permission is needed!

• The purpose of these materials is to help students in better

understanding of lectures in DSD and not their replacement!

NOTICE!

223-04-19

Distributed Software Development

323-04-19

Progress Component Model

ProCom@MdH

Final Presentation

423-04-19

Next ½ hour..

• Project Definitions

• ProCom Requirements

• Final Demo

• Experiences and Challenges

• Project Statistics

523-04-19

Team Structure

623-04-19

723-04-19

Project Definitions

823-04-19

Procom@MdH?

• A model-driven code generation utility for the embedded system, modeled using ProCom model.

• Part of ongoing research in the University for the Progress project

• Developed at MdH

923-04-19

Why Procom Project?

• Non existence of the code generation utility for the embedded system modeled using ProCom model.

• Mapping the ProCom model to executable code.

1023-04-19

Procom Project Benefits?

• An integrated platform to design & develop embedded-systems in a common IDE

• Enables rapid application development

1123-04-19

Interaction with Progress-

IDE?Interaction with

Progress-IDE via XML files

Final Product?A Plug-in

integrated in Progress-IDE

1223-04-19

1323-04-19

ProgressIDE

1423-04-19

Generated XML File

1523-04-19

Refine XML Schema

1623-04-19

Parse XML & store tags

1723-04-19

Identify individual elements

1823-04-19

Identify dependencies

among components

1923-04-19

And then….

2023-04-19

Generate Java Code

2123-04-19

View Code

2223-04-19

Compile Code

2323-04-19

Execute Code

2423-04-19

Clean Code

2523-04-19

Requirements

2623-04-19

Fulfilled Requirements?

• XML Parsing• Identifying Mapping Rules• Code Generation• Code Compilation• Code Execution• Plug-in for Progress-IDE• Investigated Glue Code Generation

2723-04-19

Additional Requirements?

• XML Schema

Dropped Requirements?

• Compilation & Execution of Glue Code

2823-04-19

By: Edward V. Berard Image source: i.imgur.com/

2923-04-19

3023-04-19

A Sample ProCom Model

3123-04-19

Experiences and Challenges

Experiences and Challenges• Communication strategies

– In face-to-face meetings• Slow Conversation speed• Team members availability

– Online Meetings• Preferred text chat over voice

chat• More online meetings rather than face-to-face meetings

– Emphasis on use of latest communication technologies

3223-04-19

Experiences and Challenges

• Skype

• Google Groups

• Online meetings @ www.gotomeeting.com

3323-04-19

Experiences and Challenges

• Time Limitations– Because of exams and

assignments of other courses

• What we Like about the project– Team Work– Challenging Project– Opportunity to interact with knowledgeable

Supervisors and Professors

3423-04-19

Cultural Differences (and Similarities)

3523-04-19

Spiral SDLC Model

• Spiral helped incremental Product delivery• Customer feedback was taken after each delivery• Suggested changes were included in the next delivery• Continuous feedback ensured customer expected

product

3704/19/23

Development Methodology

Prototype1

Prototype2

Prototype3

Final Release

•Prototype1 : Code generation for PROSAVE Component

•Prototype 2: Refinement of Code generation logic

•Prototype 3: Code Generation for PROSYS and Progress IDE plug-in

•Final release: Code Execution Framework and glue code investigation

3823-04-19

Project Statistics

Effort Distribution

Piyush

Bilal

Priyadarshan

Parisa

Manzoor

Ifthikhar

Cumulative Team Efforts (approx): 1200 hours

SVN Statistics

Communication Statistics

• Team meetings: – Online Meetings: 6– Campus Meetings: 5

• Meetings with the Supervisor:– Online Meetings: 3– Campus Meetings: 3

• Informal team meetings: Countless

Future Development

• XML Schema Validation

• Support For Multiple Languages

• Class Diagram View Representation

• Reverse Engineering (Code -> ProCom)

• Improved Code Generation

4223-04-19

4323-04-19

ADIOS!!!