Proceedings of the 3 rd Educators Symposium at MODELS 2007

Size: px
Start display at page:

Download "Proceedings of the 3 rd Educators Symposium at MODELS 2007"

Transcription

1 Research Reports i Software Egieerig ad Maagemet Proceedigs of the 3 rd Educators Symposium at MODELS 2007 Miroslaw Staro (Ed.) Departmet of Applied IT

2

3 The 3 rd Educators Symposium of the 10 th ACM/IEEE Iteratioal Coferece o Model Drive Egieerig Laguages ad Systems Symposium Proceedigs Edited by: Miroslaw Staro Departmet of Applied Iformatio Techology IT UNIVERSITY OF GÖTEBORG GÖTEBORG UNIVERSITY ad CHALMERS UNIVERSITY OF TECHNOLOGY Göteborg, Swede 2007 ISSN:

4 Research reports i Software Egieerig ad Maagemet Report umber 2007:01 Series editor: Lars Pareto Copyright is retaied by authors.

5 Symposium chair Miroslaw Staro, IT Uiversity of Göteborg, Swede Program committee Magus Atosso, Ericsso, Swede Thomas Baar, EPFL, Switzerlad Robert Frace, Colorado State Uiversity, USA Holger Giese, Uiversity of Paderbor, Germay Cesar Gozalez-Perez, Verdeweek, Spai Rogardt Heldal, Chalmers Uiversity of Techology, Swede Oystei Heuge, Uiversity of Oslo, Norway Kai Koskimies, Techical Uiversity of Tampere, Filad Ludwik Kuziarz, Blekige Istitute of Techology, Swede Lars Pareto, IT Uiversity of Göteborg, Swede Pascal Roques, Valtech Traiig, Frace Michal Smialek, Warsaw Uiversity of Techology, Polad Jea Louis Sourrouille, INSA Lyo, Frace Perdita Steves, Uiversity of Ediburgh, UK Tarja Systa, Techical Uiversity of Tampere, Filad Daiel Varro, Budapest Uiversity of Techology, Hugary Frak Weil, Motorola, USA Paula Filho Wilso de Padua, UFMG, Brazil

6

7 Table of Cotets Preface 1 Ivited talk: Fightig the Formal is Futile Fallacy, Thomas Kuehe..3 Ivited talk: ReMODD i Educatio, Robert Frace.5 Ivited talk: Teachig Domai Specific Modelig, Lars Pareto 7 A Phased Highly-Iteractive Approach to Teachig UML-based Software Developmet, Egidio Astesiao, Maura Cerioli, Giaa Reggio, Filippo Ricca..9 Studets ca get excited about Formal Methods: a model-drive course o Petri-Nets, Metamodels ad Graph Grammars, Pieter Va Gorp, Has Schippers, Serge Demeyer, Dirk Jasses,..19 From Programmig to Modelig: Evolvig the Cotets of a Distributed Software Egieerig Course, Jordi Cabot, Fracisco Durá, Nathalie Moreo, Raúl Romero, Atoio Vallecillo..29 Teachig MDA: From Pyramids to Sad Clocks, Ileaa Ober 34

8

9 1 Preface Model-drive developmet approaches ad techologies for software-based systems, i which developmet is cetered roud the maipulatio of models, raise the level of abstractio ad thus improve our abilities to develop complex systems. A umber of approaches ad tools have bee proposed for the model-drive developmet (MDD) of software-based systems, for example UML, model-drive architecture (MDA), ad model-itegrated computig (MIC). Usig models as the primary artifacts i software egieerig shifts the focus of the existig software egieerig methods from code to models. As the code is the secodary artifact, techiques for estimatios, verificatio ad validatio techiques, etc. eed to be adjusted to take models as iputs. I parallel to trasitioig from code cetric to model drive developmet, a trasitio ca be observed from programmig orieted, computer sciece educatio, to model based software egieerig educatio. Together, these trasitios pose ew requiremets o kowledge goals for studets, amely placig more focus o the learig abstract thikig, desigig, ad creatig modelig laguages rather tha algorithms. The educators symposium at the MoDELS coferece, the premier coferece devoted to the topic of model-drive egieerig of software-based systems, is iteded as a forum where educators, researchers, practitioers, ad traiers ca meet to discuss model-drive developmet educatio from three perspectives: - modelig-related cotet of courses ad curricula: describig what should be taught to studets - pedagogical approaches, theories, ad practices: describig how the material should be taught to icrease studets learig process - use of course materials ad techology i the classroom: describig how textbooks, modelig tools, ad other techology ca be used to icrease the studets learig process The symposium cotais perspectives from idustry, academic faculty, ad studets. The leadig topic for the symposium i 2007 is trasitioig from the traditioal, programmig orieted, curricula/courses to moder, model based, software egieerig curricula/courses. A importat aspect is how modelig courses itegrate with studets career paths (e.g. how useful are modelig skills for the studets careers). The studets role is i the focus as it is the studets who should beefit from the symposium i a short ru. I the log ru, it is the idustry which has the opportuity to employ skilled professioals. I the heart of this we sterted a joit pael with the doctoral symposium where the researchers, doctoral studets, teachers, ad idustry professioals could discuss the issues how modelig should be taught. The best paper from the symposium will be published i the Joural of Iformatio ad Software Techology published by Elsevier as a promotio of the topics of modelig ad educatio o a broader forum. Miroslaw Staro Symposium chair

10 2

11 3 Fightig the Formal is Futile Fallacy Thomas Kühe Darmstadt Uiversity of Techology Darmstadt, Germay Abstract May studets have difficulties regardig formality as a tool that provides value i practice. The typical experiece i their studies is that that formal techiques stop beig applicable whe they would be most helpful. I this talk, I argue that it is importat to couteract the udesired impracticable image of formal techiques, ad the poit out how formal specificatio i modelig ca help to reshape how studets thik about requiremets egieerig ad system specificatios. 1. What Do You Mea, Formal? I geeral, a laguage or method is cosidered to be formal if it allows the applicatio of rigorous aalyses ad proofs, as kow from mathematics. This is i cotrast to empirical approaches which paraphrasig Edsger W. Dijkstra ca show the presece of errors, but ever their absece. I other words, formality replaces probability by certaity. Ideed, may early lessos o formal approaches feature small ad clea examples, promisig powerful ways to deal with the preseted problems. Whe tackled with maistream techologies, the same examples would lead to much less elegat descriptios whose iterpretatios allow much less results. 2. What Do You Mea, Futile? I theory, there is o differece betwee theory ad practice. But, i practice, there is. Ja L. A. va de Sepscheut All too soo, ufortuately, the above alluded to beauty ad utility of formality turs out to be a bait which does ot come without a hook. Later lessos o formal approaches typically have to ackowledge that their practicability is rather limited, or ways of dealig with practical issues are itroduced that destroy may ice properties, heavily questioig the effort ivolved i learig ad applyig formal approaches. Sadly, studets are ofte left with the coclusio that formality i practice is either ifeasible or does ot offer ay greater value tha more mudae alteratives which appear to be easier to grapple with. 3. What Do You Mea, Fallacy? I this talk, I argue that there are a umber of recet advaces i formal techiques i particular, regardig their tool support that make it possible to provide studets with a hads-o demostratio of the practical utility of formal techiques. I particular, I poit out how usig Alloy [1] adthe right examples, studets ca be made aware of how fuzzy oe s thikig ca be uless it is challeged by solid validatio. Such experieces are destied to reshape how studets thik about correctly egieerig requiremets ad thoroughly desigig systems. 4. What Do You Mea, Fightig? Educators have the resposibility for prevetig studets from fallig for the dark (iformal) side. They eed to demostrate uequivocally the advatages of puttig i the effort of learig ad applyig formal techiques. As much as possible, studets should be exposed to tools that preset them with results which they could ot have obtaied with maistream techologies. This way studets will see that the use of formal techiques has a value other tha passig a course. I tur, this may help studets to more easily overcome the challeges ivolved i learig ad appreciatig formal approaches. Refereces [1] D. Jackso. Software Abstractios: Logic, Laguage, ad Aalysis. The MIT Press, Cambridge, Mass., Apr

12 4

13 5 ReMODD i Educatio Robert Frace Colorado State Uiversity frace@cs.colostate.edu The problems that MDD researchers tackle are multifaceted ad iheretly complex. This has led to calls for a commuity-wide research ifrastructure that ot oly eables acccumulatio ad sharig of MDD research experiece ad results, but also provides modelig artifacts ad resources that ca be used to accelerate MDD research. The Repository for Model Drive Developmet (ReMoDD) will cotai artifacts whose use ca sigificatly improve MDD research productivity, improve idustrial MDD productivity, ad ehace the learig experiece of MDD studets. Artifacts will iclude detailed MDD case studies, examples of models reflectig good ad poor modelig practices, referece ad bechmark models that ca be used as the basis for comparig ad evaluatig MDD techiques, patters reflectig reusable modelig experiece, trasformatios that automate sigificat software developmet tasks, descriptios of modelig practices ad experiece, ad modelig exercises ad problems that ca be used to develop classroom assigmets ad projects. I this talk I will give a overview of ReMoDD goal ad preset the curret status of the project.

14 6

15 7 Teachig Domai Specific Modelig Lars Pareto IT Uiversity of Göteborg This talk describes experieces from teachig domai specific modelig to third year, udergraduate, software egieerig studets, by the use of problem based learig. Primary learig outcomes were a uderstadig of the differeces betwee model drive developmet ad model drive architecture, the ability to defie graphical domai specific laguages, ad the ability to defie traslatios from graphical laguages to embedded target platforms. The studets (which had recetly take courses i embedded systems programmig with C, ad model drive developmet with Ratioal Rose Realtime) were give two existig domai specific laguages (Labview / Robolab ad Microsoft VPS) ad a existig robotics platform (Parallax Stamp), ad were asked to implemet oe of these laguages for this platform usig the Microsoft DSL toolkit. Two project groups (of 5-6 studets each) took o ad completed this task, with graphically programmable robots as results. A third group realized the kowledge goals by a graphical aget-orieted programmig laguage, with a accompayig traslatio oto a aget platform (from a past course). The course was a five week itesive course; o other courses ruig i parallel. The orgaizatio cosisted of the followig scheduled activities: a 1h itroductio to the problem, a 1h tutorial o the Microsoft DSL toolkit, a weekly supervisio, ad a weekly workshop with group presetatios ad demos. The course was examied o the basis of a writte group report ad by oral examiatio; grades were idividual. The orgaizatio assumed that studets were familiar with UML, MDD, C ad Java, ad already accustomed to problem based learig. Notably, however, there were o kowledge prerequisites i traditioal programmig laguage related subjects such as compiler desig, programmig laguages, ad sematics. All groups used iterative software developmet, with iteratio legth set to oe week (except for the first which was two week). Three of the groups preseted workig laguage prototypes after the first iteratio, ad demostrable traslatios after the secod or third iteratios. All groups evetually produced demostrable laguage implemetatios, ad all participatig studets passed the course. The two participatig teachers, either of which had prior experiece with teachig domai specific modelig, were positively surprised about the ease of with which domai specific modelig ad the uderlyig techologies were leart, ad about how far the project groups reached withi the give time. I particular, three weeks for a demostrable laguage implemetatios was less time tha expected. Our coclusios are that, give that basic kowledge i programmig, UML, ad model drive developmet is i place, learig how to desig ad implemet a domai specific laguage with the DSL toolkit is relatively simple, ad well withi reach of udergraduate studets i software egieerig.

16 8

17 9 A Phased Highly-Iteractive Approach to Teachig UML-based Software Developmet Egidio Astesiao, Maura Cerioli ad Giaa Reggio DISI, Uiversità di Geova, Italy astes cerioli reggio@disi.uige.it Filippo Ricca Uità CINI at DISI, Geova, Italy filippo.ricca@disi.uige.it Abstract I a decade of Software Egieerig teachig at udergraduate level, we have always attributed great importace to software developmet course projects ad sice may years we adopt UML-based developmet methods. I the attempt at allowig the studets to experiece the mai software developmet activities i a way as realistic as possible, we have experimeted differet orgaizatioal choices. The paper presets the curret orgaizatio, based o a rather sophisticated phased developmet process, with a very high iteractio betwee teachers ad studets. Our approach is illustrated by the last academic year project ad its detailed assessmet by meas of a questioaire. Keywords: Udergraduate Software Egieerig course, multi-phase course project, MDA, UML-based developmet method, Project commuity forum, Questioaire. 1 Itroductio The udergraduate course i Software Egieerig at the Faculty of Scieces of the Uiversity of Geoa, that has just passed its first decade, has faced sice the begiig the well-kow problem of balacig theory ad practice. Sice the secod year UML has bee taught ad soo has assumed a cetral role, very much i the sese, advocated i [7], of a essetial coceptual ad factual tool for software developmet. However we have ot foud easy to achieve together the two goals that we have always cosidered of paramout importace: to allow the studets to experiece the mai activities of software developmet withi a rigorous framework ad to make that experiece as ear to real Laboratorio Iiziativa Software FINMECCANICA/ELSAG spa - CINI life developmet as possible, a problem also emphasized ad discussed i [19], that proposes a iterestig simulated project eviromet. Amog the problems ot easy to overcome, we sigle out the effort costrait, both o the studets ad the teachers side, ad the ature ad size of the project. But there are other, more specific, techical ad orgaizatioal difficulties, as we will discuss i the paper. I the years we have experimeted differet orgaizatioal choices, from restrictig the project to deal with a particular step i the developmet process - say a part of the desig or of the implemetatio - to requirig the studets to complete some steps withi a overall developmet maily provided ad illustrated by the teachers. After some usatisfactory attempts, we have foud a orgaizatio of the project activities that, together with beig more satisfactory, presets some distictive features that may be of iterest, we thik, to the Software Egieerig educatioal commuity. I essece the relevat features are the followig. A UML-based developmet method is followed throughout the project, which is split ito distict phases correspodig to developmet steps. But, most distictively, for each phase the studets are asked to perform the relative step o a small subset, the results are evaluated, ad the iput to the ext phase is a commo complete solutio of the previous oe provided by the teachers. Uderstadably, that process requires a high degree of iteractio betwee studets ad teachers ad the iteractio is aptly supported via a Project Commuity Forum. The proposed orgaizatio is still at a experimetal stage ad thus, to improve the course, we have foud useful to make a rather detailed assessmet, o the basis of a questioaire related to the last project ad to the well-structured UML-based method proposed. I the followig sectio, after a brief outlie of the cotext ad evolutio of our Software Egieer- 1

18 10 ig course, the curret orgaizatio is motivated ad described i detail. I the third sectio the subject ad some relevat data of the last project are give, both to make the presetatio cocrete ad the questioaire uderstadable. Fially, the fourth sectio is devoted to the metioed assessmet via a questioaire. 2 Teachig Theory ad Practice of Software Egieerig I this sectio, we discuss the experiece we gaied teachig a Software Egieerig course (3rd year B.Sc.) at the Uiversity of Geova (Italy). 2.1 Overview of the course This udergraduate course is plaed both to give a geeral view o Software Egieerig ad to provide a i-depth kowledge of UML. The course cosists of three parts: a overview o geeral topics i Software Egieerig (i the followig briefly SE), a detailed itroductio to UML, ad a project o the developmet of a software system based o the geeral cocepts o SE ad usig UML. The prerequisites are programmig (Java ad C), database kowledge ad GUIs implemetatio usig Java. Therefore, the studets are assumed to have a good kowledge of OO cocepts, i particular of the Java laguage. We maily base our lectures about SE o [14, 18], whereas for UML we use directly the official specificatio [12] ad we suggest (but ot require) our studets to read [9]. Both for the SE ad UML parts, the oly material distributed is a copy of the slides used for the lectures, providig a summary ad a guide to the idividual study of the suggested text-books. I order to pass the exam, the studets have to idepedetly pass two writte examiatios, i ay order, oe cocerig SE ad the other o UML. Moreover they have to develop a multi-phase course project i teams (team size = 3 ± 1). The fial grade is computed from the results of the idividual parts, accordigly to the formula 45% SE + 20% UML + 35% project. The expected workig load for the average studet is of 225 hours (see Table 1). Similarly to [6, 8] we cosider the project to be a promiet part, ad ideed more tha 1/3 of the studet time is devoted to it. We thik the project to be extremely istructive because for the first time the studets experiece the developmet of a realistic system, startig from the requiremets, ad puttig i practice the priciples of Software Egieerig. Moreover, thaks to the project, studets are expected to lear to work i teams ad to prepare a project pla icludig estimates of size ad effort, a schedule, resource allocatio, time maagemet, cofiguratio cotrol ad project risks. Several graduate studets, already workig i ICT compaies, reported that they were able to build o this experiece whe they had to face real idustrial software projects ad realized retrospectively how useful it had bee. hours Lectures (6 hours per week 12 weeks) 72 Study day by day 50 Project 82 Fial preparatio for the exam 17 Writte examiatios (2 hours each) 4 Total 225 Table 1. Workig load. The SE part of the course cosists of a itroductio to Software Egieerig fudametals, coverig both traditioal ad object-orieted techiques. Topics iclude requiremets egieerig, desig egieerig, software architectures, testig, maiteace, process models (pla-drive ad agile), reuse ad desig patters. We teach UML 2.0 startig from its basics ad itroducig the most importat diagrams (Use Case diagrams, Class diagrams, Sequece diagrams, State machie diagrams, Activity diagrams ad Composite Structure diagrams). Moreover, cosiderable importace is give to OCL [11]. The studets gai familiarity with each topic by small toy examples at first. The, durig the course, UML is applied to various modelig problems across a variety of applicatio domais. 2.2 Evolutio of the project modalities I our opiio, it is of paramout importace that a Software Egieerig course allows the studets to experiece the various activities performed durig the developmet of a software system, ad that the settig for these experieces be as realistic as possible. That requires to give careful cosideratio to the choice of the subject for the project, balacig the realism of the selected case study agaist the strict time costraits, which make the time spa ad the effort required by eve the easiest idustrial case ufeasible for a course project. Ideed, i our program o Computer Sciece, courses have up to 12 credits 1, but most of them have 1 I Italy each course has a umber of credits, each of them correspodig to 25 hours of the average studet, evaluatig the efforts required to take it. Thus, the most time cosumig course occupies a studet for up to 300 hours, that is less tha two ma moths. 2

