FREMA: e-Learning Framework Reference Model for Assessment Design Patterns for Wrapping Similar Legacy Systems with Common Service Interfaces Yvonne Howard.

Slides:



Advertisements
Similar presentations
EPortfolio for Lifelong Learning Angela Smallwood Peter Rees Jones Sandra Kingston Exemplifying the value of the eFramework A.
Advertisements

ISWC Doctoral Symposium Monday, 7 November 2005
JISC e-Framework InnovationBase An Overview David Millard (University of Southampton) Yvonne Howard (University of Southampton)
The Innovation Base Tom Franklin Franklin Consulting Hilary Dexter University of Manchester.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Supporting education and research E-learning tools, standards and systems Sarah Porter Head of Development, JISC.
Achieving Success With Service Oriented Architecture Derek Ireland 17th March, 2005.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Innovation Base Tom Franklin Franklin Consulting Hilary Dexter University of Manchester.
FREMA: e-Learning Framework Reference Model for Assessment David Millard Yvonne Howard Learning Technology Group University of Southampton, UK.
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
FREMA: e-Learning Framework Reference Model for Assessment Yvonne Howard David Millard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
FREMA: e-Learning Framework Reference Model for Assessment David Millard Yvonne Howard IAM, DSSE, LTG University of Southampton, UK.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
FREMA : e-Learning Framework Reference Model for Assessment Assessment: Priorities and Challenges for 2006 Hugh Davis Learning Technologies University.
FREMA: e-Learning Framework Reference Model for Assessment Lester Gilbert David Millard Yvonne Howard University of Southampton, UK University of Strathclyde,
FREMA : e-Learning Framework Reference Model for Assessment FREMA Overview David Millard Learning Technologies University of Southampton, UK.
FREMA : e-Learning Framework Reference Model for Assessment Hugh Davis, Yvonne Howard, David Millard,
FREMA : e-Learning Framework Reference Model for Assessment FREMA Workshop Hugh Davis David Millard Yvonne Howard Learning Technologies University of Southampton,
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Domain Modelling the upper levels of the eframework Yvonne Howard Hilary Dexter David Millard Learning Societies LabDistributed Learning, University of.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
Background Data validation, a critical issue for the E.S.S.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
José Paulo Leal | Ricardo Queirós CRACS & INESC-Porto LA Faculdade de Ciências, Universidade do Porto Rua do Campo Alegre, Porto PORTUGAL.
Architecture domain DL.org Autumn School – Athens, 3-8 October 2010 Leonardo Candela 6 th October 2010.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Sept 19,  Provides a common set of terminology and definitions  A framework for describing resources and processes  Enables computer based interoperability.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Domain Modeling In FREMA David Millard Yvonne Howard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Linking research & learning technologies through standards 1 Lyle Winton lylejw AT unimelb.edu.au.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
1 Introduction to Software Engineering Lecture 1.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
Kuali Rice A basic overview…. Kuali Rice Mission First and foremost to provide a consistent development framework and common middleware layer for Kuali.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
1 A Brief Introduction to Design Patterns Based on materials from Doug Schmidt 1.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Domain Modeling In FREMA Yvonne Howard David Millard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
Independent Insight for Service Oriented Practice Summary: Service Reference Architecture and Planning David Sprott.
A PPARC funded project Common Execution Architecture Paul Harrison IVOA Interoperability Meeting Cambridge MA May 2004.
1 Here are some quotations to get an overview of the kinds of issues of interest.
Be.wi-ol.de User-friendly ontology design Nikolai Dahlem Universität Oldenburg.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Joint Information Systems Committee 11/03/2016 | slide 0 e-Framework Next Generation - Sharing Learning & Creating Value Joint Information Systems CommitteeSupporting.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Event ELearning Frameworks and eAdmin Hugh Davis.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
A Brief Introduction to Design Patterns
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Abstract descriptions of systems whose requirements are being analysed
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
Chapter 8, Design Patterns Introduction
A programming exercise evaluation service for Mooshak
FREMA: e-Learning Framework Reference Model for Assessment
Presentation transcript:

FREMA: e-Learning Framework Reference Model for Assessment Design Patterns for Wrapping Similar Legacy Systems with Common Service Interfaces Yvonne Howard Learning Technologies University of Southampton, UK

Background What is FREMA? –JISC funded Project between Southampton, Strathclyde and Hull –Aim to produce a Reference Model of the e-Learning Assessment Domain –To aid interoperability and aid in the creation of Assessment Services for the e-Framework What is the E-Framework? –Service Oriented Architecture for e-learning systems –Layered Web Services (Domain services over Common Services) –Dynamic and evolving What is a Reference Model for Assessment? –Assessment is a broad and complex domain –Not enough to describe and define a set of services –Need a proper audit trail of decision making –Start by defining the domain –Work up through use cases to services (and example implementations) –An evolving model –Allow the Community to contribute to every stage

