Project-based Teaching for Model-Driven Engineering - CiteSeerX

4 downloads 3793 Views 92KB Size Report
biology and also computer science) with different levels in programming. The ... Further to the training course, we supervise our students working on projects ...
Project-based Teaching for Model-Driven Engineering Mireille Blay–Fornarino University of Nice Sophia – Antipolis Cnrs, I3s Laboratory, Rainbow team Sophia Antipolis, France [email protected]

Abstract. For many years, I have been teaching meta-programming, software modeling and more recently model-driven engineering (MDE). Such innovative concepts and environments are not straightforward to understand for students. In this short paper, I list a few issues I met and I propose a new project-based approach to teach meta-modeling paradigms.

1

Introduction

Few years ago, I started teaching the concepts of introspection and reflexivity referring to languages such as: Smalltalk, Clos, etc. Such concepts require a high level of abstraction to understand them and it is not easy for students. Today, for programming distributed applications, technical features such as security and persistency are mandatory. In this context the use of introspection and reflexivity is making common sense for expressing and implementing such features. As a consequence, today, we are no longer teaching meta-programming the academic way. We learn such concepts while modeling real applications. I teach software modeling to students from different horizons (psychology, biology and also computer science) with different levels in programming. The translation of their knowledge into models is unusual and unfamiliar to them. We noticed that with real case studies and examples it is easier for our students to learn the concepts of modeling. Problem-based learning is then an attractive way to teach modeling to beginners. Using real cases for teaching facilitates the learning. How to integrate such a learning approach while teaching model-driven development in a few hours to post-graduate students? That is the purpose of this paper. For three years, I have been responsible of a model-driven engineering training course. With my colleagues we feel this course is both exciting and difficult to understand for our students. The issues we are facing are explained in section 2. Further to the training course, we supervise our students working on projects where they apply the model-driven paradigms such as orchestration meta-modeling and transformation [1]. As soon as our students start working on concrete applications, these meta-modeling paradigms are becoming more natural for them.

Based on these facts, we decided to reverse the way we teach model-driven engineering to our computer science students. The project is now integrated to the course. This paper aims to present this new teaching approach (cf. section 3). Since this is still experimental, we expect feedbacks from the workshop in order to improve our course.

2

Teaching experience feedbacks in MDE

About thirty postgraduate students in software engineering in our school of NiceSophia Antipolis are attending the ”model driven engineering ” class. They all have 2 years experience in modeling with UML. They study different specialities such as embedded systems, Human-computer interaction, software architectures, Information Systems, etc. Last year, the course was divided into three parts: (i) formal methods (coq), (ii) tests and (iii) MDE. The MDE part was composed of four sessions of four hours each, and it was including: (i) MDE introduction, (ii) Meta-UML and profiles and training with magicDraw UML (iii) Eclipse meta-modeling environment: lesson and practice (iv) Patterns for e-business1 . Thanks to their background in UML, professors considered that students have got all the necessary knowledge to attend the MDE class. Last year, the training course has been evaluated by students and we got the following results: – about 60% of the students were interested by the class and understood the interest of this course in their study program; – the course was considered as too much theoretical, and not enough practical; – about 60% of the students thought they lacked some knowledge to understand the class. Then, it was obvious that MDE course was too short. Most of the time was spent (i) introducing the examples and (ii) explaining the eclipse EMF environment. The time allocated to really teach the concepts of meta-modeling was very short. Understanding the case study and its application domain, and learning meta-modeling tools are two unavoidable and time consuming pre-requisites before doing any real meta-modeling[2]. As a consequence, professors were forced to reduce the scope of the training. As a conclusion, we need to make the course longer and to spend less time introducing the examples.

3

Proposal

For the coming year, we decided to setup a new MDE training course taking into account the lessons learnt from our past experiences. Upon completion of the MDE course the students will be able to 1

http://www-128.ibm.com/developerworks/patterns/

– – – – –

identify the basic principles, standards and specifications of MDA, choose the enabling technologies for Model Driven Development, build meta-models and models conformed to these meta-models, understand the model transformation process, evaluate the benefits and limitations of the Model Driven Development.