19 11 just 6 credits (less tha oe ma moth of studet effort) ad that was the case with the course o Software Egieerig. I order to reduce the effort required without adoptig a toy case study for the project, we iitially chose to detail oly some of the activities of the developmet process. Thus, the first year the course was held we decided to restrict the project scope to the desig activity. The studets were required to produce a desig specificatio, usig UML, startig from the requiremet specificatio developed by the teachers for a software system supportig committee meetigs o lie. That orgaizatio was usatisfactory, sice the studets were uable to fully grasp the real effect of their desig choices, as they were ot implemetig their ow desig. Therefore, the followig year, we decided to iclude the implemetatio of the produced desig usig Java 2. I order to get the extra time for extedig the project to iclude the implemetatio phase, we asked for more credits assiged to our course (hece more studet time) ad we got 3 extra credits, goig from 6 (150 hours of studet time) to the curret 9 (225 hours). However, the result was eve less satisfactory, because to adhere to the time limits o the studet work 3 we had to abruptly stop the project before its completio, as we had uderestimated the effort required (we were apparetly overoptimistic o the programmig capabilities of our average studets). Thus, to be able to iclude all the phases from requiremets to code o a realistic project, ad at the same time complyig with the costrait o the studet effort, we decided to completely restructure the project. The orgaizatio discussed i the sequel is still adopted, ad we pla to keep it for the ear future at least, with small adjustmets made each year o the basis of the previous experieces. We split the developmet ito distict phases. At the ed of each phase the studets produce their artifacts restricted to a small part of the system. We collect them ad give our complete 4 realizatio back to the studets as a commo startig poit for the ext phase. For istace, studets are required to desig usig UML oly a few sigificat classes; the overall 2 For the academic year 2003/04 the project required to develop a software system for maagig the differet categories of questios for a quite complex quiz show (see eredita.html), where each questio is selected with a complex algorithm depedig o the state of the game of the differet players. 3 Beig the first time we were usig this modality, we were moitorig the time spet by a pilot group; thus, we were able to detect our error ad modify the rules accordigly. 4 The drawback is that this requires a lot of effort o the teacher side. class diagram to be implemeted is produced by the teachers. That orgaizatio has the followig beefits: for each task the studets lear how to perform it o a small subset of the whole system, with a effort comparable to that required by toy examples, ad so they save time, though they are workig o a realistic example, ad ca see the result of the task o the overall system eve if they are ot producig it themselves; the errors possibly itroduced i a phase do ot propagate to the ext oe, because the studets are startig each stage from the teacher release of the product for the previous oe; thus, errors i oe phase do ot prevet to successfully coclude the project; it is easier to compare the products (ad hece fairly grade the projects) of differet studets i each phase, because they are all startig from the same official release. O the other had, to guaratee a realistic settig for the project, we eed real case studies ot already developed, covicig cliets, ad a o trivial applicatio domai, to experiece the difficulties i uderstadig it. Therefore, we caot reuse a case study already developed i some book, or go for the -th versio of the bak accout or of the library case study. 5 I all the projects, oe of the authors (G. Reggio) played the role of the cliet because she had a real iterest i usig the software to be developed, thus providig a most covicig cliet. 2.3 Teachig a OO UML-based Software Developmet Method Before devisig the Software Egieerig course described so far, we had earlier experieces, prior to 2002, i teachig OO UML-based software developmet methods, like COMET [10] ad RUP [15], ad also i tutorig studets i their applicatio. The difficulties ecoutered durig such activities, led two of the authors to propose a ew Model-based Adaptively 5 Most recetly, our choices were: Academic year 2004/05: software for maagig a codomiium; i Italy this is a real complex problem where the flat owers are deeply ivolved. Academic year 2005/06: ReqGuru, software for writig use case specificatios, icludig a sceario editor (it has ow reached the level of alpha-test, as a Eclipse plug i. 3

20 12 Rigorous Software developmet method [1, 2, 3] (i the followig shortly MARS). MARS, which is modeldrive ad adopts UML, eforces a tighter ad more precise structurig of the artifacts for the differet phases of the software developmet process, tha required by most MDA compliat methods. That characteristic helps iexperieced developers to speed-up the process ad at the same time facilitates the cosistecy checks amog the various artifacts, ad hece their fial quality. Moreover, MARS strives to balace formalism ad easiess of use: the formal backgroud provides the foudatioal rigor but is kept hidde from the developer. From the very begiig, we adopted MARS i our Software Egieerig course ad foud it useful for our sample of rather iexperieced users. Ideed, we pla to apply it to real-size case studies i some projects with the idustry to see if our promisig results carry over to a populatio of well seasoed developers. I order to make the paper self-cotaied we briefly sketch MARS; further explaatios o the method ca be foud i [1, 2, 3]. MARS is a multiview, use-case drive ad UML-based software developmet process. The activities of MARS ad the artifacts to be produced are draw i Figure 1. The Cocrete Desig is based o the Abstract Desig that realizes the Requiremet Specificatio, which is built o the Problem Domai Model. I MARS the Requiremet Specificatio artifacts cosist of differet views of the System, icludig Data view, a descriptio of the data types used to provide a rigorous descriptio of such views. The Use Case view shows the mai ways to use the System (Use Cases), makig clear which actors take parts i them. Each Use case i the Use Case diagram is accompaied by a textual descriptio followig the format i [17]. The (abstract) Desig, the structure of which is illustrated i Figure 2, cosists of several views of the System: The Data View defies all data types used by the etities composig the System. The Static View defies the types (classes) of the etities composig the System. The Behavior View describes the behavior of a part of the System. The Cofiguratio View describes the ru-time structure/architecture of the System at some give poit/situatio durig its life. The Additioal View describes how some etities of the System behave to get some particular task doe. The Iterface View describes the GUIs associated to the etities realizig the iteractios with the users.!" # $ $ %!"&!' ( $ % )*+,-./.0*1/2 3145, * /.9*:+ 3145, *452 82/.9*:+ ;,5<0=< 6*452 Figure 2. (Abstract) Desig specificatio structure. Figure 1. Phases ad artifacts. All the UML models produced i the various phases of the developmet process followig MARS use oly a specific subset of UML (see [2]), that has a well defied sematics. Moreover, the expressios, the coditios ad the costraits i ay diagram are expressed by usig OCL, ad the actios usig the UML actio laguage. MARS is totally compliat with the MDA philosophy. Oe of the stregth of this method is that implemetatio is reduced to a almost mechaic (i.e., 4

21 13 ot creative) phase. The code ca be derived, almost etirely automatically (except for the GUIs) startig from the Cocrete desig. That phase is curretly performed by the studets by applyig a set of fixed trasformatio rules. 2.4 The Project: the Curret Format i Detail Curretly, the project of our Software Egieerig course cosists i the developmet of a software system i Java, focusig o the desig ad implemetatio parts. The studets start from a give requiremet specificatio, ad produce a workig system, followig the MARS method, ad usig Visual Paradigm 6 as a tool for writig the required UML models. The project is split i four phases ad for each phase the studets have to produce some deliverables by a fixed deadlie. After the deadlie, we collect, correct ad mark the studets artifacts ad the we propose a commo solutio to be used i the subsequet phases. For the whole project lifetime, each commo solutio is modified ad reviewed, to accommodate the feedback from the successive phases (requiremets ad desig iteratios). The four phases are the followig. Phase 1 The iput is a documet cotaiig some requiremets of the system. This documet icludes Use Cases, Use Case diagrams ad a UML class diagram represetig the domai model. Studets ispect it, highlightig possible ambiguities, icompleteess ad ay kid of requiremets problems. The deliverable cosists of the ispectio report ad of two Use Cases ot already icluded i the iput documet. Phase 2 The iput is our ew versio of the requiremets, revised takig ito accout the studet ispectios, ad completed. The studets develop parts of the Data view ad of the Static View ad moreover some Additioal Views (i.e., sequece diagrams) followig the MARS prescriptios. The deliverable is a UML model prepared usig Visual Paradigm. Phase 3 The iput is our UML model with the complete Data, Static ad (eough) Additioal Views. The studets defie the behavior of a few classes icluded i the Data ad Static Views, usig state machie diagrams for active classes (as for example boudaries or executors [2]). For the operatios of the passive classes (e.g., stores or 6 calculators [2]), istead, they ca choose amog UML method defiitios i the actio laguage, pre/post coditios i OCL or activity diagrams. The deliverable is a ew UML model. Phase 4 The iput is our complete model of the desig. The studets implemet it i Java ad the deliverable is a ruig system. I the implemetatio phase studets have several levels of freedom. They may choose their favorite IDE (betwee Eclipse ad Netbeas 5.5) ad their preferredjavaguitechology 7 (amog Swig, AWT, ad SWT). The use of GUI builders, such as, for example, Visual editor 8 ad Matisse 9, is suggested but ot imposed. We suggest to use Juit 10 to test the most complex classes of the System. Before startig the implemetatio phase we suggest some libraries that we cosider useful, but the studets ca freely decide whether to use them or others of their choice. We do ot give the studets material or lectures about these techological issues, but let them fid by themselves, maily lookig up documetatio, tutorial ad comparisos o the Iteret to make their ow idepedet choices. We thik that this freedom is importat so that the studets ca gai a better uderstadig ot oly o the existig techology, but also o the process of selflearig which will be of essece i their workig days. Moreover, discussig with their colleagues who made differet choices, ad comparig their differet results, they lear the impact of the choice of tools ad libraries o the buildig of a quality product. It is easy to uderstad that with such a orgaizatio it is crucial to keep i cotiuous cotact with the studets. Besides the lectures ad the questio&aswer time, where we ca meet face to face with the studets attedig the course 11, a big help to create a efficiet learig commuity is give to us by Moodle. Moodle 12, a free ope source software, is a course maagemet system desiged to help educators create o-lie learig commuities. It is ot oly useful as repository, but also very useful to maage complex projects. Ideed, the studets, durig the project developmet, ca solve their problems simply by postig o the Forum, where educators ad others studets are ofte available 24h/7d to aswer. Moreover, Moodle is 7 Studets are familiar with the uderlyig GUI techologies because they have atteded a course o GUI developmet We have a majority of studets workig part-time, who are able to participate i perso oly i a limited way. That required us to adjust the modalities of iteractio

22 14 also useful for full time worker-studets, as it allows for them to complete the project ad pass the exam without attedig the course. 3 Academic Year 2006/07 project: Easycoi I the year 2006/2007 the studets developed a simple program for catalogig collectios of cois. This program is amed EasyCoi 13. The two mai characteristics of EasyCoi are: it does ot use a uique catalogue to classify the cois, i.e., it is ot based o a specific catalogue; the visualizatio of the iformatio is flexible: the collector ca choose which iformatio visualize ad i which way (e.g., cards/sectios ad complete/reduced). The aim of EasyCoi is to help the collector maage both catalogues ad collectios of cois (the user may switch from a modality to the other). I the modality maage catalogues EasyCoi provides the followig features: export ad import data about sets of cois i a proprietary format based o XML.. The studets had to implemet the correspodig give desig, ad we suggested them to divide the work amog the members of the group i equal parts (followig a decompositio based o the patter modelview-cotroller), ad to use Juit to test some classes. The average size of the project is about LOCs (this value differ from group to group because it depeds maily o the umber/type of libraries used) per approximately 150/170 Java classes 14. As SQL Database we elected to use the freeware H2 Database Egie 15, that permits the embedded coectio mode (local coectios usig JDBC). Before startig the implemetatio phase we suggested (but ot required) to use the itext 16 library for implemetig the pdf exporter. Oe of the best implemetatios realized by the studets is dowloadable, togheter with the proposed desig, from (see a sapshot i Figure 3). isert, modify ad delete the various iformatio about catalogue etries (etities issuig cois, coi types, ad coi issues); search i the catalogue; sort accordigly to differet criteria; export i pdf, html ad rtf. All reports produced ca be viewed o the scree, prited ad saved. They respect the visualizatio format selected (i.e., cards/sectios or complete/reduced). export ad import of the catalogue i a proprietary format (based o XML). I the modality collectio of cois EasyCoi hadles differet ifo about cois (e.g., grade, price, locatio, collectios it belogs to). I that modality the mai fuctioalities of EasyCoi are: create /delete a collectio; isert, modify ad delete a coi i a collectio; search cois i the collectios; compute some statistics o collectios; 13 Agai, oe of the authors (G.R.) played the role of cliet ad user, sice she is a coi collector. Figure 3. EasyCoi. 14 It could appear urealistic that udergraduate studets at their first serious programmig experiece were able to produce 73 LOC per hour (i.e., /246) ad, ideed, the results of the questioaire show that they worked more hours tha expected. However, it is importat to ote that the LOCs icluded commets, blak lies ad a large amout of code automatically produced by a prolix GUIs geerator. Furthermore, Java is a verbose laguage. Therefore, though some adjustmet is defiitely i order here to meet the time-frame, it is ot as large as oe could expect from the sheer data

23 15 phase delivered passed % passed % drop-out % 0% % 0% % 5% 4 (1 deadlie) ,3% - 4 (2 deadlie) % - 4 (overall) % 33,3% Table 3. Studets that have delivered ad passed the project. 4 The questioaire After completig project, the studets were asked to fill-i a questioaire, i oe hour. The purpose was to aalyze the aswers to better uderstad their opiios abouttheprojectadthemars method both to calibrate/improve the ext editios of the course ad to gai further feedback o MARS. The questioaire cosists of two parts. First we ask geeral questios (erollmet year, mea of studet marks, experiece i the idustry if ay, etc.) to better characterize the studet populatio. The we move to specific questios regardig the developmet project (complexity, adequacy of the time allowed to complete the work, etc.) ad the MARS method (usefuless, complexity, applicability, etc.). Table 2 shows the 18 questios from the secod part of the questioaire. Studets used a Likert scale [13] from 1 (strogly agree) to 5 (strogly disagree) to aswer. Some free aswer questios cocluded the questioaire. The subjects aswerig the questioaire are the 34 studets that delivered the project, meetig the fial deadlie. Other 26 studets participated i the iitial phases of the project, but were ot able to complete it by the deadlie. They are give the choice betwee completig the project for a later deadlie ad gettig a lower rak (12 of them make use of it), or develop a ew project (ot orgaized i phases) durig the summer. Table 3 idicates the studets that delivered ad passed the project ad the drop-out rate. From the aalysis of the geeral questios we obtai the followig results. Oly 8.8% of the subjects worked full-time as programmer i the idustry, 11.7% worked part-time ad 79.5% had o workig experiece. At the questio What is the mea of your marks? 32.2% aswer medium, 47% high ad 20.8% very high. No oe has a low mea. At the questio How do you describe the typology of the code that you have writte util ow? 73.5% aswer oly small programs, 17.6% medium programs ad 8.9% large programs. Oly 26.5% of the studets declare to kow a developmet method differet from MARS ad 29.4% state to have applied before agile methods. 4.2 Results This sectio summarizes the mai results obtaied from our aalysis of the aswers i the secod part of the questioaire. Some isights ca be obtaied by lookig at the descriptive statistics i Table 4. I this sectio, oly questios associated with sigificat aswers (i.e., havig media = 3) will be cosidered. They are represeted i bold i Table 4. About the project Studets state that the time to complete EasyCoi was ot sufficiet (Q1: 52.9% cosidered it isufficiet, 20.6 sufficiet ad 26.5% was ot certai). They had difficulties to develop the project (Q7: 2.9% strogly disagree, 2.9% disagree, 35.3% ot certai, 52.9% agree, 5.9% strogly agree) but at the same time they judge the experiece of the project useful ad formative (see Figure 4). Participats claim that the pictures of the GUIs of EasyCoi, give cotextually to the requiremets ad refied durig the desig activity, were useful to make the requiremets clearer (Q3: 67.6% retaied it useful, 11.8% o ad 20.6% was ot certai). 4.1 Subjects Figure 4. Histogram of Q5. About MARS Studets fid MARS useful (Q9:14,7% strogly agree, 64,7% agree, 20,6% ot certai) ad ot difficult to apply (Q8: oly 5,9% foud difficulties to apply it to EasyCoi). They claim that MARS guides step by step the developer (Q13: 20.6% strogly agree 7

24 16 ID Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Questio I had eough time to complete the EasyCoi project. The EasyCoi requiremets were perfectly clear to me. The pictures of the EasyCoi GUIs helped me to better uderstad the requiremets. I experieced o difficulty i developig EasyCoi. I cosider the experiece of the project useful ad formative. I had eough time to lear MARS. I had difficulties i graspig MARS. I had difficulties i applyig MARS to EasyCoi. I foud MARS useful. I the developmet activity it is better to use UML without ay specific method istead of MARS. MARS is too difficult to apply. Does MARS balace agility ad formalism. MARS guides step by step the developer i the developmet activity. Usig MARS the implemetatio phase became purely mechaic. OCL is useful to uderstad the diagrams of the desig model. The applicatio of MARS i real cases takes too much time; hece MARS is ot usable i practice. I thik that MARS could be successfully used i the professioal practice. I the future projects I will use MARS. Table 2. Specific Questios of the questioaire. Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 Mea 3,24 2,76 2,21 3,55 1,64 2,45 3,15 3,27 2,06 3,52 3,7 2,85 2,15 2,79 2,42 3,30 2,45 2,73 Media χ 2 test 0,73-0,04 0,3 1,6* ,0006-0,17-0,02-0, Table 4. Descriptive Statistics ad results of the χ 2 -test. ad 50.0% agree) ad cosider OCL useful to uderstad the diagrams of the desig (Q15: 5.9% strogly agree, 52.9% agree, 35.3% ot certai, 5.9% disagree, 0% strogly disagree). Chi2-test χ 2 -test [20] was used to gai statistical evidece over the whole set of subjects ivolved i the experimet. For each questio, we have compared the percetage of aswers with value > 3(< 3) agaist that of aswers havig value 3( 3). We decided to adopt the most commoly used value for the alpha-level, that is, cosiderig statistically sigificat a test with a p-value lower tha 5% [20]. Results of the χ 2 -test are show i Table Threats to Validity This sectio discusses the threats to validity that ca affect our results [20]. The mai threat could be due to the fact that the questioaire was delivered ad compiled by the studets some days before the writte examiatio ad before the gradig of the project. Studets could have aswered ot sicerely to the questios hopig to have some beefits (or fearig some threats). To limit that threat we iformed the studets that the aswers to the questioaire would ot ifluece the fial vote of the course or our opiio of them. Aother threat to the validity of results is that the questioaire was oly completed by those who delivered their projects withi the first deadlie. The opiio of those who did ot deliver the project is somehow eglected. Though the selected subjects represet a populatio of studets specifically traied o Software Egieerig, UML ad MARS, we doubt that the results obtaied ca be geeralized for idustrial seior developers [16]. I ay case, oly further specific studies, with other studets ad professioals, could cofirm or cotradict the obtaied results. The threat, always preset whe experimetig with studets, is the lack of experiece of the subjects. Some questios require ideed some amout of experiece to be aswered (for example, does MARS balace agility ad formalism?, see [4]) ad moreover the majority of the studets is facig a realistic system for the first time; they kow oly oe developmet method leared i this course ad they have ever applied agile methods. It will be iterestig to repeat the questioaire with professioals. 4.4 Discussio The experimet was useful for two reasos: to have feedback o the project ad to uderstad what studets thik about MARS. Eveifwehaveobtaied oly four statistically sigificat results (Q3, Q5, Q9 ad Q13) other importat iformatio ca be obtaied aalyzig the other aswers. 8