Anatomy of FREMA Reference Model Domain Definition –Overview of the domain, and how projects and standards fit within it Assessment Domain Definition Use Cases Service Profiles Gap Analysis Reference Impl’ Identifying Common Usage Patterns –Scoping the FREMA Project Gap Analysis –Mapping of Use Cases to the Services in ELF Service Profiles –Formal descriptions of those services Example Implementation –Of key/core services –Examples –Validation –Resource Common Usage Patterns Developing Use Cases –Formal descriptions of usage patterns

Semantic Wiki Used to build a semantic wiki (a wiki in which all the pages and links are typed) Can model all the levels of the Reference Model Enables Smart Searching and Analysis –Semantic Search –Dynamic Gap Analysis –Concept maps Open editing, but with Administrator controls

Analysis Tools: Gap Analysis

Service Usage Model Describes a scenario in which services work together Use Case Diagram Set of Abstract Logical Service Expressions Interaction Diagram

SUM: Description Formal as a Use Case Diagram Informal as a Narrative Description

SUM: Structure and Organisation

Service Expression Logical, abstract description

SUM: Functionality Workflow and processes Semi-formalised as a UML Interaction Diagram

Scenario: Technical Developer Will, Technical Developer ‘I want to lookup use cases and scenarios to help me design my application. This will help me to define my footprint in the assessment domain. I see there are some web services I could re-use but some are missing. What standards and patterns can I use when writing my own web services to ensure that I can interoperate with the web services I’ve chosen?’

Service Patterns Exemplar workflows –Described as patterns –Show how service interoperability can be achieved –Solutions to common interoperability problems Reference implementations of Service Patterns –WS–Interaction diagrams –WSDL –Java Code to download and install –Running services to try Assessment Domain Definition Use Cases Service Profiles Gap Analysis Reference Impl’ Common Usage Patterns

Wrapping legacy systems with a service interface Legacy Systems may contain valuable IP Do we wrap legacy systems individually even if they have similar functionality? Or build small interfaces that legacy systems can support as appropriate Granularity issues –Too small = large design overhead –Too Large = bulky and inappropriate Goal –Consolidate functionality into only a few interoperable services Robust complete

Design Patterns ‘ Gang of Four’ description –Describes a recurring pattern –Its solution –Context in which it applies Patterns capture the experience of software engineering and design experts 3 patterns –LCD Lowest Common Denominator –MPI Most Popular Interface –NI Negotiated Interface

Lowest Common Denominator Intent –simplest common interface for 2 or more components which share some common methods Motivation –Similar legacy apps with overlapping functionality –Wrap with common interface –Direct relation between methods of common interface and functionality of legacy systems Implementation –Strict intersection of functionality of legacy components –Create interfaces for individual components –Normalise methods then extract common methods –May have different data models Applicability –Feasible when intersection captures meaningful core functionality Consequences –Simple to derive –Value depends of size of intersection –Loses functionality richness

Most Popular Interface Intent –Rounded, robust common interface for 2 or more non– identical components with some methods in common Motivation –Similar legacy apps with overlapping functionality –Wrap with common interface –Compromise interface –Reflects best practice Implementation –Set of methods, M, chosen by experts (best practice) reflects community expectation of functionality –Legacy components intersection is a proper subset of M Applicability –Feasible when there is agreement on core functionality that should be expected Consequences –Complex to derive –May need to create and hold additional information in the wrapping service –May need analysis or mapping tables in the wrapper –May capture a broad set of functionality from legacy systems

Negotiated Interface Intent –Flexible common interface, preserving richness for 2 or more non–identical components, some common methods Motivation –Similar legacy apps with overlapping functionality –Wrap with common interface –Enables all functionality of legacy systems to be represented, but not necessarily available in all of the systems Implementation –Union of functionality of legacy components –Interface includes methods mthods to query which methods are supported by the wrapped legacy system –Implemented by contract describing methods available Or querying at run-time for method availability Applicability –Advisable when novel functionality not universally supported is required in the interface Consequences –Cumbersome to define –Avoids complex decisions about definitive interface –Adds runtime complexity

Analysis Tools: Gap Analysis

Interface Implementations using LCD, MPI and NI patterns 2 legacy systems from the assessment domain –TOIA Free to use Question Management system Includes an Item bank Developed in UK for Higher Education use –E3AN Free to use Open Source ‘Item bank’ of QTI questions

Legacy Item Bank Ontologies

LCD Interface MPI Interface NI Interface

Web interface to wrapper service and results returned

Lessons Learnt Writing wrapping services for legacy systems is non trivial requires close understanding of the data model (possibly reverse engineering) Complexity rises in proportion to complexity of the data model and the interface Mapping terminology used in different systems is time consuming and non-obvious Implementations may Interpret Standards differently and may cause unexpected mismatched behaviour LCD is simplest and quickest to build but may exclude valued functionality MPI selects core methods based on expert judgement but may be expensive to build, as the wrapper may have to hold functionality translation NI represents all method in a framework, is flexible but adds runtime overhead of negotiation

and …Thank You