The course is now composed of: (i) first a project (cf. 3.1) and (ii) then eight lessons of four hours each for MDE (cf. 3.2). Each topic introduced during a lesson has to be exploited by the students during their project development. The expected workload for one student is about 50 hours (see Table 1). So in order to deal with theory and practice, each lesson is composed of lectures, discussion and developments driven by the projects. At least one hour is devoted to work on the project reusing the concepts introduced during the lecture. Such lesson structure allows our students to use and apply the concepts on their projects, right away after the lecture. All the work with the professor is done within a four-hour lesson. Students have to deepen their knowledge and continue their development during the rest of the week. This approach should accelerate the learning for students and allow professors to steer the course.

Lectures (3 hours per week × 7 weeks) Projects as a case study (1 hour per week × 7 weeks) Project Final preparation for the presentation Written Examination Final presentation (all the students participate to all the presentations) Total

hours 21 7 14 4 2 4 52

Table 1. course work breakdown structure

More information about the training course can be found on the training course website2 . 3.1

Projects

In order to make this class more effective and attractive to our students, we consider now a project-based approach. We split our students into a few groups of 2-4 students. We propose several complementary projects that we assign to each group. Each group is supervised by a professor who plays the role of a customer. Each group analyzes the requirements of its project and proposes a simplified sub-problem in order to avoid an overly complex task. Such simplifications require a thorough understanding of the model and, more importantly, of the 2

http://www.polytech.unice.fr/ blay/ENSEIGNEMENT/IDM/index.html, in French for the present.

intentions behind the model. This task is the first step of the project. We split the project into several steps compatible with the lectures. For each step, the students produce artifacts. Then each group develops some parts of a solution, writes a report and a web-site and presents its work. During the last session, all students present their projects and share their experiences with each others. As we noticed that some students learn more when studying artifacts and mechanisms of existing models and meta-model, some projects will be based on modifications, extensions and use of existing meta-models and/or profiles. For instance, some projects deal with profiles and meta-models (i) for Role-Based Access Control (RBAC) [3], (ii) for contract definition [4, 5], etc. Creative aspects provide high motivation for other students. So, we decided to propose exploratory projects where students should decide which precise aspects they are interested in. Several groups can work on such a project, but a clear separation of the subjects will be the first step of the work. For instance, one project is about the definition of artifacts needed to develop Information Systems specially designed for academic institutions. It aims to retrieve and then broadcast scholar information (events, timetable) to students and teachers. Information is accessed via different physical devices like public plasma screen or private Personal Digital Assistant (Pda)3 . Different subparts can be studied: administration and access control, information composition based on a SOA [6] or data-flow approach[7], users profile management[8], embedded systems using SysML[9] or Marte[10], etc. In future, the Repository for MDD (ReMoDD) project will be a very interesting source to select and delimitate nature and size of student projects, and to evaluate student work [11]. 3.2

Lessons

Each lesson is including one lecture, practice and discussions. Students should refer to their project when asking the teacher to clarify specific points addressed during the lecture. The eight lessons and a few topics addressed are the followings: 1. Introduction to MDE and project presentation; 2. Meta-UML and UML Profiles; – Do we need a UML profile or a meta-model? – Does a profile or meta-model exist that we could reuse ? 3. Meta-modeling with Eclipse and manipulation; – Why and how to define an Ecore meta-model ? – Can we define useful models conforming to our meta-model? Do we express enough constraints to be helpful to our users? – What are the advantages and drawbacks of reusing an existing metamodel? 3

More information and use cases at http://anubis.polytech.unice.fr/jSeduite

4.

5.

6.

7.

8. 3.3

– What tools are interesting when defining models and meta-models for our project? Transformation principles followed by manipulation of Kermeta framework; – What transformations are appropriate for our project? – Can we reuse existing transformations? – What are the advantages of model transformation for our users? Software factory and model variability; – Does our problem address product line domain? – Could we improve our meta-model quality introducing variability ? Business MDE: a real case study and environment presented by an industrial – What would be the impact of using such an environment to develop our project? – What are the benefits of model-driven approach for our project? How to sell it to a client? ”Modeling solution for complex software systems”; – Do these new technologies apply to solve some parts of our problem? – Do we lack some issues when solving the project? Final presentation. Evaluation