25 17 We ited to take ito accout the opiios of the studets to improve the ext year project. Ideed, we pla to cofirm the structure of the course ad i particular our idea of havig the studets develop a realistic project as part of the course, because it has bee highly appreciated by the studets (see Figure 4). However we have to tue some details. We uderstad that the time give (1 week for the phase 1, 3 weeks for the phases 2 ad 3 ad 2 moths for the implemetatio of the system) to complete the project was ot sufficiet (Q1). I particular studets complaied to have little time for the implemetatio (this is the phase with higher drop-out rate). Give tha the umber of credits of the course is fixed (9 credits correspod to 225 hours, of which 82 hours for the project) we ca see oly two solutios to solve this problem. Reducig the complexity of the project (choosig, for example, a domai better kow to studets - or reducig the umber of requiremets to implemet) or icreasig the team size up to 5-6 studets as doe i other courses, as reported i [6]. Aother lesso that we have leared is about requiremets: i the future we will have to pay major attetio to their quality. They have bee judged by the studets as ot always clear (Q2). As suggested by the studets a way to make the requiremets clearer is to accompay them with the pictures of the GUIs of the System to realize (Q3). As studets appreciated the idea of havig requiremets ad pictures, we pla to cofirm it for the ext years. Improvig the clarity of our requiremets may seem to lesse the amout of realism, as oe referee has observed. However the emphasis of this SE course is o desig ad implemetatio. I a secod advaced SE course the project is cetered aroud requiremet elicitatio ad aalysis. Eve if studets are ot experieced programmers we thik that their opiios/suggestios may be useful to refie/improve MARS. First of all, we have to improve the explaatio of MARS (several studets had problems to uderstad the method ad eeded more time to lear it, others had problems to apply it to EasyCoi; see Q6, Q7 ad Q8 i Table 4). Surprisigly to us, studets cosider OCL uequivocally useful to uderstad the diagrams of the desig (Q15). This result, though uexpected, goes i the same directio of [5]. Maybe, the most iterestig results of the experimet are that studets cosider the experiece of the project useful ad formative (Q5) ad fid helpful (Q9) ad ot difficult to apply (Q8, Q11) MARS (Q13: MARS guide step by step the developer). Some of the results have bee cofirmed by a set of free aswer questios we have icluded i the questioaire. I particular the studets recogized the eed for a method able to guide the programmer i all the phases of the developmet. Studets questio the excessive rigidity of MARS, but, at the same time, some of them appreciate the possibility to be precise ad rigorous i the developmet, eve if this requires a greater effort. A lot of studets ask for a better tool support, able to derive the implemetatio i automatic way. 5 Coclusio We have preseted ad discussed our curret approach to orgaizig a project i software developmet withi a udergraduate Software Egieerig course. Our orgaizatio has some distictive features that are the result of various attempts at allowig the studets to seriously experiece most of the differet activities ivolved i adoptig a well-structured UML-based method. I particular we have tried to overcome some maturity, time ad effort costraits o the studets side with the mai aim of makig their experiece as realistic as possible. By as possible we obviously mea a reasoable compromise that takes ito accout some costraits, like time ad effort, ad priorities, such as learig a rigorous UML-based developmet method ad experiecig all the relevat developmet phases. Admittedly, our approach is demadig o the teacher side; however we must say that it is also rewardig i terms of uderstadig the difficulties that the studets ad, to a certai extet, the commo developer experiece whe seriously applyig UMLcocepts ad related methods ad tools. I that respect we also foud of great help the proposed assessmet via a questioaire carefully aalyzed ad discussed, a experiece that we ited to reiterate. Ackowledgmets We would like to thaks first of all the studets that alog these years have take part i this experiece. We also gratefully ackowledge the beefit we gaied from some very competet ad accurate referee reports. Refereces [1] E. Astesiao ad G. Reggio. Tight structurig for precise UML-based requiremet specificatios. I 9th Moterey Software Egieerig Workshop, pages 16 34, September Lecture Notes i Computer Sciece. 2941, Berli, Spriger Verlag,

26 18 [2] E. Astesiao ad G. Reggio. Towards a wellfouded UML-based developmet method. I Coferece o Software Egieerig ad Formal Methods, SEFM 2003, pages , September [3] E. Astesiao, G. Reggio, ad M. Cerioli. From formal techiques to well-fouded software developmet methods. I Formal Methods at the Crossroads: From Paacea to Foudatioal Support. 10th Aiversary Colloquium of UNU/IIST the Iteratioal Istitute for Software Techology of The Uited Natios Uiversity, pages , March Lecture Notes i Computer Sciece. 2757, Berli, Spriger Verlag, [4] B. Boehm ad R.Turer. Balacig Agility ad Disciplie: A Guide for the Perplexed. Addiso Wesley, [5] L. C. Briad, Y. Labiche, M. Di Peta, ad H. D. Ya-Bodoc. A experimetal ivestigatio of formality i UML-based developmet. IEEE Trasactios o Software Egieerig, 31(10): , [6] K. Cooper, J. Dog, K. Zhag, ad L. Chug. Teachig experieces with UML at the uiversity of Texas at Dallas. I Educators Symposium of the 8th Iteratioal Coferece o Model Drive Egieerig Laguages ad Systems, pages 1 8, 3 October [7] G. Egels, J. Hausma, M. Lohma, ad S. Sauer. Teachig UML is teachig software egieerig is teachig abstractio. I Educators Symposium of the 8th Iteratioal Coferece o Model Drive Egieerig Laguages ad Systems, 3 October [13] A. N. Oppeheim. Questioaire Desig, Iterviewig ad Attitude Measuremet. Piter, Lodo, [14] S. L. Pfleeger. Software Egieerig. Theory ad Practice. 2d editio. Pretice Hall, [15] Ratioal. Ratioal Uified Process c for System Egieerig SE 1.0. Techical Report Tp 165, 8/01, [16] P. Rueso. Usig studets as experimet subjects - a aalysis o graduate ad freshme studet data. I 7th Iteratioal Coferece o Empirical Assessmet i Software Egieerig, pages , [17] S. Sedall ad A.Strohmeier. Requiremets Aalysis with Use Cases. cases/re-a2-theory.pdf, [18] I. Sommerville. Software Egieerig. 6th editio. Addiso Wesley, [19] R. Szmurlo ad M. Smialek. Teachig software modelig i a simulated project eviromet. I Educators Symposium of the 9th Iteratioal Coferece o Model Drive Egieerig Laguages ad Systems, 1-6 October Lecture Notes i Computer Sciece. 4364, T.Kuehe (Ed.), Berli, Spriger Verlag, [20] C. Wohli, P. Rueso, M. Höst, M. Ohlsso, B. Regell, ad A. Wesslé. Experimetatio i Software Egieerig - A Itroductio. Kluwer Academic Publishers, [8] W. Filho. Process issues i course projects. I I the Proceedigs of 27th Iteratioal Coferece o Software Egieerig, pages ACM 2005, [9] M. Fowler. UML Distilled: A Brief Guide to the Stadard Object Modelig Laguage. 3th editio. Addiso Wesley, [10] H. Gomaa. Desigig Cocurret, Distributed ad Real-Time Applicatios with UML. Addiso- Wesley, [11] OMG. UML2.0OCLSpecificatio, [12] OMG. UML 2.0 Superstructure Specificatio,

27 19 Studets ca get excited about Formal Methods: a model-drive course o Petri-Nets, Metamodels ad Graph Grammars Pieter Va Gorp Has Schippers Serge Demeyer Dirk Jasses Departmet of Mathematics ad Computer Sciece Uiversity of Atwerp {Pieter.VaGorp,Has.Schippers,Serge.Demeyer,Dirk.Jasses}@ua.ac.be Abstract Formal Methods have always bee cotroversial. I spite of the fact that the disbelief about their usefuless has bee corrected by a growig umber of applicatios ad eve more publicatios, it remais a challege to demostrate the stregths ad weakesses of formal methods withi the time costraits of a typical semester course. This paper reports o a ew course at the Uiversity of Atwerp i which the itroductio of a ew formalism yields a better uderstadig of previously taught oes. While the exercises are desiged to reveal the limitatios of the formalisms used, studets remai coviced that their formal models have more value tha covetioal source code. 1 Itroductio Formal Methods have bee praised for facilitatig the detectio of icosistecies ad/or iaccuracies early i the developmet process. Still, formality is ofte falsely associated with the exhaustive specificatio of proofs i special symbols that are hard to read by most stakeholders. Therefore, they are ofte believed to be very costly ad thus oly applicable to very specific applicatios, such as embedded spacecraft software [10, 3]. To prevet the further spread of such myths i idustry, software egieerig studets at the Uiversity of Atwerp are cofroted with formal modelig laguages i a variety of settigs. O the oe had, providig correctess proofs is part of courses o mathematics, databases, computer arithmetics ad computability. O the other had, several courses illustrate that modelig a system before its implemetatio assists i the early detectio of misuderstadigs. For example, already after a miimalistic itroductio to the Uified Modelig Laguage (UML), studet teams have lively Research Assistat of the Research Foudatio, Fladers (FWO) discussios to reach a cosesus o the structure of a domai model before costructig their first distributed etwork applicatio. Similar discussios are held whe studet teams are istructed to costruct a small compiler. Withi this compiler project, studets are ot allowed to implemet a sematical aalyzer ad code geerator usig the implicit abstract sytax tree from the parser geeratio framework directly. Istead, they are required to model a more abstract represetatio of the source laguage as a class diagram. The istructor verifies that studets do ot model implemetatio-specific cocepts ad esures they do ot abuse UML compositios ad/or associatio cardialities. While this exercise does sigificatly improve the studets kowledge of the UML, the learig curve is rather steep. Therefore, oe ca hardly expect that studets fully appreciate the added value of their modelig task. Recetly, the itroductio of a ew udergraduate course idicated that this ivestmet i precise modelig did result i more appreciatio of further courses i formal methods i geeral ad a model-drive egieerig approach specifically. This paper presets that course, called Formal Techiques i Software Egieerig, i more detail, usig the followig structure: Sectio 2 presets the role, objectives, structure ad examiatio form of the course; Sectio 3 presets some of the artifacts to be developed by the studets ad idicates their relatio ad educatioal value; Sectio 4 summarizes the lessos leared after the first year while the fial sectio cocludes this paper. 2 Course Desig This sectio first describes the role of the course withi the curriculum. Secodly, it discusses how the studets backgroud ad the complexity of supportive tools affects the objectives. The, a descriptio of the course structure ad examiatio form clarifies how competeces are trasferred to the studets ad how studets are evaluated. 1

28 Role withi the Curriculum As stated i the itroductio, modelig is a itegral part of the computer sciece curriculum at the Uiversity of Atwerp: after a absolutely fudametal course o discrete mathematics, several courses rely o formal models with laws to derive properties of the domai or system uder study. For example, istead of focussig a itroductory databases course o queryig cocrete databases with SQL, systematic procedures are taught to trasfer a Etity/Relatioship model ito a relatioal model. Moreover, the course illustrates how the formal ature of the latter model allows oe to ormalize databases automatically. Similarly, a course o computer arithmetics relies o a model of the stadard for floatig poit arithmetics to reaso about the correctess of floatig poit implemetatios. While other courses use laguages such as Z, B, SDL ad statecharts, they leave the defiitios of the ivolved models ad laguages implicit. I the third ad fial year of the bachelor program, the ew course aims to teach studets how differet formal techiques relate to oe aother istead of leavig them isolated withi the other, idividual, courses. Primarily, studets are taught that i modeldrive software egieerig, software is developed i differet laguages, at differet levels of abstractio ad that there are good reasos to do so. Secodly, the course illustrates how metamodelig ad model trasformatio ca be used to maitai the cosistecy betwee the models expressed i these laguages. 2.2 Course Prerequisites ad Objectives This sectio describes the prerequisites ad objectives that were defied whe the course was first plaed. Studets ca eroll i the course provided they have practical programmig experiece, practical experiece i the use of UML class diagrams ad a solid uderstadig of the formal foudatios of computer sciece (logic, formal laguages). I practice, this expertise was provided by courses from the first two years of the bachelor program. Officially, the expected learig outcomes were iitially defied as follows: Based o formal specificatios (logical specificatios, statecharts, Petri-Nets) the studet should be able to build models expressig the iteded fuctioality of a system, to aalyse ad to verify these models, ad to geerate a workig implemetatio from them. These objectives were desiged with the AdroMDA code geerators i mid [2]. Usig this code geerator from UML diagrams to Java web applicatios would brig studets i cotact with: coceptual modelig with UML class diagrams, query defiitio with a subset of the Object Costrait Laguage (OCL), user iterface flow modelig with use cases ad activity diagrams. However, supervisio of aother udergraduate course (i which studets have to build a large software system withi two semesters) idicated that the use of AdroMDA required a sigificat learig curve for settig up a correct modelig ad build eviromet. Moreover, despite the sigificat amout of code geeratio, studets are still required to master the uderlyig J2EE techologies. Therefore, the use of AdroMDA would put too much weight o the use of a code geerator ad leave too little more room for teachig how the modelig laguages used (class diagrams, activity diagrams,...), are defied ad kept cosistet. Sice the ovelty of model-drive egieerig does ot cosist of usig code geeratio as such, but of adaptig code geeratio eviromets (by usig stadard model ad code trasformatio laguages), the course objectives were iformally adjusted to: The studet should be able to express the iteded fuctioality of a system from differet viewpoits i differet formalisms (Petri-Nets, Graph Grammars) ad esure particular properties (boudedess, cosistecy,...) of such models. The studet should use state-of-the-art trasformatio techiques (model aimatio, model traslatio ad code geeratio) to itegrate distict models ad relate them to a complete implemetatio. The studet should experimet with metamodellig i this cotext, ad acquire a uderstadig of the beefits ad limitatios of the 4-layer meta model architecture. After cosiderig a combiatio of the DiaMeta [13] ad Tiger [9] meta-case tools with the MoTMoT [14] model trasformatio tool, the AToM 3 tool was selected because of its completeess. AToM 3 offers mechaisms for metamodelig, cocrete sytax defiitio, model trasformatio ad code geeratio i a self-cotaied, Pytho based, eviromet [6]. 2.3 Course Structure The course takes place i the last semester of the bachelor program. It divides six Europea Credits (ECTS [4]) across seve theoretical sessios ad eleve lab sessios of 2

