UML and WSDL for JISC e-Learning Projects Major Practical Richard Hopkins rph@nesc.ac.uk NeSC Training Team Member Teams For Day 2 Practical Four Teams – Team D Team A Roberto Fraile Mohammed Islam Daniel May Simon McAlister D C A B Team C NEED A SECRETARY PER GROUP Robin Johnson Robert Gilks Sam Easterby-Smith JISC UML/WSDL – Introduction, 17th Nov. 2004 John Scott Dan Powley M Hassan Sheikh Leif Isaksen Team B Tjitske Kamphuis Gary Murray Julian Sedding 2 Tasks For Major UML Practical High Level service Low Level services HL-1 LL-1 Stage 1 : LL-1 • Each team is doing the same work • Given interface definition of LL-1 • Produce: classes for interface and internal data structures LL-2 LL-3 LL-4 Stage 2 : LL-x • Each team takes one LL service • Given outline description • Produce: use-cases, documentation, classes for interface and internal data structures For each stage a – team produces diagrams / text – b – collected by Guy and made available on-line c – full group discussion of each teams work – explain – explore differences – possibly modify for next stage JISC UML/WSDL – Introduction, 17th Nov. 2004 LL-5 Semi-loosely-coupled Stage 3 : HL-1 • Each team is doing the same work • Given outline description of HL-1 • Produce: •use-cases, documentation, classes for interface and internal data structures • Sequence diagrams to show how it uses the LL services 3 Timetable for Major UML Practical 09.15 – 10.30 Stage 1: LL-1 – work in teams Output due 10.30 10.30 Coffee look at others’ work 11.00 – 11.30 Discussion of Stage 1 – whole group 11.30 – 14.00 Stage 2: LL-x – work in teams (with lunch break sometime about 13.00) Output due 13.45 14.00 – 14.30 look at others’ work 14.30 – 15.00 Discussion of Stage 2 – whole group 15.00 Coffee 15.30 – 17.30 Stage 3 : HL-1 – work in teams Output due 11.00 Day 3 DAY 3 09.00 10.30 11.00 11.30 12.00 12.45 13.30 14.00 – 10.30 - 11.00 Coffee - 12.00 – 12.45 Lunch - 14.00 - ??? WSDL Practical Completion of Stage 3 Study of other Teams’ work - work in teams Discussion of Stage 3 – whole group Additional UML Feed-back / discussion on whole course JISC UML/WSDL – Introduction, 17th Nov. 2004 4 LL-1 – MAGIC Service Marking and Assessment for General Instructional Components Operations – setTask() – Here’s a task, for which a solution can be marked setBenchMark() – Here’s the information needed to mark a student solution of a task evalSolution() – Here’s a student solution to be evaluated against a BenchMark listTasks() – Returns a list of all the Tasks known to the service listBenchMarks() – Returns a list of all benchmarks associated with a task Your task: Interface defn. -> class diagram Some “design” of what it really means JISC UML/WSDL – Introduction, 17th Nov. 2004 5 MAGIC - Types Types – Multiple-choice (M-C) Task: a sequence of questions each with a sequence of possible answers Benchmark : for each question, which is the right answer Solution: for each question, which is the answer given Software (language P) (S-W) Task: A specification Benchmark: A collection of test – each with input and required output Solution: a program in language P Essay Task: a description of the required essay Benchmark: a structure of keywords and patterns in which they should occur in an answer to the question Solution: an essay JISC UML/WSDL – Introduction, 17th Nov. 2004 6 MAGIC – Here’s a Task setTask( theType : Type, theURI : URI, theID : ID, out myID : ID) : status theType : Type – whether it is M-C, S-W, Essay theURI : URI – the URI of a repository service in which the task definition is stored theID : ID – an identifier of the Task which is unique within the tasks stored by the identified repository service myID : ID – a new identifier for this task which uniquely identifies the task within this service returns : status – whether success / warning / error, with details JISC UML/WSDL – Introduction, 17th Nov. 2004 7 MAGIC – Here’s a Benchmark setBenchMark( theType : Type, taskId : ID , theURI : URI, theID : ID, out myID : ID) : status theType : Type – whether it is M-C, S-W, Essay taskID : ID – the unique identifier of the task for which this is a bench mark theURI : URI – the URI of a repository service in which the benchmark is stored theID : ID – an identifier of the benchmark which is unique within the tasks stored by the identified repository service myID : ID – a new identifier for this benchmark which uniquely identifies the task within this service returns : status – whether success / warning / error, with details JISC UML/WSDL – Introduction, 17th Nov. 2004 8 MAGIC – Here’s a Solution evalSolution( theType : Type, BMId : ID , theSolution : Solution, out mark : integer, out theComments : Comments) : status theType : Type – whether it is M-C, S-W, Essay BMID : ID – the unique identifier of the benchmark against which this solution is being evaluated theSolution : Solution – the actual student solution mark : integer – The percentage mark, between 0 - 100 theComments : Comments – Comments on the solution returns : status – whether success / warning / error, with details JISC UML/WSDL – Introduction, 17th Nov. 2004 9 MAGIC – List Tasks listTasks(types : Type[*], out theList : TaskData[*]) : status types : Type[*] the set of types of tasks required theList : TaskData[*] The task data for each task of the required type TaskData – content : TaskContent – the actual task theType : Type – its type theURI : URI – the URI of the repository service from which the task definition was obtained theID : ID – an identifier of the Task which is unique within the tasks stored by the identified repository service myID : ID – the identifier for this benchmark returns : status – whether success / warning / error, with details JISC UML/WSDL – Introduction, 17th Nov. 2004 10 MAGIC – List BenchMarks listBenchMarks( myID: ID, out theList : BMData[*]) : status myID: ID the unique identifier of the task for which the benchmarks are to be listed theList : BMData[*] The data for each benchmark BMData – content : BMContent – the actual benchmark theURI : URI – the URI of the repository service from which the benchmark was obtained theID : ID – an identifier of the benchmark which is unique within the benchmark stored by the identified repository service myID : ID – an identifier for this benchmark returns : status – whether success / warning / error, with details JISC UML/WSDL – Introduction, 17th Nov. 2004 11 MAGIC – Outline Class Diags MAGIC Service People : TaskInfo [*] setTask( theType : Type, theURL : URI, theID : ID, out myID : ID) : status ….. Mechanical – use of Poseidon MAGIC Data Model Creative TaskInfo 1 ... 0..* BenchMark ... Common Definitions ID Status JISC UML/WSDL – Introduction, 17th Nov. 2004 ... 12 Common Definitions ID Status OkStatus String WarnStatus Name OperationNotImplemented FailStatus IdentiferNotRecognised ... JISC UML/WSDL – Introduction, 17th Nov. 2004 13 STAGE 1 - Timetable 09.15 – 10.30 Stage 1: LL-1 – work in teams input: definition of exposed interface output: class diagrams for interface and internal data structure due 10.30 Collected by Guy on his memory stick File names – TeamA-Stage1-…. 10.30 Coffee look at others’ work http://homepages.nesc.ac.uk/~gcw/poseidon/practical.html Can print out – see poseidon practical instructions 11.00 – 11.30 Discussion of Stage 1 – whole group Explanations needed? Explore differences Do we want any modification to LL-1 definition? JISC UML/WSDL – Introduction, 17th Nov. 2004 14 WAIT WAIT FOR STAGE 2 JISC UML/WSDL – Introduction, 17th Nov. 2004 15 STAGE 2 11.30 – 14.00 Stage 2: LL-x – work in teams (with lunch break sometime about 13.00) Input: outline descriptions of LL-2 .. LL-5 Note – these and LL-1 will be used together – semi-loosely-coupled Output, for your team’s LL-x : class diagram(s) for interface definition and internal data structures; use-case diagrams; documentation; due 13.45 - collected by Guy 14.00 – 14.30 14.30 – 15.00 look at others’ work discussion of Stage 2 – whole group Explanations needed? Explore differences Do we want any modifications to LL- definition? 15.00 Coffee JISC UML/WSDL – Introduction, 17th Nov. 2004 16 Low Level Services Magic Service As previously – can be used as a model of how other services work. Person Service (Team A) Provides a means to manage basic information about people, such as names and contact information, and to send communications to them. Group Service (Team B) Supports access to information about groups, including courses, seminar groups, teams, departments. Supports the management of membership of persons in groups, such as student enrolments on modules. Forum Service (Team C) Supports the use of asynchronous collaborative messaging, as offered by Web forums and message boards. Repository Service (Team D) Enables access to, and management of, a repository. The repository may contain any type of content Specifically an item in the repository can be defined to be a collection of other items in the repository; and other relationships between items can be defined. JISC UML/WSDL – Introduction, 17th Nov. 2004 17 STAGE 3 15.30 – 17.30 Stage 3 : HL-1 – work in teams Input: outline description of HL-1 Output: Class diagram(s) for interface definition and internal data structures; use-case diagram; documentation Sequence diagrams to show how it uses the LL services Due 11.00 Day 3 (collected by Richard) DAY 3 9.00 – 11.00 11.00 11.30 12.00 12.45 13.30 14.00 Coffee - 12.00 – 12.45 Lunch – 14.00 - ??? WSDL Tutorial / Completion of Stage 3 if needed Study of other Teams’ work - work in teams Discussion of Stage 3 – whole group Addittional UML Feed-back / Discussion of whole course JISC UML/WSDL – Introduction, 17th Nov. 2004 18 The Learning Group Service Supports the concept of a collaborative-learning group – a group of students collaboratively studying a module of e-learning material. It provides (at least) facilities for a tutor to create a collaborative-learning module a sequencing of pre-existing modules associated benchmarks for assessment a tutor to create a collaborative-learning group for a specific pre-existing collaborative-learning module with an associated forum for student discussion and a means for group members to annotate the modules a prospective student to: discover what collaborative-learning groups exist; discover for a particular collaborative learning group – its collaborative-learning module – the set of students who are part of the group; join and leave a collaborative-learning group. a single student, or the group as a whole, to submit a solution to a benchmark and receive an assessment on it JISC UML/WSDL – Introduction, 17th Nov. 2004 19 DAY 3 09.00 – 10.30 WSDL Practical 10.30 - 11.00 Completion of Stage 3 11.00 Coffee 11.30 - 12.00 Study of other Teams’ work - in teams 12.00 – 12.45 Discussion of Stage 3 – whole group 12.45 Lunch 13.30 - 14.00 Additional UML 14.00 - ??? Feed-back / discussion on whole course JISC UML/WSDL – Introduction, 17th Nov. 2004 20