It’s not so easy to evaluate students in such a domain, as students have a lot to learn and it’s difficult to know exactly what they have really understood. Also the evaluation of this course is based on a mixed evaluation including report, coding (models and transformations), web-site to share their work, presentation and traditional written examination. If some concepts are not used in the context of the project, we are expecting the students to explain why in their report. The main purpose for that is to be sure that the concept has been understood. If this year we succeed with this new approach of the MDE course, then next year this approach will be extended. An additional module will be created for students who are volunteer to explore other advanced MDE paradigms and a more integrated project will be developed.

4

Conclusion

From past experiences, we know that our former students use and propagate modeling paradigms into the industrie. However, model-driven engineering is more difficult to accept as a mature method for students as long as they don’t practice as a method of developing software systems. We believe that projectbased teaching will be a way to show benefits of meta-modeling. We claim also that such experiences could lead to tools improvement. However it’s still a challenge to teach MDE technical basics with such time constraint.

References 1. Mosser, S., Blay-Fornarino, M., Riveill, M.: Web Services Orchestration Evolution : A Merge Process For Behavioral Evolution. In: 2nd European Conference on Software Architecture (ECSA’08), Paphos, Cyprus, Springer LNCS (September 2008) 2. Ober, I.: Teaching MDA: From Pyramids to Sand Clocks. In Staron, M., ed.: the 3rd Educators Symposium at MODELS 2007, Nashville, USA, 03/10/07-03/10/07, IT University of Gteborg (octobre 2007) 34–39 3. Brucker, A.D., Doser, J., Wolff, B.: A model transformation semantics and analysis methodology for SecureUML. In Nierstrasz, O., Whittle, J., Harel, D., Reggio, G., eds.: MoDELS 2006: Model Driven Engineering Languages and Systems. Number 4199 in Lecture Notes in Computer Science. Springer-Verlag, Genova (2006) 306– 320 An extended version of this paper is available as ETH Technical Report, no. 524. 4. Weis, T., Becker, C., Geihs, K., Plouzeau, N.: A uml meta-model for contract aware components. In: UML 2001 - The Unified Modeling Language, Modeling Languages, Concepts, and Tools, 4th International Conference, Toronto, Canada, October 1-5, 2001, Proceedings. Volume 2185 of Lecture Notes in Computer Science., Springer (2001) 442–456 5. Collet, P., Ozanne, A., Rivierre, N.: On contracting different behavioral properties in component-based systems. In: ACM Symposium on Applied Computing (SAC), Dijon, France, April 23-27. (2006) 6. MacKenzie, M., Laskey, K., McCabe, F., Brown, P., Metz, R.: Reference Model for Service Oriented Architecture 1.0. Technical Report wd-soa-rm-cd1, OASIS (February 2006) 7. Bizer, C., Cyganiak, R., Gauss, T.: The rdf book mashup: From web apis to a web of data. In Auer, S., Bizer, C., Heath, T., Grimnes, G.A., eds.: SFSW. Volume 248 of CEUR Workshop Proceedings., CEUR-WS.org (2007) 8. Joffroy, C., Pinna-D´ery, A.M., Renevier, P., Riveill, M.: Architecture model for personalizing interactive service-oriented application. In: 11th IASTED International Conference on Software Engineering and Applications (SEA’07), Cambridge, Massachusetts, USA, IASTED, ACTA Press (November 2007) 379–384 9. OMG: Omg systems modeling language. http://www.omgsysml.org/ (Spetember 2007) 10. Faugere, M., Bourbeau, T., de Simone, R., Gerard, S.: Marte: Also an uml profile for modeling aadl applications. In: ICECCS ’07: Proceedings of the 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007), Washington, DC, USA, IEEE Computer Society (2007) 359–364 11. France, R.B., Bieman, J.M., Cheng, B.H.C.: Repository for model driven development (remodd). In K¨ uhne, T., ed.: MoDELS Workshops. Volume 4364 of Lecture Notes in Computer Science., Springer (2006) 311–317

Suggest Documents