29 21 Figure 1. Structure of the Course two hours per sessio. The course structure is visualized by Figure 1. The first part of the theoretical sessios cosist of lectures whereas the latter sessios are more iteractive: i these sessios, the lecturer leads a discussio o a set of selected papers. The first lecture itroduces the studets to the Model Drive Egieerig paradigm. Based o a cocise, yet sufficietly complete textbook [11], the lecturer clarifies the defiitios of a model, modelig laguage, metamodel, trasformatio defiitio ad a trasformatio laguage. The followig three sessios itroduce the studets to the most commoly used variats of the Petri-Net laguage. After explaiig the role of ivariats i the aalysis of Coditio/Evet ets, the laguage is exteded to Place/Trasitio ets with weights ad capacities. A umber of examples illustrate how the uderlyig formalism allows oe to reaso about deadlocks ad other properties. The first three lab sessios make sure that studets master Petri-Nets both for modelig ad verificatio. Sice studets are already heavily loaded with project work from other courses i their fial year of the bachelor program, all exercises are made i the cotrolled cotext of the lab sessios. I the last Petri-Net sessio, studets are give a assigmet that will serve for evaluatig their modelig ability. More iterestigly, it serves as iput for a Petri-Net editor that will be costructed i the secod series of practical lab sessios. The secod ad fial part of the lab sessios distiguish the course from a covetioal course o formal methods. I each of these eight lab sessios, studets are give a well-defied assigmet cotributig to the costructio of a Petri-Net based toolset usig the AToM 3 tool. Withi the first sessio from this series, the teachig assistat demostrates the core features of this tool. Moreover, the studets are give a idea of what kid of toolset they will costruct i the upcomig weeks. I the remaider of the first sessio, studets are already creatig their first metamodel, usig the Etity/Relatioship laguage. This first metamodelig exercise cosists of the defiitio of the Robustess Modelig laguage [16]. This laguage cosists of oly five modelig costructs: Actors, Boudaries (Iterfaces), Cotrols (Processes), Etities (Domai elemets) ad Use Cases. The laguage is selected because it is related to desig rules that studets have ecoutered i other software egieerig courses. More specifically, the laguage icludes well-formedess rules statig, for example, that user iterface elemets should ot access persistet elemets directly. Studets realize that it is better to eforce these costraits by meas of a specific modelig laguage tha to check them i implemetatios based o a geeral purpose programmig laguage. Moreover, studets become familiar with metamodelig. At the ed of the first sessio, studets had i their E/R model defiig the Robustess Modelig laguage alog with a sample Robustess Diagram that they created with the geerated editor. I the secod AToM 3 sessio, a editor for Coditio/Evet ad Place/Trasitio Nets with weights ad capacities is costructed. The third sectio is the first hadso itroductio to model trasformatio: i this sessio, studets are istructed to defie a graph grammar realizig the Petri-Net trasitio sematics. Agai, the itroductio from the teachig assistat starts from a demostratio of the result that eeds to be achieved. More specifically, a correct grammar is executed o a Petri-Net model of the diig philosophers problem. Studets see how differet rules are combied to detect whether a trasitio is eabled ad whether tokes have already bee moved from iput places to output places. To illustrate that the preseted techiques are ot specific to Petri-Nets, a model of a railroad track is preseted ad a graph grammar is used to move trais across the tracks. These demostratios are followed by a brief itroductio to the core graph grammatical cocepts, like the left- ad right-had side of a rule, the ode idetificatio mechaism ad rule priorities. At the ed of the third sessio, studets had i their graph grammar for Coditio/Evet ets. I sessio four, studets geeralize this grammar to the Place/Trasitio variat of Petri-Nets (allowig more tha oe toke per place). The grammar should hadle weights o arcs from places to trasitios properly. Although this seems like a mior coceptual extesio of the Petri-Net variat, the grammar eeds to realize a loop over a umber of its rules. Sice AToM 3 oly supports priorities as a cotrol flow structure, the realizatio of such a loop is ot straightforward. I the fifth sessio, the grammar is geeralized oe last time by supportig weights o arcs from trasitios to places ad capacities o places too. At the ed of the fifth sessio, studets should be able to aimate a Petri-Net model for access cotrol that is part of the theoretical course material o Petri-Nets. 3

30 22 I sessio six, studets retur to metamodelig. They are istructed to model the Railroad laguage that was briefly demostrated i sessio three. Sice this laguage cotais a set of related cocepts (trais move across straight tracks i the same way as they drive through a statio), it motivates the eed for iheritace i the metamodelig laguage. Therefore, the Railroad laguage eeds to be modeled with class diagrams istead of with Etity/Relatioship diagrams. I sessios seve ad eight, the AToM 3 lab is cocluded with a trasformatio from Railroad models to Petri-Nets. This assigmet challeges studets to combie all competeces acquired so far. Additioally, they are brought i cotact with the additioal techiques required to defie a exogeous trasformatio (see Sectio 3.3). For example, this trasformatio betwee differet laguages itroduces studets to the eed for (ad ature of) traceability mechaisms. The discussios from the four fial theoretical sessios are based o three to four papers per sessio. To prepare for such a paper sessio, the studets should read the papers ad aswer a few questios. I the lecture itself, the studets debate the strog ad weak poits of a give paper, which results i quite vivid discussios. The goal durig these debates is ot that oe studet wis the debate, but rather that all studets see the merits ad differeces i each approach. The fial discussio sessio is based o two papers that geerally classify today s model trasformatio approaches ad two papers that each preset a AToM 3 alterative i detail. Durig the debate, studets are asked which aspects of their trasformatios they foud difficult to express with AToM 3. Moreover, studets eed to assess what features of other graph trasformatio laguages address these difficulties. 2.4 Examiatio Form The course evaluatio cosists of two parts: permaet evaluatio, ad a oral exam with a writte preparatio. First of all, the solutios to the lab exercises are take ito accout, which test oe of the course objectives, amely The studet should use state-of-the-art trasformatio techiques (model aimatio, model traslatio ad code geeratio) to itegrate distict models ad relate them to a complete implemetatio. This part of the examiatio is maaged by electroic submissios to the uiversity s electroic learig platform [17]. Sice the AToM 3 lab sessios build icremetally upo oe aother, the teachig assistats have prepared partial solutios correspodig to all AToM 3 related deadlies. This ca help studets that have failed to meet oe deadlie i catchig up for the ext deadlie. I practice, studets have ethusiastically completed some icomplete exercises at home. The e-learig system has bee useful to collect all AToM 3 artifacts withi oe web-based system. Moreover, it provides a comprehesive overview of the deadlies that have bee met by each idividual studet. However, teachig assistats have selectively relaxed the firm deadlies by allowig submissios too. This was desirable whe studets ecoutered uexpected problems that were due oly to upredictable behavior of the AToM 3 tool. Secodly, at the ed of the semester the studets must pass a oral exam with a writte preparatio. Durig this exam, the remaiig course objectives are tested, amely The studet should be able to express the iteded fuctioality of a system from differet viewpoits i differet formalisms (Petri-Nets, Graph Grammars) ad esure particular properties (boudedess, cosistecy,...) of such models. ad The studet should... acquire a uderstadig of the beefits ad limitatios of the 4-layer meta model architecture. The former is tested with a exercise i Petri-Net modelig ad verificatio while the latter is tested with a discussio o two papers selected from the list read durig the paper sessios. 3 Course Artifacts This sectio presets some of the models, metamodels ad trasformatios that eed to be developed i the ew course. 3.1 Petri-Net Editor Figure 2 displays a simplified versio of oe of the models used to covice studets that AToM 3 ca be used to build powerful editors. The Petri-Net models the diig philophers problem with six philosophers. The Petri-Net editor is developed i the secod sessio of the AToM 3 labs. For improvig the readability of this paper, the toke capacities ad edge weights have bee omitted. The model ca be aimated usig the graph grammar that is developed i sessios three, four ad five. I Figure 2, each philosopher is represeted by a pair of places that are positioed o a diameter of the circle that represets the table. The outer place from such a pair holds a toke whe the philosopher uder cosideratio is thikig. Therefore, i Figure 2, all six philosophers are thikig. These philosophers are umbered clockwise ad with umber 1 for the two places o the top of the figure. From the twelve places represetig the philosophers, six places hold a toke. These six places represet the three spoos ad three forks. Sice they hold a toke, all silverware lies o the table. After executig some graph trasformatio rules (that are selected automatically from the grammar), the Petri-Net model from Figure 2 has evolved ito that of Figure 3. I the latter (versio of the) model, philosophers 1 ad 5 are 4

31 23 P1_thiks P6_thiks FORK1 P1_eats SPOON1 P2_thiks P6_eats P2_eats SPOON3 FORK2 P5_eats P3_eats FORK3 SPOON2 P3_thiks P5_thiks P4_eats P4_thiks Figure 2. Petri-Net model: Diig Philophers. Figure 4. Editor for modelig the cocrete sytax of visual laguage elemets. P5_thiks P6_thiks SPOON3 P6_eats P5_eats FORK1 FORK3 P1_thiks P1_eats P4_eats P4_thiks SPOON1 SPOON2 P2_eats P3_eats FORK2 P2_thiks P3_thiks Figure 3. Model durig graph grammar executio. eatig while the others are still thikig. Philosopher 3 ca start eatig sice spoo 2 ad fork 2 are still o the table. However, philosophers 2, 4 ad 6 have to wait util their eighbours (philosophers 1 ad 5) have fiished eatig ad retured their silverware to the table. The Petri-Nets laguage ca be represeted by a straightforward metamodel cotaiig a Place class ad a Trasitio class, related by a associatio for iput places ad a associatio for output places. Figure 4 shows the AToM 3 editor for modelig the cocrete sytax of the Place class. This example teaches studets how to use the basic costructs for represetig idividual laguage elemets ad for represetig relatios betwee these elemets. I additio, studets are cofroted with the limitatios of visual modelig. More specifically, the represetatio of tokes withi a place is realized by some pragmatic programmig at the level of the Pytho code that AToM 3 geerates from the metamodel ad the cocrete sytax defiitio. The trasitio sematics for Petri-Nets ca be modeled by a variety of graph grammars. However, some essetial rules occur i almost ay solutio. Figure 5 presets a sapshot of the active AToM 3 widows whe such a rule is beig edited. At the ceter of the screeshot, the graph trasformatio rule for icremetig output places is show. The order field at the top of the dialog defies the priority of this rule ad is set to 4. Rules with a lower order have a higher precedece. I this example, such rules make sure that the iput places of the trasitio uder cosideratio 5

32 24 Figure 5. Screeshot of the AToM 3 dialogs for editig graph grammar rules. 6

33 Berchem 25 uamed place23 uamed place22 uamed place21 uamed place20 uamed place18 uamed place17 uamed place15 uamed place uamed place24 uamed place13 uamed place0 uamed place0 1 uamed place19 uamed place1 Mol uamed place12 Figure 7. Polymorphic rule for movig trais. uamed place8 uamed place9 uamed place2 uamed place11 uamed place7 Lier uamed place5 uamed place4 uamed place3 uamed place1 1 uamed place6 uamed place10 Figure 6. Sample model i the Railroad laguage. hold eough tokes to eable the trasitio. Moreover, it is esured that ot more tha oe trasitio is eabled at a time. O the other had, rules with a lower precedece make sure that the trasitio uder cosideratio is disabled ad that other rules ca be eabled agai. Ulike most of today s geeric model trasformatio egies [12, 5], AToM 3 supports the specificatio of rewrite rules i cocrete sytax. The left-had side of the rule i Figure 5 specifies that ay trasitio, called 1, holdig a edge to a output place, called 2, should be matched. The screeshot does ot show that these odes are costraied further by additioal clauses from the coditio field. The right-had side of this rule copies the weight of the edge ad the ame ad capacity of the output place. I cotrast, the value of the tokes attribute from the output place is specified i Pytho code. The dialog at the bottom ceter of the screeshot shows that this value is defied by the old value of the tokes attribute plus the value of the weight of the icomig lik. Withi this dialog, the values of the Pre- ad Post-coditio widgets have o meaig for this example. 3.2 Railroad Editor The Railroad laguage requires a somewhat more complex metamodel. I summary, it is desirable to use iheritace betwee classes such as Track, Statio ad Fork. Tracks ad statios ca be coected to exactly oe ext track while a fork holds a left ad a right outgoig track. A Fork has a explicit property that deotes whether icomig trais will be switched to its left or right track. This property ca be altered maually. Figure 6 illustrates what kid of systems ca be modeled i the Railroad laguage. Note that the edges betwee the tracks, statios ad forks defie the path alog which trais ca travel the railroad. Agai, this laguage is supported by a graph grammar for simulatio. As Figure 7 shows, this example brigs studets i cotact with polymorphic matchig: the rule for Figure 8. Traslatio rule for a left-goig fork to a Petri-Net patter. movig a trai from oe track to the ext oe states that as soo as a trai is located o a Place (a Track or a Statio), it ca be moved to the ext track. This is realized by represetig the coectio with label 3 oly o the left-had side of the trasformatio rule ad creatig a ew coectio with label 7 i the right-had side. All other properties are preserved. 3.3 From Railroad Models to Petri-Nets The fial course artifact is a graph grammar for traslatig Railroad models to Petri-Net models. Figure 8 displays a fragmet from a studet s solutio. The rule matches Fork elemets that hold a trai ad that are cofigured for movig trais to the left (this property would be visible whe opeig a property editor for ode 1). For such Fork elemets, the traslatio rule geerates a Place elemet that holds oe toke (represetig the trai) ad two subpatters holdig a trasitio, two opposite coectios ad a place. These patters are used to ecode the behavior of the Trai switch: the upper place holds a toke whe trais should be moved to the left ad the lower place holds a toke whe trais eed to be moved to the right. Therefore, this trasformatio rule geerates a toke i the upper place ad o tokes i the lower place. A trasitio coects the place from the upper subpatter with the lower place ad vice versa. These trasitios ca be used to switch the Fork patter i the Petri-Net from left to right. Other rules geerate liks betwee the trasitios represetig the ext-track relatioship. These rules eed to 7

34 Best Practices The istructors of the course have paid attetio to the followig didactical aspects: Figure 9. Navigatio across traceability liks. employ some kid of traceability iformatio. AToM 3 provides geeric liks for coectig model elemets from differet laguages. However, sice the use of this built-i traceability mechaism resulted i obscure error messages, studets had to desig a ad-hoc solutio i Pytho code. O the oe had, it is ufortuate that ot all studets have thus ot bee able to model traceability liks withi the rewrite rules. O the other had, the exercise illustrated that i the fial lab sessio, most studets master the tool iterals sufficietly to implemet a alterative solutio creatively. Oe studet did succeed to apply the built-i traceability feature of AToM 3. Figure 9 for example displays his rule that properly applies geeric liks to geerate a trasitio betwee places that correspod to two coected tracks. The left-had side of the rule cotais the two tracks, labeled 1 ad 2, that are coected i the iput model. The edges labeled 6 ad 7 elegatly model that these tracks eed to be mapped to two places, labeled 4 ad 5, before this rule becomes applicable. The right-had side of the rule specifies that betwee these two places a ew trasitio, labeled 8, should be geerated. I summary, it ca be stated that the AToM 3 exercises have brought studets i cotact with the most essetial techiques i model-drive developmet. 4 Lessos Leared This sectio summarizes the lessos that were leared from desigig ad teachig the first editio of the course. I geeral, studet satisfactio (as measured durig a formal questioaire) exceeds the expectatios of the istructors. Nevertheless, several poits for improvemet are cosidered for future editios. The first part of this sectio presets the best practices that were applied i the desig of the course. The secod part discusses the outlook for the secod editio. The sectio cocludes by discussig the short- ad log-term idustrial applicability of the course s learig outcomes. Feasibility Study. A key factor that cotributed to the success of the ew course was the use of a sufficietly tested toolsuite. All solutios to the lab sessios were prepared before plaig the complete course structure. This esured that as log as studets used the evaluated AToM 3 release, teachig assistats could guide them aroud kow bugs ad limitatios. It should be oted that AToM 3 was ot just the first ad best tool selected for this course. Istead, durig the course preparatio phase, other tools were actually foud usuitable or icomplete for use by udergraduate studets. Expert Supervisio. As a costructive guide to the adoptio of formal methods, Atoy Hall complemeted his objectios agaist misbeliefs about formal methods with a list of hits about traiig i formal methods [10]. Hall essetially cofirms that after theoretical traiig i geeral discrete mathematics ad a specific formal laguage, practical workshops are idispesable. Moreover, supervisio by at least oe tutor is said to be essetial. Hall also reports about productivity problems i the cotext of o-user-friedly tools. By allocatig two teachig assistats durig the course of all AToM 3 sessios, the time that the studets uder supervisio spet o figurig out the AToM 3 user iterface specifics was sigificatly smaller tha the time the teachig assistats had spet o that issue. Work Icremetally. By buildig upo the results of previous lab sessios, studets have bee able to costruct a realistic toolsuite withi a very limited time frame. The result has coviced studets that the techiques they have leared ca be applied o realistic problems. By defiig itermediate milestoes for the costructio of the graph grammar for aimatig Petri-Nets, studets have bee able to demostrate their progress at the ed of each lab. This approach resulted i studet satisfactio weeks before the delivery of their complete toolsuite. Start Small. Because the Petri-Net toolsuite was used as a partial evaluatio for the exam, teachig assistats had to esure that studets produced a solutio as idividually as possible. This was achieved by startig the AToM 3 sessios with the developmet of the selfcotaied Robustess Diagram editor. Studets should be ad have bee able to geeralize their expertise from this small exercise to the larger oes. 8

