Summary of the classroom-based survey: questions and answers

This document presents the results of a questionnaire which was filled in by the students of the EPL-429 course at the University of Cyprus. The students attended the course titled 'Context-aware Pervasive Systems' which included lab assignments during which the students were guided to develop context-aware applications using the methodology and the middleware presented in classroom.

A subset of the students have also used an MDD-based approach for creating context plug-ins that they had previously developed manually (i.e., without the modeling tools).

Parts A and B were answered by all 12 students. Parts C and D were only answered by the 4 students who received hands-on experience with the MDD-based approach. For sections A and B, the results of these 4 students are listed inside parentheses (i.e., 'Yes 10 (3)' means that 10 students in total answered 'Yes', 3 of whom also used the MDD approach). This separation is important as the feedback from these students was evidently more credible regarding the comparison of the manual development approach versus the MDD-based approach.

1 Participants' information

2 General questions

QuestionYesPartiallyNo
A.1 - Was the concept of 'context aware' applications clear to you? 11 (4) 1 (0) 0 (0)
A.2 - Are the benefits of using the 'MUSIC Context Middleware' understandable to you? 9 (4) 3 (0) 0 (0)
A.3 - Are the following elements of the "MUSIC Context Middleware" clear to you?
- OSGi framework 10 (4) 2 (0) 0 (0)
- Context middleware 8 (4) 4 (0) 0 (0)
- Context plug-ins 9 (4) 3 (0) 0 (0)
- Model-driven Development tools 6 (3) 4 (1) 2 (0)
A.4 - Overall, if your job was to develop context-aware applications, would you use the MUSIC middleware? 5 (2) 6 (2) 1 (0)

3 Manual implementation of context plug-ins

Preparation
QuestionAnswers
HighMediumLow
B.1 - Quality of lecture material 3 (2) 9 (2) 0 (0)
B.2 - Quality of related tutorials 9 (4) 3 (0) 0 (0)
B.3 - Quality of additional preparation material (e.g. books, web-sites, etc) 5 (1) 5 (2) 2 (1)
B.4 - Difficulty to understand the following concepts
- Identify the relevant context types 0 (0) 5 (2) 7 (2)
- Design the architecture of the plug-in 2 (0) 7 (2) 3 (2)
- Define the MANIFEST file 0 (0) 7 (1) 5 (3)
- Define the service descriptor (XML) file 1 (0) 8 (2) 3 (2)
- Define the context model 4 (0) 7 (3) 1 (1)
- Define the code of the plug-in 0 (0) 8 (3) 4 (1)
- Package the plug-in in an OSGi bundle 3 (0) 5 (1) 4 (3)
B.5 - Most difficult concepts (concept + reason)
  • Context Model (2),
  • Plug-in code (1)
B.6 - Time for preparation (hours) Avg=22.8 (5.5), Med=20 (10), Min=1 (1), Max=48 (10)
B.7 - How much time was spent for implementation (hours)? 19.6 (16.0)
B.8 - Have you succeeded to realize the plug-in? Yes No
12 (4) 0 (0)
B.9 - How much time was required to understand the API (hours)? 3.5 (2.3)
B.10 - How complex was the implementation? High Medium Low
1 (0) 9 (2) 2 (2)
B.11 - Which steps have been the most difficult?
  • Understand and use the MUSIC API,
  • Define the plug-in code,
  • Install & run plug-in,
  • Manifest,
  • Context model,
  • Plug-in implementation,
  • Package & deploy
B.12 - How much help was required from the lecturer? Much Some Little
5 (2) 4 (0) 3 (2)
B.13 - For which steps was help required from the lecturer (step)?
  • Identify the relevant context types,
  • Design the context model (3),
  • Include needed libraries in plug-in,
  • Design Manifest (2),
  • Service descriptor,
  • Package plug-in,
  • Context model,
  • Plug-in code

4 Model-driven development of context plug-ins

QuestionAnswers
Preparation
HighMediumLow
C.1 - Quality of lecture material 6 (4) 6 (0) 0 (0)
C.2 - Quality of related tutorials 8 (4) 4 (0) 0 (0)
C.3 - Difficulty to understand the required concepts 1 (0) 7 (2) 3 (2)
C.4 - Additional preparation material (books, web, etc) Web
C.5 - Time for preparation (3.75)
Implementation
C.6 - How many hours were spent for implementation? 1 (1)
C.7 - Have you succeeded to realize the Context Plug-in? Yes Partially No
(4) (0) (0)
C.8 - How much time was required to understand the modeling concepts (hours)? (1.25)
C.9 - How complex was the implementation? High Medium Low
(0) (4) (0)
C.10 - Which steps have been the most difficult?
  • Understand the concepts,
  • Design the model (steep learning curve)
C.11 - How much help was required from the lecturer? Much Some None
(4) (0) (0)
C.12 - For which steps was help required from the lecturer? All

5 Manual versus MDD-based implementation

D.1 - Which development approach do you think is easier and why? D.2 - Which development approach do you prefer and why? D.3 - Would you apply the MDD approach if you had to develop another plug-in? D.4 - How could the manual implementation task be simplified? D.5 - How could the MDD approach be improved? D.6 - Pros and Cons of manual implementation:
Pros Cons
Freedom of coding Architectural (Platform) dependent
Easy and fast for experience programmers More time to develop
Simple Java code programming More time / More bugs
You have better control (of the code) More time consuming
You better understand what you are doing

D.7 - Pros and Cons of the MDD approach:
Pros Cons
Architectural independence Slow
Easy for newbies You do not always understand what is happening behind the model
Easier way to build your plug-in
Less bugs
Automation of certain functionalities
Time saving

Footnotes

1. For the students who did try the MDD approach, the time includes just the design of the UML model and the transformation to source code (additional steps required to implement missing pieces of code were ignored)