domain driven design and provision of micro-services to build emerging learning systems

31
Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems Maha KHEMAJA [email protected] [email protected] 1 TEEM’16 Salamanca 2-4 November

Upload: technological-ecosystems-for-enhancing-multiculturality

Post on 21-Mar-2017

6 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

1

Domain Driven Design and Provision of Micro-services to

build Emerging Learning Systems

Maha KHEMAJA

[email protected]

[email protected]

TEEM’16 Salamanca 2-4 November

Page 2: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Outline

Introduction and problem statement

Research Context

Main requirements of the future system

Proposal

Conclusions and future works

Page 3: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Introduction

3

ITS

IVLE SLEPLEVLEALE

ULEMLE

Change becomes evidence

Skilled Learner

Page 4: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Problem Statement

4

A single system containing an important set of features that may not be required by all users

Several kinds of learning systems, each targeting generally a specific domain and specific set of tasks

The emergence and the exponential evolution of features

One user's learning needs could not be consequently covered by a single learning system

One single system may cover much more features than required

Page 5: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

5

As micro-services based systems rely on software infrastructures that allow continuously building and providing components to target systems at run-time

Problem statementNew kinds of building methodologies

New learning frameworks that are flexible enough to take into account at the same time users' learning needs and the learning features exponential evolution and to provide just in time required learning or supporting services or features.

Micro services oriented systems advocate the use of fine grained and self contained components exposing their services via well defined interfaces to build software.

Micro services are very suitable for mobile or pervasive computing contexts, flexible enough to help adapt and/or reconfigure the software (system) at run-time.

Page 6: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Provisioning scenarios

Page 7: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Research Context

How to continuously build and evolve learning systems in order to take into account emerging needs and technology.

How to automate the process that allows to collect new domain related features, map developed software components automatically and semantically to features and to deliver those features with relevant configuration to intended target learning systems

How to configure and /or apply adaptation/reconfiguration mechanisms with regard to main software good practices such as high cohesion and loose couplingHow to manage software components dependencies when composing a new feature or adapt an existent one.

How to reason about tradeoffs related to communication models in order to answer to low latency issues (e.g. for games, affect computing or other emerging domains).

Page 8: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

Terminology

A business capability defines the organization’s capacity to successfully perform a unique business activity.

A business goal is an objective or target to be achieved by a business. A goal describes a certain system functionality or property that should be achieved (expressed as intentions) generally considered from the users’ requirement perspective.

The notion of feature is commonly used to describe the functional and non-functional characteristics of a system.

A context means a specific responsibility. A bounded context means that the responsibility is enforced with explicit boundaries.

Page 9: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

9

TLS BC G F Ca C

ITS Learner Model

Traces the learner’s results

Quiz Assessment MCQ component

LMS Enrolment Allows learners’ enrolment

Learner management

Creates learners records

Enrolment component

SG Gameplay Have funny activities

Gaming Manages game rules

Rule engine

Affect-ITS

Sensing Identify stressful states

Sensor Collects affective signals

Sensor interface component

Example

Page 10: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

10

Main requirements

A learning system should provide self contained features Each feature should pertain to a unique bounded contextFeatures' workflows could be either synchronous or asynchronous. One's feature components should be fine grainedOne's feature architecture should be built accordingly to high cohesion and loose coupling principles. Clients consuming that feature should interact with well exposed interfaces All artefacts or resources required by a learning feature should be rendered available thanks to a resource managerUnderlying infrastructure should allow dynamic components assembly

TLS’s requirements

PS’s requirementsBack end systems should allow

clients to interact with shared services and resources

Should provide services for managing features components, features configurations as well as targets architectures.

Provide services to discover and classify features and components accordingly to bounded contexts and capabilities.

Page 11: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

11

Proposal

Page 12: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

12

FORMAL SPECIFICATION OF THE PROPOSED SOLUTION

Page 13: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

13

TLS semantics

Page 14: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

14

PS semantics

Page 15: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

15

OVERVIEW OF THE SOFTWARE INFRASTRUCTURE

Page 16: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

16

Finally the third category of services is much more concerned with services semantics and relevance for addressing specific learning system features.

Services categories

The first category addresses micro-services development and packaging as well as applications' assembly and reconfiguration at runtime.

The second category of services concerns components storage and indexing, features' building and cloud or P2P provisioning or delivery to target systems or platforms.

Page 17: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

17

Micro-services & component based architectures

Web oriented and RESTful implementations over OSGi

Additional components allowing asynchronous communication models between services (such as the publish/subscribe model)

Additional components allowing the use of Emerging technologies as new Human Communication interfaces, sensors, IoT. Available for OSGi based Frameworks

Page 18: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

18

Services provisioning aspects

Central concept of services provisioning relies on that of repositories storing artefacts (i.e. bundles, resources and configuration files).

The repository could be managed by a provisioning server (SaaS model ) or by a Peer in cases of ad-hoc networked infrastructures. OSGi runtime instances have to be deployed on peers or client's devices and servers as well as a deployment mechanism that supports modular deployments.

Either the client or the server should also embed a resource manager entity providing resources management facilities.

Page 19: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

19

Semantic Web Services (SWS) combines concepts and techniques from both Semantic Web and Web services

Main aims of SWS are to transform Web services descriptions into more machine-understandable descriptions.

This could enable a more dynamic usage of Web services as automatic discovery, selection, composition, invocation and monitoring based on sound meaning of services capabilities.

Analogously to SWS, semantics are added on top of OSGi bundles repositories to semantically describe bundles and services capabilities

Micro Services and features’ semantics

Page 20: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

20

IMPLEMENTATION DESIGN

Page 21: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

21

Mapping Formal models to implementation

Map abstract specifications made previously to concrete data structures and algorithms or programs. For instance, formal models are mapped and converted to OWL ontologies, generating consequently a set of ontologies such as the Goal ontology, the OSGi bundles/services ontology and the Feature ontology. Specific applications of the system will also require domain ontologies for describing semantically learning tasks, resources and artefacts processed collaboratively as well as their corresponding results.A reasoning engine is used therefore to process and make inferences on these ontologies.

Page 22: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

22

TLS architecture

Page 23: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

23

The server provisioning architecture

Page 24: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

24

Case Study

Page 25: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

25

Existing TLSs (Targets), distributions, features and artifacts

Page 26: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

26

Identify the relevant components to compose a new feature and to associate it to the distribution deployed on the given TLS

Case study

New requirement

Page 27: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

27

Page 28: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

28

Conclusion

Page 29: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

29

ConclusionThe problem of ever changing user's learning needs by providing a solution for continuously building learning systems.

We have proposed a learning framework that provides just in time required learning services or features which are deployed as fine grained and self contained Micro services exposing their services via well defined interfaces.

Automation have been done by means of semantic description of its components and services allowing thus a sound configuration and adaptation of learning services or resulting TLS applications to take account users contexts needs or emerging technologies.

This work is quite different from other research works addressing SOA based learning systems in many aspects.

Page 30: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

30

Future work

Future works aim, to deploy several TLSs and to test them in real settings.

Secondly, to extend the proposed solution and its ontological models to take into account dynamic aspects related to collaborative requirements and specification.

Use meta-modeling (MDA or ODA approaches) for dynamic code generation and packaging accordingly to inferred contexts and requirements.

How to obtain semantic descriptions about new or third party components in automatic manner

Page 31: Domain Driven Design and Provision of Micro-services to build Emerging Learning Systems

31