35 27 Illustrate Applicability. Formal methods ca help future system users uderstad what kid of system will be built by modelig fuctioality before it is realized. However, that requires that the formal model is made accessible to such a user [10]. Istead of claimig the applicability of Petri-Nets by meas of atural laguage explaatios, the course relied o the customerorieted Railroad laguage. The traslatio betwee the Railroad ad the Petri-Net laguages provides cocrete evidece that formal methods ca be ecoomically itegrated ito the requiremets elicitatio process. Examples First. Aother drivig force for lettig studets defie the Railroad laguage is that this exercise motivates the eed for iheritace i the laguage for metamodelig. From such examples, it becomes straightforward to motivate why the Meta Object Facility (MOF), OMG s stadard laguage for metamodelig, resembles class diagrams. Problems First. Before referrig to the papers o more powerful model trasformatio laguages, the lab exercises expose the limitatios of the simplistic AToM 3 approach. More specifically, the Petri-Net aimatio grammar illustrates that the executio order of graph grammar rules does ot ecessarily correspod to the order i which these rules are defied. By experiecig this problem i the lab sessios first, studets uderstad why i Story Drive Modelig [7], graph trasformatio rules are embedded i a activity diagram. 4.2 Plaed Improvemets The followig list summarizes the future work o the course: Provide Tool Feedback. AToM 3 was origially developed for research purposes. Applyig it i a classroom cotext revealed several bugs ad usability issues. Costructive feedback is collected from studets ad teachig assistats. This feedback may ifluece future releases of the tool. Cosider Other Tools. Sice the tool ladscape is rapidly evolvig, ew tools may provide the metamodelig, cocrete sytax defiitio ad model trasformatio features required to costruct a equivalet of the Petri-Net toolsuite. Therefore, the maturity of alterative tools eeds to be evaluated frequetly. Provide Reusable Itegratio Compoets. The motivatio of the studets ca be icreased by providig so-called techical projectors: for example, oe could develop a Pytho compoet that geerates a file compliat with a popular Petri-Net aalysis tool from istaces of a AToM 3 metamodel for Petri-Nets ad vice versa. Such a compoet would close the remaiig gap betwee the Petri-Net verificatio part of the course ad the model-drive egieerig part, without reivetig the wheel. Exted Railroad Case Study. A feedback loop should be developed from the aalysis of a Petri-Net that is geerated from a Railroad model by meas of the graph grammar. By illustratig studets how such aalysis results should be iterpreted, the case study would practically show how model-drive egieerig ca help improvig the safety of software. Prepare Follow-Up Courses. The curriculum at the Uiversity of Atwerp also icludes two ew graduate courses related to Model-Drive Egieerig. These courses eed to be desiged such that studets ca apply their AToM 3 expertise i tools based o actual MDA stadards such as QVT [15] ad idustrialstregth frameworks such as the Eclipse Graphical Modelig Framework (GMF [8]). 4.3 Idustrial Relevace This sectio briefly discusses the short- ad log-term applicability of this course i a idustrial cotext. I 2006, the computer sciece curriculum at the Uiversity of Atwerp has bee completely redesiged. Oe ovelty is that graduate studets eed to choose betwee a idustrial, educatioal or research profile. Sice the course beig discussed i this paper takes place i the third year of the bachelor program, it should still fit ito the three profiles. As Sectio 2.2 illustrates, this leads to subtle tradeoffs. Comig back to the desig of the course objectives, the learig outcomes that were iitially plaed would be directly applicable i idustry: may orgaizatios are strugglig with the complexity of today s middleware ad use code geerators such as AdroMDA to tackle this issue. The revisited learig outcomes may seem less applicable i the short term. However, the acquired isights are directly applicable for compaies that eed techical advice i the selectio of a MDA tool. By gaiig practical experiece with model trasformatio, graduates should be able to look beyod marketig labels ad ivestigate a tool s adaptability. Moreover, compaies from e.g. the automotive idustry demad expertise i the customizatio ad itegratio of custom visual modelig tools [1, 18]. 9

36 28 5 Coclusios This paper preseted a ew course that combies traditioal lectures ad exercises o formal modelig ad verificatio with a series of practice-orieted lab sessios o emergig model-drive egieerig techiques. The course is focused o the defiitio ad itegratio of laguages rather tha o the use of the laguages as such. By icremetally developig a itegrated case study withi cotrolled lab sessios, studets ecouter problems i practice before readig ad debatig related papers. The permaet evaluatio of the course idicated cotiuous studet satisfactio, despite the theoretical ature of the backgroud material ad frequet failures of the supportive tool. Ackowledgemets This work has bee sposored by the Belgia atioal fud for scietific research (FWO) uder grat Formal Support for the Trasformatio of Software Models. The authors wish to thak Deis Dubé for providig techical support durig the preparatio of the AToM 3 lab sessios. [11] A. Kleppe, J. Warmer, ad W. Bast. MDA explaied: the model drive architecture: practice ad promise. Object Techology Series. Addiso Wesley, [12] T. Mes ad P. Va Gorp. A taxoomy of model trasformatio. I Proc. It l Workshop o Graph ad Model Trasformatio (GraMoT), Satelite Evet of GPCE, [13] M. Mias. Geeratig visual editors based o Fujaba/MOFLON ad DiaMeta. I H. Giese ad B. Westfechtel, editors, Proc. Fujaba Days. Techical Report tr-ri Uiversity of Paderbor, pages 35 42, Bayreuth, Germay, [14] O. Muliawa, H. Schippers, ad Pieter Va Gorp. Model drive, Template based, Model Trasformer (MoTMoT) [15] Object Maagemet Group. MOF QVT Fial Adopted Specificatio ptc/ , [16] D. Roseberg ad K. Scott. Use case drive object modelig with UML: a practical approach. Addiso-Wesley Logma Publishig Co., Ic., Bosto, MA, USA, [17] Uiversiteit Atwerpe. Blackboard academic suite [18] J. Weilad. Variatekofiguratio vo modellbasierter embedded automotive software Refereces [1] C. Bock. Visuelle domäespezifische sprache - der schlüssel zur modellgetriebee etwicklug vo meschmaschie-schittstelle? [2] M. Bohle et al. AdroMDA Model Drive Architecture framework [3] J. P. Bowe ad M. G. Hichey. Seve more myths of formal methods. IEEE Software, 12(4):34 41, [4] E. Commissio. ECTS - europea credit trasfer ad accumulatio system [5] K. Czarecki ad S. Helse. Feature-based survey of model trasformatio approaches. IBM Syst. J., 45(3): , [6] J. de Lara ad H. Vagheluwe. Usig atom 3 as a meta-case tool. I Iteratioal Coferece o Eterprise Iformatio Systems, pages , [7] I. Diethelm, L. Geiger, ad A. Züdorf. Systematic story drive modelig, a case study (Paderbor shuttle system). I Workshop o Scearios ad state machies: models, algorithms, ad tools; ICSE 04, Ediburgh, Scottlad, [8] Eclipse. Graphical Modelig Framework [9] K. Ehrig, C. Ermel, S. Häsge, ad G. Taetzer. Geeratio of visual editors as Eclipse plug-is. I ASE 05: Proceedigs of the 20th IEEE/ACM iteratioal Coferece o Automated software egieerig, pages , New York, NY, USA, ACM Press. [10] A. Hall. Seve myths of formal methods. IEEE Software, 07(5):11 19,

37 29 From Programmig to Modelig: Evolvig the Cotets of a Distributed Software Egieerig Course J. Cabot 1, F. J. Durá 2, N. Moreo 2, J.R. Romero 3, A. Vallecillo 2 1 Uiversitat Oberta de Cataluya, 2 Uiversidad de Málaga, 3 Uiversidad de Córdoba jcabot@uoc.edu, {dura, vergara, av}@lcc.uma.es, jrromero@uco.es Abstract Distributed Software Egieerig (DSE) cocepts i Computer Sciece (or Egieerig) Degrees are commoly itroduced usig a hads-o approach maily cosistig i teachig a distributed ad compoet-based techology platform (as Java Eterprise Editio or Microsoft.NET) ad proposig the studets to develop a small distributed software applicatio with it. Though this approach provides some relevat practical kowledge to the studets, we believe that it is ot the most appropriate oe to teach all the specificities of DSE. Thus, i this paper we report o our experiece with the redesig of the cotets of a iitial DSE course followig a MDAbased approach. By raisig the level of abstractio we gaied modularity, separatio of cocers ad techology idepedece, while makig the course evolve accordig to the latest treds i software developmet methods. Our experiece was ot free from problems but i geeral the iitiative has bee positively evaluated ad welcomed by the studets. 1. Itroductio The growig adoptio of Model-Drive Developmet (MDD) ad Model-Drive Architecture (MDA) approaches i today s software developmet projects is shiftig the focus of existig software egieerig methods from code to models, which are ow the primary artifacts of the software process. To prepare our studets for this ew developmet cotext, we believe that curret software egieerig courses must evolve i this directio. I this sese, the mai goal of this paper is to preset our experiece with the redesig of the cotets of a distributed software egieerig (DSE) course (DSE uderstood as the egieerig of distributed software [1] ad ot as the process of distributed developmet of software). This course is taught at the Ope Uiversity of Cataloia (UOC) [2], a fully virtual uiversity fouded i 1993 ad with more tha computer sciece studets. Though studyig i a virtual uiversity poses some additioal problems o the studets learig process of a DSE course, their discussio is out of the scope of this paper. We just wat to remark that, i a virtual course, the teachig materials become the primary referece for the studet (istead of the lecturer which ow adopts more the role of a tutor). Therefore, a adequate ad well-explaied cotet selectio for the DSE course is a key issue to improve its quality. I the UOC, the DSE course is the most advaced course i the software egieerig area. I previous courses, studets leart the phases of the software developmet cycle ad how to specify ad desig (i UML) a give software system. Fudametal cocepts of distributed systems (as asychroous commuicatio or clocks) are also reviewed i previous courses. The, the DSE course addresses the specificities of developig distributed software systems with emphasis o the use of architectural ad software compoets durig the specificatio ad implemetatio of such distributed systems. The DSE course has a estimated workload of 6 ECTS credits [3] (aroud 180 work hours i total). The rest of the paper discusses the reasos that motivated us to chage the DSE course cotets (sectio 2), justifies the proposed ew cotets (Sectio 3) ad gives some prelimiary coclusios after the completio of a first term usig the ew cotets ad materials (Sectio 4). 2. Reasos for a chage The previous cotets of the DSE course cosisted of three differet modules. The first oe provided a brief itroductio o distributed systems ad a descriptio of the RMI, CORBA ad DCOM techologies. The secod module was devoted to the study of the compoet techology, icludig some basic defiitios ad their represetatio i UML. Fially, the third oe (by far the largest oe) cotaied a thorough descriptio of the differet techologies formig the Java Eterprise Editio (JEE) platform.

38 30 Clearly, with those cotets, the course was more a programmig course tha a software egieerig course. The cotets were more focused o describig a particular techology tha o explaiig cocepts ad techiques commo to all kids of distributed systems. After a few terms with those cotets, we realized about a umber of drawbacks that impaired a correct learig of the DSE cocepts ad motivated the redesig of the course cotets as explaied i the ext sectio. Mai drawbacks ecoutered: - Studets were uable to develop complex systems. This requires raisig the level of abstractio far beyod their programmig-orieted view. - No methodological aspects about the specificatio/desig of distributed software systems are taught. Eve the few oes that do appear i the course are mostly hidde by the techical details of the JEE platform that are regarded as more relevat by the studets. - There was a importat lack of architectural cocepts. As a result, we foud that studets always proposed the same solutio (the classical 3-tier architecture) to all kids of distributed systems preseted durig the course. - The focus o specific techologies caused that may of the cotets became quickly outdated due to the high speed of techology evolutio. This implies that teachig materials eeded to be cotiuously updated ad, more importat, that part of the time studets ivested o the course became obsolete shortly after the course. Istead, a more abstract view of the area is more stable ad offers a more log-term usefuless of the leared cotets. - No distictio betwee platform-idepedet ad platform-specific cocepts was provided. Oe of the cosequeces is that, at the ed of the course, studets tet to believe that they oly kew how to develop distributed systems with JEE (ad ot, for istace, with.net or other platforms). Their perceptio was that all acquired kowledge was specific for that techology platform. 3. Compoet Software Egieerig ad Distributed Systems: A New Approach As metioed i the first sectio, this course is iteded to provide a itroductio to the cocepts ad fudametal methods for the desig ad developmet of compoet-based distributed applicatios, thus complemetig the kowledge acquired i previous courses. I this way, the course explais both the theoretical cocepts i the desig ad developmet of distributed applicatios, ad the way i which the preset techological platforms implemet such cocepts. Our mai goal is to combie a emietly practical approach with a coceptual frame that makes it idepedet of the techology so that the problems sketched i the previous sectio ca be overcome. The ew approach we follow couts at the momet o a icreasig iterest from idustry, where the complexity of the applicatios demads maageable, structured ad easy to uderstad desigs. The ew cotets of our DSE course cosist of five modules which are devoted to the followig sub-goals: - Module 1: To uderstad the differet cocers ad aspects that eed to be cosidered whe developig this kid of applicatios. - Module 2: To kow the differet architectural styles ad how to defie the more suitable software architecture accordig to the particular characteristics of each applicatio. - Module 3: To lear how compoet-orieted programmig ca serve as a implemetatio techique for software systems. - Module 4: To lear how this theoretical frame ca be realized o curret techological platforms, with special attetio to JEE. - Module 5: To uderstad the similarities ad differeces betwee the differet techological platforms curretly available, ad to become coscious that the software developmet process explaied here ca be used idepedetly of the fial implemetatio platform sice all of them follow the same architectoic priciples. I the followig subsectios, we will briefly discuss how our studets are led to acquire the kowledge ad skills required i each module. 3.1 Module 1: Viewpoits to cosider i the developmet of a distributed system Most curret proposals for describig the global architecture of distributed systems are based o the idetificatio ad separatio of idepedet viewpoits. Each oe of these viewpoits focuses o cocrete aspects of the systems, abstractig from the rest, ad thus simplifyig the desig. It ormally happes that the differet aspects to cosider i a distributed applicatio are itermigled, thus icreasig the complexity of its desig ad implemetatio. Eve worst, sice it is uusual to apply ay systematic method to hadle these cocers separately or to itegrate them i a cotrolled, their

39 31 hadlig is usually rather chaotic, ad depedet o the programmer or desiger at had. The Software Egieerig commuity has already come to the coclusio that these problems must be addressed i the first stages. Specifically, at the architectural level, whe decisios o structure, geeral goals ad strategies, implemetatios platforms ad system deploymet are take. I this lie, several (iteratioal or de-facto) stadards have bee published (the IEEE Std stadard, Kruchte s 4+1 views model, or the Referece Model for Ope Distributed Processig, kow as RM-ODP), which try to settle the basis for the descriptio of the global architecture of software systems, usig a modular separatio of the desig i differet perspectives, amed viewpoits. We agree that the use of stadards is the most effective way to achieve the required iteroperability betwee the differet parties ad orgaizatios ivolved i the desig ad developmet of complex systems. So, amog all the stadard proposals, we have chose RM-ODP [4] as a framework for teachig the DSE course. RM-ODP is a joit ISO/IEC ad ITU-T stadard which is curretly receivig icreasig iterest by may large compaies ad orgaizatio. It provides a comprehesive ad coheret framework of cocepts for the specificatio of complex large scale IT systems ad ow it has take o a ew sigificace i the light of the MDA iitiative from the OMG ad the wide-scale adoptio of Service-Orieted Architectures (SOA). I additio, major compaies ad orgaizatios are startig to use RM-ODP as a effective approach for structurig their large-scale distributed IT system specificatios, maily because the size ad complexity of curret IT systems is challegig most of the curret software egieerig methods ad tools. These methods ad tools were ot coceived for use with large, ope ad distributed systems, which are precisely the systems that the RM- ODP addresses. RM-ODP defies five differet ad complemetary viewpoits: eterprise, iformatio, computatio, egieerig, ad techology. Each of these viewpoits is studied separately iside the course. Besides, i RM- ODP, a abstract laguage is defied for each of the five viewpoits. They are abstract i the sese that they defie what cocepts should be used but ot how they should be represeted. Several otatios have bee proposed for the differet viewpoits, although we have opted for the geeral purpose modelig otatio UML (Uified Modelig Laguage [5]). UML is familiar to our studets, easy to lear ad to use by o techical people, offers a close mappig to implemetatios ad has commercial tool support. Furthermore, the use of UML for ODP system specificatio is curretly beig stadardized by ISO/IEC ad ITU-T [6], which allows us agai aligig our course cotets with iteratioal stadards somethig specially importat i ay egieerig disciplie. I summary, this first module serves as a itroductio to the cocepts ad mechaisms o which RM-ODP bases the architectural descriptio of distributed systems usig idepedet viewpoits. I additio, it reviews the mai iteratioal stadards related to these subjects that guaratee portability, iteroperability ad compatibility betwee applicatios developed by differet eterprises or orgaizatios. From the five ODP viewpoits, i this subject we cocetrate o two of them: the computatioal viewpoit, which provides the high-level descriptio of the software architecture ad fuctioality of the system i a platform ad techology idepedet maer; ad the egieerig viewpoit, which describes the cocepts ad mechaisms used for the distributio of that fuctioality across differet physical odes, i.e., machies ad processes. 3.2 Architectural styles for developmet distributed systems The computatioal viewpoit of a distributed system determies its software architecture by a high level of abstractio descriptio of its fuctioality i terms of architectural compoets, iterfaces ad coectors. Thus, the architectural compoets ecapsulate the basic system s fuctioality, provided through the compoets iterfaces, whereas the coectors describe how these iterfaces are coected to achieve that fuctioality. I this module, we show the studets the advatages of havig a idepedet techology desig for this viewpoit, i.e., a desig that is ot focused o how the architectural compoets will be later placed ad distributed i physical odes. I this regard, we put special attetio o the importace that the correct choice of a architectural style has i the developmet process. We preset to the studet the commoly used architectural styles for the developmet of distributed systems (e.g., multi layers, cliet-server ad peer-to-peer architectures) though we focus o the three-layer (or -layer) architecture due to its importace i the developmet of web applicatios. At the ed of this module, studets are able to fid ad adapt a architectural style to meet a cocrete system requiremet specificatio, takig ito accout ot oly its fuctioal but also extra-fuctioal requiremets such as performace, scalability, etc.

40 32 This is ot a easy task because we ca have several appropriate architectures that fit well with a software specificatio. So, to decide which is the best oe requires compromisig a set of quality criteria, may of which are usually cotradictory to each other. I additio, this secod module tries to show the studet how to make the architectural desig of a system software usig UML. This aim requires that the studet uderstads, o the oe had, the role of the architectural desig ad its relevace i the developmet process of distributed systems ad, o the other had, the importace of reusig existig architectural solutios to address a ew system desig with similar characteristics. 3.3 Compoet-orieted programmig as a techique for the implemetatio of software architectures. Oce we have selected a specific architectural patter for our applicatio ad the descriptio of the software architecture has bee made, we eed to develop the system. It is possible to use differet alteratives, depedig o the programmig paradigm chose: structured programmig, object-orieted programmig, compoet-orieted programmig, aspect-orieted programmig, etc. Each of these paradigms has associated a differet techology ad a series of programmig laguages, which are more apt for a specific type of systems. This module focuses o oe of these paradigms, amely compoet-orieted programmig (COP), curretly the most widely ackowledged ad used for developig distributed applicatios. Note that at the specificatio level (see previous sectio) we refer to architectural compoets istead of referrig to software compoets. The latter oes implemet the fuctioality architectural compoets defied by the software architecture of a system (i.e., software compoets realize architectural compoets). It is also importat to ote that the COP cocepts, mechaisms ad processes preseted i this module are described i a geeral way, idepedetly of ay cocrete platform or implemetatio techology, i order to separate the cocepts specific to this disciplie from their implemetatio i ay cocrete platform (commercial techologies evolve much faster tha their supportig theoretical cocepts). Hece, i this module we adopted the defiitio of compoet (proposed i [7]) that cosiders that the specificatio of a compoet represets the specificatio of a software uit ad describes both the provided services, as well as the required oes from other compoets, ad the behaviour of ay compoet istace cocerig to its specificatio. These compoet specificatios defie the abstract compoets that comprise the system desig ad refie the previous oes idetified i the computatioal viewpoit specificatio although there may ot exist a oe-to-oe correspodece amog them. That is, a architectural compoet may be implemeted by several differet software compoets itercoected, that joitly realize the services offered by the specificatio of such compoet. RM-ODP does ot prescribe ay specific developmet process to defie the tasks that must be performed by the software egieer to trasform the architectural compoets ad coectors ito software compoets. Therefore, i this course we have tried to offer the studets a geeric visio of the differet software developmet processes that permit us to implemet the requiremets of the software architecture from these software compoets. I ay case, ad for practical reasos, we try to follow the approach by Cheesma ad Daiels [7] because it is itrisically easy, ad also wide well kow ad adopted i practice. Architectural ad software compoets are described by meas of UML 2.0 compoet diagrams. I additio, for the represetatio of physical structures, such as DLL, executable files, etc., UML deploymet diagrams are used. 3.4 Implemetig with JEE The basic objective of this module is to show the studet how the theoretical cocepts studied i the previous modules are implemeted i a specific platform. I particular, we describe i detail oe of the platforms commoly used owadays to develop distributed systems: Java Eterprise Editio. The module explais the priciples of the JEE platform, its elemets ad the architectural patters it provides. The module is focused o the study of multilayer architectures, as proposed by the JEE applicatio model, ad aalyzes the compoets ad techologies offered by this particular platform i each layer (the Eterprise Java Beas, the Java Server Pages, etc.). Oce, the studet has acquired a basic kowledge of the JEE platform, he/she lears how to trasform the platform-idepedet specificatio of the distributed software system (obtaied as a result of defiig the RM-ODP viewpoits described above) ito a platformspecific desig for the JEE platform. This desig is represeted usig specific UML profiles for describig JEE applicatios. If ot before, durig this traslatio

41 33 the studet fially realizes that the cotets of the first three modules ca be used regardless the techology platform where the system is about to be implemeted. The last part of this module gives some recommedatios that help i choosig the right JEE techology for each part of the system durig the traslatio from the RM-ODP specificatio to the JEE desig. These recommedatios are based o the ow professioal experiece of most of the course tutors. 3.5 Other techological platforms Fially, this last module itroduces alterative platforms to JEE. This module is iteded to provide a historical view of the implemetatio techologies that ca be used for the developmet of distributed applicatios. The mai priciples of CORBA, Microsoft.NET ad the Web Services implemetatio platforms are explaied here usig the same simple distributed applicatio to illustrate all of them. Thus, the skills ad kowledge acquired by the studet i this module will allow him to establish the mai similarities ad differeces betwee them. Additioally, we believe this compariso facilitates that studets become familiar with the mai keywords ad acroyms used by the differet platforms ad that this improves the studet s cofidece o his/her abilities to develop distributed systems i ay kid of techology platform. 4. Coclusios After completig a first term with these ew course cotets, we must say that the prelimiary results are quite positive. Though we have ot coducted a formal poll, iformal opiios expressed by the studets show that they quite prefer this ew approach. The most cited reaso is that ow they have a better overall view of the aspects, cocers ad problems of distributed software egieerig, without losig a practical view (the programmig part with JEE). We foud this positive feedback somewhat surprisig because studets ted to prefer practical cotets istead of more abstract cocepts. Our approach was ot free from problems, either. We would like to poit out some of the challeges that we thik must be addressed i order to successfully teach a DSE course with our proposed set of cotets. They are based o our fidigs after this experiece. - The cotets of the course are quite extesive. To facilitate the studet learig process additioal auxiliary materials (as tutorials, case studies, ) should be provided - The course requires a broad set of previous kowledge (software egieerig, Java programmig, databases, ) ad thus, the course pre-requisites must be properly defied ad eforced. - Techical assistace should be provided durig the programmig part. Implemetig a applicatio with JEE requires istallig ad cofigurig a applicatio server (JBoss i our case), a itegrated developmet eviromet (Eclipse) ad a database server (MySQL). To avoid studets losig too much time with these low-level tasks, some kid of techical assistace should be available. We provided a virtual lab with a specific tutor that aswers all istallig ad cofiguratio questios withi 24 hours. - Difficulties i fidig tutors able to teach the course. A adequate profile for this course must mix techical skills with deep UML aalysis ad desig capabilities. We have had serious problems i fidig tutors with such a profile. A alterative way to tackle this problem would be to split the course ito two separate parts, each oe with a differet tutor. Fially, we expect that our experieces ad observatios ca be useful to other educators who are ivolved i teachig Distributed Software Egieerig (or similar) courses. 5. Refereces [1] J. Kramer. "Distributed software egieerig", ICSE'94, , 1994 [2] UOC, "Ope Uiversity of Cataloia", [3] Europea Commissio, "ECTS - Europea Credit Trasfer ad Accumulatio System", rates/ects/idex_e.html. [4] ISO/IEC, "Referece Model for Ope Distributed Processig" ISO/IEC IS ITU-T Recs X.901 to X.904, [5] OMG, "UML 2.0 Superstructure Specificatio," OMG Adopted Specificatio (ptc/ ), [6] ISO/IEC, "Use of UML for ODP system specificatios" ISO/IEC FDIS 19793, ITU-T Rec. X.906, [7] J. Cheesma ad J. Daiels, UML Compoets. A simple process for specifyig compoet-based software. Addiso-Wesley, 2000.

42 34 Teachig MDA: From Pyramids to Sad Clocks Ileaa Ober IRIT Toulouse Uiversity 118 Route de Narboe, F TOULOUSE CEDEX 9 ileaa.ober@irit.fr Abstract Oe of the mai issues i teachig is fidig the best abstractio that ca help the studet get a correct picture of reality. This issue is particularly sesitive whe teachig model drive developmet cocepts. Surprisigly, we oticed that eve experieced studets fid it hard to uderstad the MDA philosophy ad that their experiece i modelig ad usig modelig tools does ot facilitate their comprehesio. Experieced studets perceptio of the meta level is disturbed by the lack of iteroperability betwee various commercial tools, which cotradicts the beauty of the pyramidal view of model drive developmet. I this paper we propose a ew poit of view o the relatioships betwee the cocepts hadled by the model drive developmet techology. This ew visio, which is cetered o models, proved much more illustrative for the state of affairs i MDD idustry as cofirmed by feedbacks received from studets ad by their results. 1. Itroductio The curriculum of the Toulouse Uiversity iduces a early cotact with UML ad modelig i geeral, as meas to model ad develop software. Studets get familiar with the laguage at the udergraduate level ad apply it itesively o scholar projects. Additioally, startig the last year of the udergraduate level, ad durig each year of the graduate level, studets get i cotact with the real world, through various iterships i compaies that use the techiques leared at school. More ad more, durig the last years, the iterships cofrot the studets with the use of MDA techiques o real size projects. This usage varies from the simple use of modelig laguages ad tools, to the use of model trasformatio techiques. At the graduate level we have a course called Modelig ad meta modelig which aims to revisit MDA techiques i order to structure the iformatio that studets have received through various sources at school ad durig their practical work i iterships. It is at this poit that we tackle issues as meta-modelig, levels of abstractio, model trasformatio, etc. I spite of the relatively good backgroud of our studets, as proved also by their results i iterships, feedbacks of their idustrial tutors ad various examiatios, we have difficulties i fidig the argumets ad vocabulary that would allow them to easily switch betwee abstractio levels ad to master the ratioales of MDA cocepts [1]. We make the case that their early cotact with idustrial projects, ad real-life projects, does ot ecessarily help them, ad thus they fid it hard to accept some of the MDA purist priciples. Takig as a basis this observatio, ad usig a theory that we developed o the role of metamodels [4], we tried durig the last two academic years a ew approach i teachig MDA. This paper overviews two strategies of presetig MDA cocepts ad discusses o the advatages of the oe that proved most successful. 2. Teachig MDA i the spirit of pyramids Whe describig the models, meta-models ad their mutual relatioships, the classical picture used is that of a edge-up pyramid (see Figure 1), with metamodels o top of models. The meaig of this picture is basically that a model correspods to a sigle metamodel ad that each meta-model may have several models coformig to its defiitio. This is the classical view of the model meta-model relatioship, which was already preseted i the first versios of the UML stadard. It occurs agai i the last versios, ad is discussed ito more detail i [2].

43 35 While this picture is of course accurate ad suggestive for the istace-like relatioship betwee model-realizatio, models ad meta-models, our experiece shows that it may be cofusig for people familiar with some idividual MDA cocepts, but lackig the maturity to have a sythetic ad abstractig overview. Discussios with the studets allowed us to realize that oe of the most disturbig (if ot The most disturbig) factor i acquirig a sythetic overview is the techological mess at the level of modelig tools, primarily the lack of real iteroperability betwee tools. pyramid-like view of the model -- meta-model relatioships for a sad watch-like view. 3. Sad watches: a alterative view of MDA cocepts relatioships The sad-watch view starts from the observatio, that i the real world models rarely coform to a uique meta-model. Especially whe they are dealt with i various tools, the models actually coform to a set of (related) meta models. meta model model Figure 2 UML model example model realisatio Let us cosider a very simple UML model, as depicted i Figure 2, ad two distorted ad simplified UML meta-models, such as give i Figure 3 ad Figure 4. Figure 1 Pyramidal view of MDA relatioships Ideed, studets fid it hard to uderstad, for istace, that various UML tools are ot actually compatible, especially as they all implemet a stadard modelig laguage ad there is a allegedly stadard iterchage format. As teachers, we try of course to fid reasos, related to the history of tool developmet, to the complexity of the XMI stadard, to politicoecoomical issues. It helps studets, but some fuzziess still remais. It seems quite ureasoable i these coditios to argue o the uiqueess of the UML meta-model, ad to state that each UML model coforms to the oe ad oly UML meta-model. Our experiece shows that this difficulty eve more sigificat for studets that have some experiece. The mismatch betwee reality ad its abstractio raises questios about the accuracy ad the soudess of the cocepts we teach. Therefore we have looked for a abstractio closer to reality. Our research work o the iteroperability betwee tools based o (ad-hoc) stadards [2] gave us the opportuity to recosider the relatioships betwee the various MDA cocepts. As a result we had to drop the Figure 3 First meta-model cadidate

44 36 A quick look at the three figures allows us to say that the model i Figure 2 actually coforms to both meta-models. I fact, it also coforms to quite a lot of other meta-models, which are either super-sets of these oes, or equivalet to them. We do ot discuss here o the equivalece relatioship betwee of metamodels, which is a research topic by itself. We rely o the ituitive otio of meta-model equivalece, sice we eed it precisely i order to facilitate comprehesio. meta model model model realisatio Figure 5 Sad-watch view of MDA relatioships Figure 4 Secod meta-model cadidate A UML model that coforms to several metamodels is precisely the situatio that exists for istace i the case of two UML tools, offerig export-import facilities. Iheretly the two tools implemet differet meta-models, as the UML stadard meta-model is ot (ecessarily) directly used by case tools. Sice the two tools support differet metamodels, they ca maage to iterchage some (more or less) simple models, but still caot exchage ay model. Simple models would coform to both of these meta-models. I their case, the import-export is ot problematic. However, for more complex models, that use parts specific to oe of the tools, the import-export ca be problematic, as such models are ot (at least by default) coformat to both meta-models. Based o these observatios we trasformed the pyramidal-like view of the models ito the sad-watch like view described i Figure 5. The sad-watch view is cetered o the otio of model, basically because the model is the most used cocept of MDD. Each model may have a set of (rutime) realizatios that coform to it. Moreover, each model coforms to a set of meta-models. The key differece betwee the two visios is of course that we explicitly admit that a model coforms to a set of meta-models. While this is ot forbidde by the curret view, i which oe meta-model has a set of models coformat to it, this is ot directly allowed either. Before discussig how we used our oe model coforms to several meta-models visio i teachig MDA priciples, we quickly asses the advatages ad drawbacks of this sad-watch shaped visio. The mai advatage that we see is that it reflects better the situatio existig i the real world. It also aturally raises the issue of compatibility betwee meta-models which is a research topic of its ow, where work still has to be doe. Moreover, the sad-watch visio has the advatage of ceterig the discussio o models which are the etities the people are the most familiar with. The oly drawback that we see is that sice the model is term relative to the viewpoit (e.g. the UML metamodel is a model of its ow), the sad-watch view is also relative ad may eed to be recosidered, accordig to the abstractio level that we are focusig o. We should highlight that we prefer this view ot just because of the state of affairs i idustrial use of MDA (lack of tool iteroperability, variety of UML meta-models, etc) but rather because we feel it reflects better the MDA philosophy. Remember that a few years ago it seemed obvious THE relatioship betwee a model ad a meta-model is a is istace of relatioship. Today we are more flexible about the ature of this relatioship ad we admit the existece

45 37 of a geeric coforms to relatioship betwee models ad meta-models, which ca be (but it is ot ecessarily) a is istace of relatioship. I the same spirit, we thik that the sad-watch view is a geeralizatio of the classical pyramidal view, which removes the ueeded costrait of the uiqueess of the meta-model a model coforms to. 4. Teachig MDA i the spirit of sad watches Durig the last two academic years, i the course that teaches the basics of MDA, by presetig its cocepts ad their mutual relatioships, we used the sad-watch visio described i the previous sectio. We used this visio i the graduate course Modelig ad meta modelig. This course addresses to studets familiar with modelig ad with (ofte strog) practical experiece i modelig. The results were very positive, as studets already familiar with MDA cocepts ad havig some idustrial experiece i modelig, accepted much easier the overall picture ad without havig the impressio that the course is presetig a urealistic world. Moreover, ad this is the poit that made us more cofidet i this approach, we oticed a much more mature feed-back from studets. Spotaeously, studets raised issues related to model trasformatio [3] ad model equivalece. The ext topic of the course, that addresses trasformatio related issues, arrived aturally as a obvious cotiuatio of the MDA cocepts itroductio, ad ot as yet aother topic withi the MDA course. As the basic iformatio was much easier to trasmit ad accept, the course was more cosistet ad we maaged to tackle more issues, i particular related to model trasformatio. 5. Coclusios Model drive developmet is a relatively ew techological field. Although promisig, the techology itegratio ito the idustrial practice is slowed dow by the lack of properly traied staff [5]. Oe of the mai missios of the academia is to prepare studets for the idustrial world as it will be tomorrow. The chace of our studets is that they do ot have to follow the way the techology evolved, ad ca directly get familiar with a way of thikig that more ad more evolves towards abstractig away details, thikig globally, ad cocetratig to the real problems ot to techological small problems (at least ot at a wrog time). I this cotext, we have to look for the best strategies to preset cocepts iheretly complex. Our aim should be the ot oly to fid the most accessible represetatios of the cocept, but also those that are closest to the realities of the real life. We make the case that usig a alterative represetatio of the abstractio level hierarchy would facilitate comprehesio ad the later accommodatio to the realities of the idustrial best practice. We had the opportuity to compare the two teachig approaches o similar studet populatios ad the results were very ecouragig. Ideed, ot oly we maaged to itroduce the MDA specific cocepts more aturally, but also the closeess with the situatios ecoutered i practice made our poit more trustworthy ad raised more valid ad more costructive issues. All of these allowed us to have more dese presetatios with much better results as show by the examiatios results ad feed-backs of their future teams, which we start to get. 6. Refereces [1] G. Egels, J. H. Hausma, M. Lohma, S. Sauer, Teachig UML Is Teachig Software Egieerig Is Teachig Abstractio. MoDELS Satellite Evets 2005: LNCS 3844, , 2005 [2] Jea-Marie Favre. Foudatios of Model (Drive) (Reverse) Egieerig : Models - Episode I: Stories of The Fidus Papyrus ad of The Solarus. I Jea Bezivi ad Reiko Heckel, (eds), Laguage Egieerig for Model- Drive Software Developmet, umber i Dagstuhl Semiar Proceedigs. IBFI, Schloss Dagstuhl, Germay, [3] Tom Mes, Krzysztof Czarecki, Pieter Va Gorp. A Taxoomy of Model Trasformatios. I Jea Bezivi ad Reiko Heckel, (eds), Laguage Egieerig for Model- Drive Software Developmet, umber i Dagstuhl Semiar Proceedigs. IBFI, Schloss Dagstuhl, Germay, [4] I. Ober, A. Priz, What do we eed metamodels for?, 4th Nordic Workshop o UML ad Software Modellig, GRIMSTAD, NORWAY, p. 8-28, 2006 [5] Staley J. Sewall, Executive Justificatio for Adoptig Model Drive Architecture (MDA), OMG Presetatio, November 2003, available at /11-03_Sewall_MDA_paper.pdf

46

47 Iformatio ad Software Techology Aims ad Scope Iformatio ad Software Techology is the iteratioal archival joural focusig o research ad experiece that cotributes to the improvemet of software developmet practices. It covers methods ad techiques to more effectively ad efficietly egieer ad maage software. Examples of areas covered by the joural iclude: empirical ad experimetal aalyses software ecoomics project maagemet software metrics quality maagemet, assurace ad cotrol software processes ad developmet methods requiremets egieerig specificatio ad desig software architecture ad modelig compoets, frameworks ad product-lies testig ad program aalysis maiteace, reverse egieerig ad evolutio cofiguratio maagemet ad coordiatio large-scale distributed developmet Co-Editors M. Shepperd Bruel Uiversity, School of IS, Computig ad Maths, Uxbridge, UB8 3PH, UK marti.shepperd@bruel.ac.uk C. Wohli School of Egieerig, Blekige Istitute of Techology, Roeby, Swede claes.wohli@bth.se S. Elbaum Departmet of Computer Sciece ad Egieerig Uiversity of Nebraska- Licol, Licol, USA elbaum@cse.ul.edu Joural Homepage The Iformatio ad Software Techology homepage cotais all the iformatio you eed o the editorial board, submittig your paper, accessig the editorial maagemet system, accessig articles o ScieceDirect, subscribig to most dowloaded article alerts ad how to dowload a free sample copy. Submit your paper olie Visit:

Natural language processing implementation on Romanian ChatBot

Natural language processing implementation on Romanian ChatBot Proceedigs of the 9th WSEAS Iteratioal Coferece o SIMULATION, MODELLING AND OPTIMIZATION Natural laguage processig implemetatio o Romaia ChatBot RALF FABIAN, MARCU ALEXANDRU-NICOLAE Departmet for Iformatics

More information

E-LEARNING USABILITY: A LEARNER-ADAPTED APPROACH BASED ON THE EVALUATION OF LEANER S PREFERENCES. Valentina Terzieva, Yuri Pavlov, Rumen Andreev

E-LEARNING USABILITY: A LEARNER-ADAPTED APPROACH BASED ON THE EVALUATION OF LEANER S PREFERENCES. Valentina Terzieva, Yuri Pavlov, Rumen Andreev Titre du documet / Documet title E-learig usability : A learer-adapted approach based o the evaluatio of leaer's prefereces Auteur(s) / Author(s) TERZIEVA Valetia ; PAVLOV Yuri (1) ; ANDREEV Rume (2) ;

More information

HANDBOOK. Career Center Handbook. Tools & Tips for Career Search Success CALIFORNIA STATE UNIVERSITY, SACR AMENTO

HANDBOOK. Career Center Handbook. Tools & Tips for Career Search Success CALIFORNIA STATE UNIVERSITY, SACR AMENTO HANDBOOK Career Ceter Hadbook CALIFORNIA STATE UNIVERSITY, SACR AMENTO Tools & Tips for Career Search Success Academic Advisig ad Career Ceter 6000 J Street Lasse Hall 1013 Sacrameto, CA 95819-6064 916-278-6231

More information

CONSTITUENT VOICE TECHNICAL NOTE 1 INTRODUCING Version 1.1, September 2014

CONSTITUENT VOICE TECHNICAL NOTE 1 INTRODUCING  Version 1.1, September 2014 preview begis oct 2014 lauches ja 2015 INTRODUCING WWW.FEEDBACKCOMMONS.ORG A serviced cloud platform to share ad compare feedback data ad collaboratively develop feedback ad learig practice CONSTITUENT

More information

Consortium: North Carolina Community Colleges

Consortium: North Carolina Community Colleges Associatio of Research Libraries / Texas A&M Uiversity www.libqual.org Cotributors Collee Cook Texas A&M Uiversity Fred Heath Uiversity of Texas BruceThompso Texas A&M Uiversity Martha Kyrillidou Associatio

More information

'Norwegian University of Science and Technology, Department of Computer and Information Science

'Norwegian University of Science and Technology, Department of Computer and Information Science The helpful Patiet Record System: Problem Orieted Ad Kowledge Based Elisabeth Bayega, MS' ad Samso Tu, MS2 'Norwegia Uiversity of Sciece ad Techology, Departmet of Computer ad Iformatio Sciece ad Departmet

More information

Management Science Letters

Management Science Letters Maagemet Sciece Letters 4 (24) 2 26 Cotets lists available at GrowigSciece Maagemet Sciece Letters homepage: www.growigsciece.com/msl A applicatio of data evelopmet aalysis for measurig the relative efficiecy

More information

Application for Admission

Application for Admission Applicatio for Admissio Admissio Office PO Box 2900 Illiois Wesleya Uiversity Bloomig, Illiois 61702-2900 Apply o-lie at: www.iwu.edu Applicatio Iformatio I am applyig: Early Actio Regular Decisio Early

More information

arxiv: v1 [cs.dl] 22 Dec 2016

arxiv: v1 [cs.dl] 22 Dec 2016 ScieceWISE: Topic Modelig over Scietific Literature Networks arxiv:1612.07636v1 [cs.dl] 22 Dec 2016 A. Magalich, V. Gemmetto, D. Garlaschelli, A. Boyarsky Uiversity of Leide, The Netherlads {magalich,

More information

part2 Participatory Processes

part2 Participatory Processes part part2 Participatory Processes Participatory Learig Approaches Whose Learig? Participatory learig is based o the priciple of ope expressio where all sectios of the commuity ad exteral stakeholders

More information

Fuzzy Reference Gain-Scheduling Approach as Intelligent Agents: FRGS Agent

Fuzzy Reference Gain-Scheduling Approach as Intelligent Agents: FRGS Agent Fuzzy Referece Gai-Schedulig Approach as Itelliget Agets: FRGS Aget J. E. ARAUJO * eresto@lit.ipe.br K. H. KIENITZ # kieitz@ita.br S. A. SANDRI sadra@lac.ipe.br J. D. S. da SILVA demisio@lac.ipe.br * Itegratio

More information

2014 Gold Award Winner SpecialParent

2014 Gold Award Winner SpecialParent Award Wier SpecialParet Dedicated to all families of childre with special eeds 6 th Editio/Fall/Witer 2014 Desig ad Editorial Awards Competitio MISSION Our goal is to provide parets of childre with special

More information

VISION, MISSION, VALUES, AND GOALS

VISION, MISSION, VALUES, AND GOALS 6 VISION, MISSION, VALUES, AND GOALS 2010-2015 VISION STATEMENT Ohloe College will be kow throughout Califoria for our iclusiveess, iovatio, ad superior rates of studet success. MISSION STATEMENT The Missio

More information

On March 15, 2016, Governor Rick Snyder. Continuing Medical Education Becomes Mandatory in Michigan. in this issue... 3 Great Lakes Veterinary

On March 15, 2016, Governor Rick Snyder. Continuing Medical Education Becomes Mandatory in Michigan. in this issue... 3 Great Lakes Veterinary michiga veteriary medical associatio i this issue... 3 Great Lakes Veteriary Coferece 4 What You Need to Kow Whe Issuig a Iterstate Certificate of Ispectio 6 Low Pathogeic Avia Iflueza H5 Virus Detectios

More information

also inside Continuing Education Alumni Authors College Events

also inside Continuing Education Alumni Authors College Events SUMMER 2016 JAMESTOWN COMMUNITY COLLEGE ALUMNI MAGAZINE create a etrepreeur creatig a busiess a artist creatig beauty a citize creatig the future also iside Cotiuig Educatio Alumi Authors College Evets

More information

The open source development model has unique characteristics that make it in some

The open source development model has unique characteristics that make it in some Is the Development Model Right for Your Organization? A roadmap to open source adoption by Ibrahim Haddad The open source development model has unique characteristics that make it in some instances a superior

More information

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform doi:10.3991/ijac.v3i3.1364 Jean-Marie Maes University College Ghent, Ghent, Belgium Abstract Dokeos used to be one of

More information

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Implementing a tool to Support KAOS-Beta Process Model Using EPF Implementing a tool to Support KAOS-Beta Process Model Using EPF Malihe Tabatabaie Malihe.Tabatabaie@cs.york.ac.uk Department of Computer Science The University of York United Kingdom Eclipse Process Framework

More information

Software Maintenance

Software Maintenance 1 What is Software Maintenance? Software Maintenance is a very broad activity that includes error corrections, enhancements of capabilities, deletion of obsolete capabilities, and optimization. 2 Categories

More information

Practice Examination IREB

Practice Examination IREB IREB Examination Requirements Engineering Advanced Level Elicitation and Consolidation Practice Examination Questionnaire: Set_EN_2013_Public_1.2 Syllabus: Version 1.0 Passed Failed Total number of points

More information

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor Introduction to Modeling and Simulation Conceptual Modeling OSMAN BALCI Professor Department of Computer Science Virginia Polytechnic Institute and State University (Virginia Tech) Blacksburg, VA 24061,

More information

DERMATOLOGY. Sponsored by the NYU Post-Graduate Medical School. 129 Years of Continuing Medical Education

DERMATOLOGY. Sponsored by the NYU Post-Graduate Medical School. 129 Years of Continuing Medical Education Advaces i DERMATOLOGY THURSDAY - FRIDAY JUNE 7-8, 2012 New York, NY Sposored by the NYU Post-Graduate Medical School 129 Years of Cotiuig Medical Educatio THE RONALD O. PERELMAN DEPARTMENT OF DERMATOLOGY

More information

White Paper. The Art of Learning

White Paper. The Art of Learning The Art of Learning Based upon years of observation of adult learners in both our face-to-face classroom courses and using our Mentored Email 1 distance learning methodology, it is fascinating to see how

More information

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1 Notes on The Sciences of the Artificial Adapted from a shorter document written for course 17-652 (Deciding What to Design) 1 Ali Almossawi December 29, 2005 1 Introduction The Sciences of the Artificial

More information

Specification of the Verity Learning Companion and Self-Assessment Tool

Specification of the Verity Learning Companion and Self-Assessment Tool Specification of the Verity Learning Companion and Self-Assessment Tool Sergiu Dascalu* Daniela Saru** Ryan Simpson* Justin Bradley* Eva Sarwar* Joohoon Oh* * Department of Computer Science ** Dept. of

More information

Getting Started with Deliberate Practice

Getting Started with Deliberate Practice Getting Started with Deliberate Practice Most of the implementation guides so far in Learning on Steroids have focused on conceptual skills. Things like being able to form mental images, remembering facts

More information

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments Cristina Vertan, Walther v. Hahn University of Hamburg, Natural Language Systems Division Hamburg,

More information

PROCESS USE CASES: USE CASES IDENTIFICATION

PROCESS USE CASES: USE CASES IDENTIFICATION International Conference on Enterprise Information Systems, ICEIS 2007, Volume EIS June 12-16, 2007, Funchal, Portugal. PROCESS USE CASES: USE CASES IDENTIFICATION Pedro Valente, Paulo N. M. Sampaio Distributed

More information

Modeling user preferences and norms in context-aware systems

Modeling user preferences and norms in context-aware systems Modeling user preferences and norms in context-aware systems Jonas Nilsson, Cecilia Lindmark Jonas Nilsson, Cecilia Lindmark VT 2016 Bachelor's thesis for Computer Science, 15 hp Supervisor: Juan Carlos

More information

Web-based Learning Systems From HTML To MOODLE A Case Study

Web-based Learning Systems From HTML To MOODLE A Case Study Web-based Learning Systems From HTML To MOODLE A Case Study Mahmoud M. El-Khoul 1 and Samir A. El-Seoud 2 1 Faculty of Science, Helwan University, EGYPT. 2 Princess Sumaya University for Technology (PSUT),

More information

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum Stephen S. Yau, Fellow, IEEE, and Zhaoji Chen Arizona State University, Tempe, AZ 85287-8809 {yau, zhaoji.chen@asu.edu}

More information

THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY

THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY F. Felip Miralles, S. Martín Martín, Mª L. García Martínez, J.L. Navarro

More information

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining Dave Donnellan, School of Computer Applications Dublin City University Dublin 9 Ireland daviddonnellan@eircom.net Claus Pahl

More information

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining Dave Donnellan, School of Computer Applications Dublin City University Dublin 9 Ireland daviddonnellan@eircom.net Claus Pahl

More information

Improving Conceptual Understanding of Physics with Technology

Improving Conceptual Understanding of Physics with Technology INTRODUCTION Improving Conceptual Understanding of Physics with Technology Heidi Jackman Research Experience for Undergraduates, 1999 Michigan State University Advisors: Edwin Kashy and Michael Thoennessen

More information

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1 Patterns of activities, iti exercises and assignments Workshop on Teaching Software Testing January 31, 2009 Cem Kaner, J.D., Ph.D. kaner@kaner.com Professor of Software Engineering Florida Institute of

More information

LEGO MINDSTORMS Education EV3 Coding Activities

LEGO MINDSTORMS Education EV3 Coding Activities LEGO MINDSTORMS Education EV3 Coding Activities s t e e h s k r o W t n e d Stu LEGOeducation.com/MINDSTORMS Contents ACTIVITY 1 Performing a Three Point Turn 3-6 ACTIVITY 2 Written Instructions for a

More information

ECE-492 SENIOR ADVANCED DESIGN PROJECT

ECE-492 SENIOR ADVANCED DESIGN PROJECT ECE-492 SENIOR ADVANCED DESIGN PROJECT Meeting #3 1 ECE-492 Meeting#3 Q1: Who is not on a team? Q2: Which students/teams still did not select a topic? 2 ENGINEERING DESIGN You have studied a great deal

More information

WORK OF LEADERS GROUP REPORT

WORK OF LEADERS GROUP REPORT WORK OF LEADERS GROUP REPORT ASSESSMENT TO ACTION. Sample Report (9 People) Thursday, February 0, 016 This report is provided by: Your Company 13 Main Street Smithtown, MN 531 www.yourcompany.com INTRODUCTION

More information

On-Line Data Analytics

On-Line Data Analytics International Journal of Computer Applications in Engineering Sciences [VOL I, ISSUE III, SEPTEMBER 2011] [ISSN: 2231-4946] On-Line Data Analytics Yugandhar Vemulapalli #, Devarapalli Raghu *, Raja Jacob

More information

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL

GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL The Fifth International Conference on e-learning (elearning-2014), 22-23 September 2014, Belgrade, Serbia GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL SONIA VALLADARES-RODRIGUEZ

More information

Designing Educational Computer Games to Enhance Teaching and Learning

Designing Educational Computer Games to Enhance Teaching and Learning IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 6, Ver. I (Nov. - Dec. 2016), PP 01-10 www.iosrjournals.org Designing Educational Computer Games to

More information

Self Study Report Computer Science

Self Study Report Computer Science Computer Science undergraduate students have access to undergraduate teaching, and general computing facilities in three buildings. Two large classrooms are housed in the Davis Centre, which hold about

More information

Online Marking of Essay-type Assignments

Online Marking of Essay-type Assignments Online Marking of Essay-type Assignments Eva Heinrich, Yuanzhi Wang Institute of Information Sciences and Technology Massey University Palmerston North, New Zealand E.Heinrich@massey.ac.nz, yuanzhi_wang@yahoo.com

More information

The Moodle and joule 2 Teacher Toolkit

The Moodle and joule 2 Teacher Toolkit The Moodle and joule 2 Teacher Toolkit Moodlerooms Learning Solutions The design and development of Moodle and joule continues to be guided by social constructionist pedagogy. This refers to the idea that

More information

MGT/MGP/MGB 261: Investment Analysis

MGT/MGP/MGB 261: Investment Analysis UNIVERSITY OF CALIFORNIA, DAVIS GRADUATE SCHOOL OF MANAGEMENT SYLLABUS for Fall 2014 MGT/MGP/MGB 261: Investment Analysis Daytime MBA: Tu 12:00p.m. - 3:00 p.m. Location: 1302 Gallagher (CRN: 51489) Sacramento

More information

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq 835 Different Requirements Gathering Techniques and Issues Javaria Mushtaq Abstract- Project management is now becoming a very important part of our software industries. To handle projects with success

More information

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence COURSE DESCRIPTION This course presents computing tools and concepts for all stages

More information

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

Including the Microsoft Solution Framework as an agile method into the V-Modell XT Including the Microsoft Solution Framework as an agile method into the V-Modell XT Marco Kuhrmann 1 and Thomas Ternité 2 1 Technische Universität München, Boltzmann-Str. 3, 85748 Garching, Germany kuhrmann@in.tum.de

More information

Carolina Course Evaluation Item Bank Last Revised Fall 2009

Carolina Course Evaluation Item Bank Last Revised Fall 2009 Carolina Course Evaluation Item Bank Last Revised Fall 2009 Items Appearing on the Standard Carolina Course Evaluation Instrument Core Items Instructor and Course Characteristics Results are intended for

More information

Process Assessment Issues in a Bachelor Capstone Project

Process Assessment Issues in a Bachelor Capstone Project Process Assessment Issues in a Bachelor Capstone Project, In O'Connor, R.V., Mitasiunas, A. and Ross, M. (Eds), Proceeding of the 1st International Workshop on Software Process Education, Training and

More information

Multimedia Courseware of Road Safety Education for Secondary School Students

Multimedia Courseware of Road Safety Education for Secondary School Students Multimedia Courseware of Road Safety Education for Secondary School Students Hanis Salwani, O 1 and Sobihatun ur, A.S 2 1 Universiti Utara Malaysia, Malaysia, hanisalwani89@hotmail.com 2 Universiti Utara

More information

Introduction to Moodle

Introduction to Moodle Center for Excellence in Teaching and Learning Mr. Philip Daoud Introduction to Moodle Beginner s guide Center for Excellence in Teaching and Learning / Teaching Resource This manual is part of a serious

More information

A Neural Network GUI Tested on Text-To-Phoneme Mapping

A Neural Network GUI Tested on Text-To-Phoneme Mapping A Neural Network GUI Tested on Text-To-Phoneme Mapping MAARTEN TROMPPER Universiteit Utrecht m.f.a.trompper@students.uu.nl Abstract Text-to-phoneme (T2P) mapping is a necessary step in any speech synthesis

More information

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse

Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse Three Strategies for Open Source Deployment: Substitution, Innovation, and Knowledge Reuse Jonathan P. Allen 1 1 University of San Francisco, 2130 Fulton St., CA 94117, USA, jpallen@usfca.edu Abstract.

More information

Computer Organization I (Tietokoneen toiminta)

Computer Organization I (Tietokoneen toiminta) 581305-6 Computer Organization I (Tietokoneen toiminta) Teemu Kerola University of Helsinki Department of Computer Science Spring 2010 1 Computer Organization I Course area and goals Course learning methods

More information

HEPCLIL (Higher Education Perspectives on Content and Language Integrated Learning). Vic, 2014.

HEPCLIL (Higher Education Perspectives on Content and Language Integrated Learning). Vic, 2014. HEPCLIL (Higher Education Perspectives on Content and Language Integrated Learning). Vic, 2014. Content and Language Integration as a part of a degree reform at Tampere University of Technology Nina Niemelä

More information

DICE - Final Report. Project Information Project Acronym DICE Project Title

DICE - Final Report. Project Information Project Acronym DICE Project Title DICE - Final Report Project Information Project Acronym DICE Project Title Digital Communication Enhancement Start Date November 2011 End Date July 2012 Lead Institution London School of Economics and

More information

Number of students enrolled in the program in Fall, 2011: 20. Faculty member completing template: Molly Dugan (Date: 1/26/2012)

Number of students enrolled in the program in Fall, 2011: 20. Faculty member completing template: Molly Dugan (Date: 1/26/2012) Program: Journalism Minor Department: Communication Studies Number of students enrolled in the program in Fall, 2011: 20 Faculty member completing template: Molly Dugan (Date: 1/26/2012) Period of reference

More information

An Open Framework for Integrated Qualification Management Portals

An Open Framework for Integrated Qualification Management Portals An Open Framework for Integrated Qualification Management Portals Michael Fuchs, Claudio Muscogiuri, Claudia Niederée, Matthias Hemmje FhG IPSI D-64293 Darmstadt, Germany {fuchs,musco,niederee,hemmje}@ipsi.fhg.de

More information

Course Objectives Upon completion of this course, you will: Have a clear grasp of organic gardening techniques and methods

Course Objectives Upon completion of this course, you will: Have a clear grasp of organic gardening techniques and methods Organic Gardening Instructor: Fiona Doherty, fcd9@cornell.edu Purpose This 6-week online course is intended to examine the basics of small-scale organic gardening. The topics and depth of information offered

More information

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ; EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10 Instructor: Kang G. Shin, 4605 CSE, 763-0391; kgshin@umich.edu Number of credit hours: 4 Class meeting time and room: Regular classes: MW 10:30am noon

More information

Unpacking a Standard: Making Dinner with Student Differences in Mind

Unpacking a Standard: Making Dinner with Student Differences in Mind Unpacking a Standard: Making Dinner with Student Differences in Mind Analyze how particular elements of a story or drama interact (e.g., how setting shapes the characters or plot). Grade 7 Reading Standards

More information

Using interactive simulation-based learning objects in introductory course of programming

Using interactive simulation-based learning objects in introductory course of programming Available online at www.sciencedirect.com Procedia - Social and Behavioral Sciences 46 ( 2012 ) 2276 2280 WCES 2012 Using interactive simulation-based learning objects in introductory course of programming

More information

Experiences Using Defect Checklists in Software Engineering Education

Experiences Using Defect Checklists in Software Engineering Education Experiences Using Defect Checklists in Software Engineering Education Kendra Cooper 1, Sheila Liddle 1, Sergiu Dascalu 2 1 Department of Computer Science The University of Texas at Dallas Richardson, TX,

More information

Visit us at:

Visit us at: White Paper Integrating Six Sigma and Software Testing Process for Removal of Wastage & Optimizing Resource Utilization 24 October 2013 With resources working for extended hours and in a pressurized environment,

More information

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS Pirjo Moen Department of Computer Science P.O. Box 68 FI-00014 University of Helsinki pirjo.moen@cs.helsinki.fi http://www.cs.helsinki.fi/pirjo.moen

More information

Strategy and Design of ICT Services

Strategy and Design of ICT Services Strategy and Design of IT Services T eaching P lan Telecommunications Engineering Strategy and Design of ICT Services Teaching guide Activity Plan Academic year: 2011/12 Term: 3 Project Name: Strategy

More information

Introduction. 1. Evidence-informed teaching Prelude

Introduction. 1. Evidence-informed teaching Prelude 1. Evidence-informed teaching 1.1. Prelude A conversation between three teachers during lunch break Rik: Barbara: Rik: Cristina: Barbara: Rik: Cristina: Barbara: Rik: Barbara: Cristina: Why is it that

More information

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I Session 1793 Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I John Greco, Ph.D. Department of Electrical and Computer Engineering Lafayette College Easton, PA 18042 Abstract

More information

Instructor: Mario D. Garrett, Ph.D. Phone: Office: Hepner Hall (HH) 100

Instructor: Mario D. Garrett, Ph.D.   Phone: Office: Hepner Hall (HH) 100 San Diego State University School of Social Work 610 COMPUTER APPLICATIONS FOR SOCIAL WORK PRACTICE Statistical Package for the Social Sciences Office: Hepner Hall (HH) 100 Instructor: Mario D. Garrett,

More information

Education for an Information Age

Education for an Information Age Education for an Information Age Teaching in the Computerized Classroom 7th Edition by Bernard John Poole, MSIS University of Pittsburgh at Johnstown Johnstown, PA, USA and Elizabeth Sky-McIlvain, MLS

More information

Automating Outcome Based Assessment

Automating Outcome Based Assessment Automating Outcome Based Assessment Suseel K Pallapu Graduate Student Department of Computing Studies Arizona State University Polytechnic (East) 01 480 449 3861 harryk@asu.edu ABSTRACT In the last decade,

More information

Evaluation of Learning Management System software. Part II of LMS Evaluation

Evaluation of Learning Management System software. Part II of LMS Evaluation Version DRAFT 1.0 Evaluation of Learning Management System software Author: Richard Wyles Date: 1 August 2003 Part II of LMS Evaluation Open Source e-learning Environment and Community Platform Project

More information

Get with the Channel Partner Program

Get with the Channel Partner Program Get with the Channel Partner Program QuickStart your Channel Partner Training & Certification program. Get with the Channel Partner Program is a suite of services opt in engagements delivered in phases.

More information

Using Virtual Manipulatives to Support Teaching and Learning Mathematics

Using Virtual Manipulatives to Support Teaching and Learning Mathematics Using Virtual Manipulatives to Support Teaching and Learning Mathematics Joel Duffin Abstract The National Library of Virtual Manipulatives (NLVM) is a free website containing over 110 interactive online

More information

LIFELONG LEARNING PROGRAMME ERASMUS Academic Network

LIFELONG LEARNING PROGRAMME ERASMUS Academic Network SOCRATES THEMATIC NETWORK AQUACULTURE, FISHERIES AND AQUATIC RESOURCE MANAGEMENT 2008-11 LIFELONG LEARNING PROGRAMME ERASMUS Academic Network Minutes of the WP 1 Core Group Meeting (year 2) May 31 st June

More information

M55205-Mastering Microsoft Project 2016

M55205-Mastering Microsoft Project 2016 M55205-Mastering Microsoft Project 2016 Course Number: M55205 Category: Desktop Applications Duration: 3 days Certification: Exam 70-343 Overview This three-day, instructor-led course is intended for individuals

More information

Characterizing Mathematical Digital Literacy: A Preliminary Investigation. Todd Abel Appalachian State University

Characterizing Mathematical Digital Literacy: A Preliminary Investigation. Todd Abel Appalachian State University Characterizing Mathematical Digital Literacy: A Preliminary Investigation Todd Abel Appalachian State University Jeremy Brazas, Darryl Chamberlain Jr., Aubrey Kemp Georgia State University This preliminary

More information

"On-board training tools for long term missions" Experiment Overview. 1. Abstract:

On-board training tools for long term missions Experiment Overview. 1. Abstract: "On-board training tools for long term missions" Experiment Overview 1. Abstract 2. Keywords 3. Introduction 4. Technical Equipment 5. Experimental Procedure 6. References Principal Investigators: BTE:

More information

Integrating simulation into the engineering curriculum: a case study

Integrating simulation into the engineering curriculum: a case study Integrating simulation into the engineering curriculum: a case study Baidurja Ray and Rajesh Bhaskaran Sibley School of Mechanical and Aerospace Engineering, Cornell University, Ithaca, New York, USA E-mail:

More information

Pair Programming: When and Why it Works

Pair Programming: When and Why it Works Pair Programming: When and Why it Works Jan Chong 1, Robert Plummer 2, Larry Leifer 3, Scott R. Klemmer 2, Ozgur Eris 3, and George Toye 3 1 Stanford University, Department of Management Science and Engineering,

More information

AQUA: An Ontology-Driven Question Answering System

AQUA: An Ontology-Driven Question Answering System AQUA: An Ontology-Driven Question Answering System Maria Vargas-Vera, Enrico Motta and John Domingue Knowledge Media Institute (KMI) The Open University, Walton Hall, Milton Keynes, MK7 6AA, United Kingdom.

More information

Writing a composition

Writing a composition A good composition has three elements: Writing a composition an introduction: A topic sentence which contains the main idea of the paragraph. a body : Supporting sentences that develop the main idea. a

More information

BENGKEL 21ST CENTURY LEARNING DESIGN PERINGKAT DAERAH KUNAK, 2016

BENGKEL 21ST CENTURY LEARNING DESIGN PERINGKAT DAERAH KUNAK, 2016 BENGKEL 21ST CENTURY LEARNING DESIGN PERINGKAT DAERAH KUNAK, 2016 NAMA : CIK DIANA ALUI DANIEL CIK NORAFIFAH BINTI TAMRIN SEKOLAH : SMK KUNAK, KUNAK Page 1 21 st CLD Learning Activity Cover Sheet 1. Title

More information

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition Chapter 2: The Representation of Knowledge Expert Systems: Principles and Programming, Fourth Edition Objectives Introduce the study of logic Learn the difference between formal logic and informal logic

More information

Book Review: Build Lean: Transforming construction using Lean Thinking by Adrian Terry & Stuart Smith

Book Review: Build Lean: Transforming construction using Lean Thinking by Adrian Terry & Stuart Smith Howell, Greg (2011) Book Review: Build Lean: Transforming construction using Lean Thinking by Adrian Terry & Stuart Smith. Lean Construction Journal 2011 pp 3-8 Book Review: Build Lean: Transforming construction

More information

Visual CP Representation of Knowledge

Visual CP Representation of Knowledge Visual CP Representation of Knowledge Heather D. Pfeiffer and Roger T. Hartley Department of Computer Science New Mexico State University Las Cruces, NM 88003-8001, USA email: hdp@cs.nmsu.edu and rth@cs.nmsu.edu

More information

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving

Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving Minha R. Ha York University minhareo@yorku.ca Shinya Nagasaki McMaster University nagasas@mcmaster.ca Justin Riddoch

More information

Writing Research Articles

Writing Research Articles Marek J. Druzdzel with minor additions from Peter Brusilovsky University of Pittsburgh School of Information Sciences and Intelligent Systems Program marek@sis.pitt.edu http://www.pitt.edu/~druzdzel Overview

More information

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas Exploiting Distance Learning Methods and Multimediaenhanced instructional content to support IT Curricula in Greek Technological Educational Institutes P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou,

More information

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD *

TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD * TEACHING IN THE TECH-LAB USING THE SOFTWARE FACTORY METHOD * Alejandro Bia 1, Ramón P. Ñeco 2 1 Centro de Investigación Operativa, Universidad Miguel Hernández 2 Depto. de Ingeniería de Sistemas y Automática,

More information

Data Structures and Algorithms

Data Structures and Algorithms CS 3114 Data Structures and Algorithms 1 Trinity College Library Univ. of Dublin Instructor and Course Information 2 William D McQuain Email: Office: Office Hours: wmcquain@cs.vt.edu 634 McBryde Hall see

More information

WP 2: Project Quality Assurance. Quality Manual

WP 2: Project Quality Assurance. Quality Manual Ask Dad and/or Mum Parents as Key Facilitators: an Inclusive Approach to Sexual and Relationship Education on the Home Environment WP 2: Project Quality Assurance Quality Manual Country: Denmark Author:

More information

Generating Test Cases From Use Cases

Generating Test Cases From Use Cases 1 of 13 1/10/2007 10:41 AM Generating Test Cases From Use Cases by Jim Heumann Requirements Management Evangelist Rational Software pdf (155 K) In many organizations, software testing accounts for 30 to

More information

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS

COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS COMPUTER-ASSISTED INDEPENDENT STUDY IN MULTIVARIATE CALCULUS L. Descalço 1, Paula Carvalho 1, J.P. Cruz 1, Paula Oliveira 1, Dina Seabra 2 1 Departamento de Matemática, Universidade de Aveiro (PORTUGAL)

More information

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles With advocates like Sal Khan and Bill Gates 1, flipped classrooms are attracting an increasing amount of media and

More information

Execution Plan for Software Engineering Education in Taiwan

Execution Plan for Software Engineering Education in Taiwan 2012 19th Asia-Pacific Software Engineering Conference Execution Plan for Software Engineering Education in Taiwan Jonathan Lee 1, Alan Liu 2, Yu Chin Cheng 3, Shang-Pin Ma 4, and Shin-Jie Lee 1 1 Department

More information

Requirements-Gathering Collaborative Networks in Distributed Software Projects

Requirements-Gathering Collaborative Networks in Distributed Software Projects Requirements-Gathering Collaborative Networks in Distributed Software Projects Paula Laurent and Jane Cleland-Huang Systems and Requirements Engineering Center DePaul University {plaurent, jhuang}@cs.depaul.edu

More information

Students Understanding of Graphical Vector Addition in One and Two Dimensions

Students Understanding of Graphical Vector Addition in One and Two Dimensions Eurasian J. Phys. Chem. Educ., 3(2):102-111, 2011 journal homepage: http://www.eurasianjournals.com/index.php/ejpce Students Understanding of Graphical Vector Addition in One and Two Dimensions Umporn

More information