SlideShare a Scribd company logo
1 of 62
Towards a software architecture
for adaptive and mobile
learning


Antoine Beugnard and
Jean-Marie Gilliot
Context and Goals


         Summer school context
         M-learning context
         Semantics (???)
         Infrastructure

         Goals
         Think (architecture) different !
         Introduce Model Driven Engineering (MDE)
         Work on an example




page 2     Mlearning 2009   A. Beugnard & J.-M. Gilliot
Outline


         The example
         Some needs in mobile and adaptable learning
         A certain idea of software architecture
         Specifying components
         Designing components
         Adaptation
         Conclusion




page 3      Mlearning 2009     A. Beugnard & J.-M. Gilliot
The example

         A video-conferencing session with votes and a
           whiteboard
         The client view
         An architectural view
           Introduces different roles
         Prototypes with mashups
           Videos + localization
           Votes
           Shared documents



page 4      Mlearning 2009   A. Beugnard & J.-M. Gilliot
The client view


         Prototypes with mashups
           Videos + localization                 @Paris    @New Dehli
           Votes
           Shared documents
         Choregraphy ?
                                                              question?


                                                                yes

                                                                no




page 5      Mlearning 2009   A. Beugnard & J.-M. Gilliot
The architectural view

                                                               Light client?
                                                               Heavy client?
                                                               Do we need to choose early?


                                              video

         modularize                    sharedspace
                                         The System

                                               vote




    What about module interaction?
    - at client level?                                                       Architecture
    - new structure?

page 6                Mlearning 2009     A. Beugnard & J.-M. Gilliot
Protype with
                  Mashups, Plugins, Widgets ?

            Mashup : a web application that combines data
              and/or functionality from more than one source
            Widget : a component of a graphical user interface
              with which a user interacts
            Plug-in : a computer program that interacts with a
              host application
              Applications support plugins for many reasons.
               to enable third-party developers to create capabilities to
                 extend an application
 Source :      to support features yet unforeseen
               to reduce the size of an application
               to separate source code from an application because of
                 incompatible software licenses.

page 7        Mlearning 2009        A. Beugnard & J.-M. Gilliot
Web Objects – Web Components



                               Access                  Object


            +
     Function name                                      Data
      Parameters                 API



              display




page 8        Mlearning 2009     A. Beugnard & J.-M. Gilliot
Mashups


         A User view of components
         How to use Mashups ?
           Video : What is a mashup? - ZDNet

         Using and assembling services
          Vote
          Video
          Document sharing

         Who proposes/designs services?


page 9      Mlearning 2009   A. Beugnard & J.-M. Gilliot
How to make the glue ?
           (another view for 3-tier architecture)

                                                            Object
          Client side
                                                            Data
            Combination of data
          Server Side
            Seed Site                                       Object

            Intermedary site                                Data



                                   Object                   Object
                    +
                                    Data                    Data




page 10      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 11      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Adaptability


          Adaptability is the quality of being adaptable; a
           quality that renders adaptable
          What could be changed?
           GUI (user interface)
           Network/Architecture
           Multi-Cultural issues
           Scale
           Confidentiality




page 12      Mlearning 2009    A. Beugnard & J.-M. Gilliot
Scalability


          Scalability is a desirable property of a system, a
           network, or a process, which indicates its ability to
           either handle growing amounts of work in a
           graceful manner, or to be readily enlarged.
          Scalability is highly architecture dependent.
          Scalability cannot (usually) be improved without
           large re-engineering.




page 13      Mlearning 2009    A. Beugnard & J.-M. Gilliot
Dependability


          Dependability is defined as the trustworthiness of a
           computing system which allows reliance to be
           justifiably placed on the service it delivers. It
           encompasses:
           Availability - readiness for correct service
           Reliability - continuity of correct service
           Safety - absence of catastrophic consequences on the
             user(s) and the environment
           Integrity - absence of improper system alteration
           Maintainability - see later
          Many factors influence dependability: architecture,
           design, implementation, even hardware.
page 14      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Confidentiality


          Confidentiality is the property of preventing
           disclosure of information to unauthorized
           individuals or systems.
          Confidentiality is highly design dependent.
           Localization is crucial.




page 15      Mlearning 2009    A. Beugnard & J.-M. Gilliot
High Availability


          High Availability is defined as « Always available »
            Always means less than a few minutes/seconds a year
            Even during evolution




page 16      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Maintainability


          Maintainability is defined as the ease with which
           maintenance of a functional unit can be performed
           in accordance with prescribed requirements.

          Maintainability is highly design dependent.

          Maintainability cannot (usually) be improved without
           trace of the design process.




page 17      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Consequences


          Localization is important for confidentiality and
           scalability
          We need adaptability, hence architecture and design
           choices must be explicit

          => What consequences on component models?




page 18      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 19      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Non functional properties and architecture

                         Modifiability                               Performance

           Process                   Function
           modifiability             modifiability        Space                 Time
                           Data                           performance           performance
                           modifiability
          --         +
                                                                             Dependencies between
                           +    ++
                                                        +                    NFP and architecture
                                                                             (qualitative)
                                                 --             -




               Shared Data                                             Pipe & Filters



page 20            Mlearning 2009              A. Beugnard & J.-M. Gilliot
A certain idea of software architecture

                                                            Not so different;
          3 roles                                  see mashups
            Technical expert - furnishes pieces
            Architect - defines assemblies
            User - adapts, configures, specializes
          2 levels
            Logical/functional
            Physical/implementation
          Adaptable architecture allows other NFP changes
          Adaptable for mobiles systems



page 21      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 22      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Specifying components


The classical approaches
 Functional components match physical architecture
 Physical architecture guides functional choices
Our approach
 Abstract components
 Model Driven Architecture




   Mlearning 2009   A. Beugnard & J.-M. Gilliot
Logical/physical mapping


                                  Site 2
          Site 1
                                                                                      Site 2
                                                                  Site 1


                     Site 3

                                                                            Site 3



                                           Site 2
                   Site 1


                                                                                               Site
                              Site 3                                             Site 2
                                                         Site 1
                                                                                               Componen
                                                                                               t


                                                                                               Interface

                                                                   Site 3                      part



Localization properties expressed and implemented by a component
page 24                     Mlearning 2009          A. Beugnard & J.-M. Gilliot
Abstract Component : Medium




               A logical component must ignore physical borders

page 25    Mlearning 2009          A. Beugnard & J.-M. Gilliot
Medium features


          Mediums can have distributed interfaces

          Medium implementation is naturally distributed

          Many design variants can be imagined

          More, many design variants can coexist

          Design is realized thanks to model transformations




page 26      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Medium examples


          Vote : proposers start polls, voters vote
          Reservation : a set of things can be reserved by
            users
          Publish subscribe
          Broadcasting (messages, video or audio)
          Consensus
          ...




page 27      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Medium specification



           <Role>ComponentServices              <Role>MediumServices


          implements
                                                                     implements
                                      use



                                  ?
                   <Role>                                  <Medium>



                                                                                  UML

page 28          Mlearning 2009        A. Beugnard & J.-M. Gilliot
Vote example

                                               VoterMediumServices
          VoterComponentServices
                                               + vote(int)



                                *
                 Voter

                                                       VoteMedium
                                *
              VoteProposer




   VoteProposerComponentServices         VoteProposerMediumServices


page 29        Mlearning 2009       A. Beugnard & J.-M. Gilliot
Specification to be continued...


          UML class Diagrams can only describe the
           structural part of a system.

          We also add :
           Collaboration Diagram
           Sequence Diagram
           Constraints
           And a lot of notes ;-)




page 30      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 31      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Designing components


          The classical approaches
           UML Components by John Cheesman and John
             Daniels
           Structural decomposition (assembling)
           System metaphor (architectural style)

          Our approach
           Model (and transformation) based



                                                            MDE

page 32      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Our process


          Identify preoccupations

          Identify the target

          Model, model and models

          Define transformation

          Cumulate know-how


          => Model Driven Engineering

page 33      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Some preoccupations


          How implementing an association?
            List, set, ...
            One way, bidirectional?
          How distributing data?
            None
            Without replication but a placement strategy
            With a replication strategy and a consistency protocol
               management
          How observing context/environment ?
          etc.


page 34      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Designing = making choices among
                preoccupations
                                   Initial medium Specification

                                   Distributed Target for Medium



          set              list       tree              other         1st preoccupation :
                                                                      Abstract type selection


                                                                    2nd preoccupation :
          Tapestry         Chord      Pastr             other
                                                                    Distributed protocol selection
                                      y

                                                                   3rd preoccupation :
          Hastable          File     Data Base           other     Internal data representation



                                                                     Implementation Variants


page 35          Mlearning 2009              A. Beugnard & J.-M. Gilliot
Vote example

                                               VoterMediumServices
          VoterComponentServices
                                               + vote(int)



                                *
                 Voter

                                                       VoteMedium
                                *
              VoteProposer




   VoteProposerComponentServices         VoteProposerMediumServices


page 36        Mlearning 2009       A. Beugnard & J.-M. Gilliot
Vote example
                  (transformation add managers)

                                                                         VoterMediumServices
                          VoterComponentServices
                                                                         + vote(int)



                                               *
          Voter                 VoterManager

                                                                               VoteMedium
                                                     *
    VoteProposer             VoteProposerManager




                  VoteProposerComponentServices                   VoteProposerMediumServices


page 37            Mlearning 2009          A. Beugnard & J.-M. Gilliot
Vote example (centralized)

                                                                         VoterMediumServices
                          VoterComponentServices
                                                                         + vote(int)



                                               *
          Voter                 VoterManager
                                                                                       All data here

                                                                               VoteMedium
                                                     *
    VoteProposer             VoteProposerManager




                  VoteProposerComponentServices                   VoteProposerMediumServices


page 38            Mlearning 2009          A. Beugnard & J.-M. Gilliot
Vote example (distributed)

                                                                         VoterMediumServices
                          VoterComponentServices
                                                                         + vote(int)



                                               *
          Voter                 VoterManager                                           Nothing here

                      Data distributed among managers                          VoteMedium
                                                     *
    VoteProposer             VoteProposerManager




                  VoteProposerComponentServices                   VoteProposerMediumServices


page 39            Mlearning 2009          A. Beugnard & J.-M. Gilliot
Mediums deployment

                                 Logical component
                                                                                   Voter 1
          VoteProposer                     votes
                                     id



                                                                                   Voter 2



                                                                              id
          VoteProposer                      Middleware
                                                                                    Voter 2
                                id




                                           id




          Physical component                                                        Managers
                                                Voter 1
                                                                              id    Data


page 40        Mlearning 2009                   A. Beugnard & J.-M. Gilliot
Transformations


          Design choices are implement with
           Model transformations

          For each preoccupation
           Input: the current level of specification
           Input: a model of the choice made
           Output: the new level of specification

          Note that the model of the choice is conformant to a
           preoccupation description


page 41      Mlearning 2009      A. Beugnard & J.-M. Gilliot
Cumulation, reuse

    Business know-how                                     Design choices

      MMmédium                            Mréservation          Mvote              Mvidéo       Extension


              MMAbstract Type      TTA    Mset                  Mlist              Mtree        Extension



          MMDistributed Protocol   TPR    Mchord                 Mpastry            MTapestry   Extension


          MMDataFormat             TFD    Mtable                   Mhactablee        MMfile     Extension


    Extension                Extension   Extension            Extension          Extension Extension


      MMdistributedmédium                 Mréservation      Mréservation        Mvidéo
                                          Variant 1         Variant 2           Variant 1

page 42                Mlearning 2009          A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 43      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Towards architectural adaptivity

Instead of a single variant, a component is an embed of many va

              observations


                            Decider


                            Planner

                                       Manager variants
                            Executor




page 44    Mlearning 2009              A. Beugnard & J.-M. Gilliot
Context

          Dynamic adaptation: in the presence of execution environment
          changes, applications need to change behaviors dynamically
          Dynamic adaptations of distributed applications [Figure]
          Architecture-based adaptation: Application moves from a consistent
          architecture to another one


                                                                 Some NFP
             Variant 1


             Variant 2
                                                                 Other NFP



page 45       Mlearning 2009       A. Beugnard & J.-M. Gilliot
Challenge 1

      How to ensure the correctness of the collaboration
       between distributed components after transitions?
       (How to build “correct” variants?)




page 46      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Challenge 2

          How to plan dynamic transitions, including
           distributed architecture variants transitions and
           data transitions?




page 47      Mlearning 2009   A. Beugnard & J.-M. Gilliot
Proposed approach:
            Abstraction (1) + Refinement (2) + Composition (3) +
            Planning (4)
                                     Communication          (1)
            Design decisions           abstraction
                                        (medium)
                               (2)                                 Info. for planning
                                     Refinement
                                                                   (4)




 (1), (2) ensure the               Compositio
 correctness of variants       (3)
                                      n
 (3) supports dynamic
 transition
 (4) allows planning
 transitions

page 48       Mlearning 2009         A. Beugnard & J.-M. Gilliot
Example
            Abstraction  Refinement + Planning  Composition


    Abstraction: vote medium
    A (reusable) medium offering vote services to the citizens, initialize
    service to the state.
    The medium is the abstraction of communication between state and
    citizens)

                                       Service: vote
                                                               Service: initialize
                 Citizen 1

                               Voter
                                           vote                          State
                                          medium
                               Voter                    VoteProposer

                 Citizen 2



page 49       Mlearning 2009               A. Beugnard & J.-M. Gilliot
Example
                     Abstraction  Refinement + Planning  Composition


           1


                                Citizen 2                    Middleware                 State




                                                                                     Adapt
                                                                                     manager
          Decider


          Planner
                                                             Citizen 1

          Executor
                      Manager variants
                                                                             Adapt-medium

                              Adapt-manager architecture

page 50               Mlearning 2009           A. Beugnard & J.-M. Gilliot
Model-based framework automating the
            development process
                                               UML            Medium model


    Developer                          Design                                    Kermeta
                                                                  Model
                                  decision models             transformations    metamodeling

                                    UML
                                                               Adaptable
                                                            application model
                                                                                 UML
                                      Medium
                      Java           functions’
                                  implementations                                 Java
                                                               Composition
                Fractal +Java Adapt-manager
                                  implementation                                Fractal
                                                              Adapt-medium
                                                                                + Java


page 51          Mlearning 2009                 A. Beugnard & J.-M. Gilliot
Outline


          The example
          Some needs in mobile and adaptable learning
          A certain idea of software architecture
          Specifying components
          Designing components
          Adaptation
          Conclusion




page 52      Mlearning 2009     A. Beugnard & J.-M. Gilliot
Key ideas


          Components can overpass (physical) borders
          Know-how can be cumulated thanks to models and
            transformations
          Large scale applications need adaptivity
          With adaptivity all NFP can be tackled

          What about mobile learning ?
           Need scalability
           Need adaptivity

          What specific mediums for mobile learning?

page 53      Mlearning 2009   A. Beugnard & J.-M. Gilliot
What remains to be done?


          A lot!

          Valuating preocupation solutions in regards of non-
           functional properties




page 54      Mlearning 2009   A. Beugnard & J.-M. Gilliot
ANNEX I




                            Software Architecture
                                 Survival Kit

page 55   Mlearning 2009       A. Beugnard & J.-M. Gilliot
Software Architecture – the art of boxology


   Entities
   (boxes)




  Connectors
  (lines)




   Configurations
   (assembly)


page 56         Mlearning 2009   A. Beugnard & J.-M. Gilliot
Styles of architectures

                   Pipe and Filters                            Layered




                   Knowledge    Knowledge
                     source       source    Blackboard

            Knowledge                  Knowledge
              source                     source
                           BlackBoar
                               d




   Client server                                   REST, P2P, Publish/Subscribe, etc.
             request
                                            Good/Bad properties wrt:
     CLIENT answer       SERVEUR
                                                   Scalability, evolutivity, maintainability, aso.

page 57            Mlearning 2009                  A. Beugnard & J.-M. Gilliot
ANNEX II




                               UML Survival Kit


page 58   Mlearning 2009        A. Beugnard & J.-M. Gilliot
UML survival kit - ½ (class diagram only)
                                                                                                  © G. Nomitch- BK consulting
  Named area containing items.
  A package can contain packages and classes (including the relationships with each others)
     Package                                                                    Inheritance                               Ex :
                                                                                                                          Car
                                                                                          Class        Concept
                    Data structure with services (ie methods/functions)
       Class        An object is a class instanciation.
                    Ex : int i = 5                                                                                      Peugeot
                    ClassObjectValue
                                                                                      AnotherClass Concrete
   Abstract class                                                                                                       « 104 »
                    Class that can not be instanciated.
                    It represents a functional or a technical concept.


                               AssociationNo ownership concept
                               Ex : I see the moon

                                                                                                         cont           Element
                               Shared aggregationShared ownership                       List
  Relations                    Ex : Two people own the same bank account                                         0..n

                               AggregationExclusive ownership
                               Ex : Me and my head (I own my head !).                                    /cont
                                                                                      CarList                             Car
                                          1                                                                      0..n
                               0..1
     Cardinality                          0 or 1      A list contains elements. A carList is a List that only contains Elements specialize
                               0..n
                                          0 to many   Note that a relation specialization can also change the relation type and the cardi

  Specialized relation            /role

page 59              Mlearning 2009                          A. Beugnard & J.-M. Gilliot
UML survival kit - 2/2 (class diagram
                        example)                      © G. Nomitch- BK consulting
                                                                    Cardinality is 0 to many

                                                           0..n
                                                                                                   General functional concept
                                                 cont               AbstractActor

                         Aggregation                                                    Inheritance (also called specialization)


                                                                 Cont relation specialization
Technical class corresponding to a list of concept                                                     Role concept.
                                                     ActorList
                                                                                                       A role is an actor.


                                                                          /cont 0..n
                  Model core                          Person                            AbstractRole
                                                                        refPerson
                                                                                                                 Physical role

                              The role knows the person it refers to.
hysical actor with roles. A person can be a driver and/or a player.get the person name !
                              When you ask for the role name, you
                                                                            Driver                    Player


                                                                                                                Nice association

                                                                                  Car                  Ball
                                  A driver and only a driver use a car                                                             Back

  page 60                  Mlearning 2009                            A. Beugnard & J.-M. Gilliot
ANNEX III




                               MDE Survival Kit
                                (Model Driven
                                 Engineering)
page 61   Mlearning 2009        A. Beugnard & J.-M. Gilliot
MDA: The OMG presentation


          (
          (a)
                     (b)                  (c)




                                                                              Y
    UM          MO                   MO
     L           F                    F
                                                                  Business               Technical
    aMode       UM         UM      SPE    CW      Etc             Logic                  Architecture
      l          L          L       M      M        .             (PIM)                  (PDM)
                aMod       aMo
                 el         del
    Everything (software artefact) is a Model                                 System (PSM)




            Transformations are
            operations on models                An                De
            that automatizes choices                                               Cod
                                                aly               sig
                                                                                    e         Back
                                                sis                n

page 62           Mlearning 2009                A. Beugnard & J.-M. Gilliot

More Related Content

What's hot

Potted History of BIM from an MEP Perspective
Potted History of BIM from an MEP PerspectivePotted History of BIM from an MEP Perspective
Potted History of BIM from an MEP PerspectiveBe2camp Admin
 
Video Surveyor NSF FInal Presentation
Video Surveyor NSF FInal PresentationVideo Surveyor NSF FInal Presentation
Video Surveyor NSF FInal PresentationStanford University
 
Realisor introduction august 2012
Realisor introduction   august 2012Realisor introduction   august 2012
Realisor introduction august 2012Wovex Limited
 
Eight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix themEight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix themJoseph KAsser
 
Tim burbury, king & spalding
Tim burbury, king & spaldingTim burbury, king & spalding
Tim burbury, king & spaldingSarah El Akkad
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Nesma
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations ImperativeSOA Symposium
 
Award Application Development Trends
Award Application Development TrendsAward Application Development Trends
Award Application Development TrendsGlenWhite
 
Delivering business value through transformative networking 20012011
Delivering business value through transformative networking 20012011Delivering business value through transformative networking 20012011
Delivering business value through transformative networking 20012011fuckGK
 
CommonTime mDesign for ISVs Datasheet
CommonTime mDesign for ISVs DatasheetCommonTime mDesign for ISVs Datasheet
CommonTime mDesign for ISVs DatasheetJames Tomkinson
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility OpenText Cordys
 

What's hot (19)

BBDO
BBDOBBDO
BBDO
 
Potted History of BIM from an MEP Perspective
Potted History of BIM from an MEP PerspectivePotted History of BIM from an MEP Perspective
Potted History of BIM from an MEP Perspective
 
Video Surveyor NSF FInal Presentation
Video Surveyor NSF FInal PresentationVideo Surveyor NSF FInal Presentation
Video Surveyor NSF FInal Presentation
 
Realisor introduction august 2012
Realisor introduction   august 2012Realisor introduction   august 2012
Realisor introduction august 2012
 
IBM Private Cloud
IBM Private CloudIBM Private Cloud
IBM Private Cloud
 
Obelisk Profile
Obelisk ProfileObelisk Profile
Obelisk Profile
 
Eight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix themEight deadly defects in systems engineering and how to fix them
Eight deadly defects in systems engineering and how to fix them
 
Tim burbury, king & spalding
Tim burbury, king & spaldingTim burbury, king & spalding
Tim burbury, king & spalding
 
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
Estimating packaged software - Eric van der Vliet - NESMA najaarsbijeenkomst ...
 
Hans De Visser The Business Operations Imperative
Hans De  Visser    The  Business  Operations  ImperativeHans De  Visser    The  Business  Operations  Imperative
Hans De Visser The Business Operations Imperative
 
Award Application Development Trends
Award Application Development TrendsAward Application Development Trends
Award Application Development Trends
 
Delivering business value through transformative networking 20012011
Delivering business value through transformative networking 20012011Delivering business value through transformative networking 20012011
Delivering business value through transformative networking 20012011
 
How to deal with your digital reputation
How to deal with your digital reputationHow to deal with your digital reputation
How to deal with your digital reputation
 
Stream 1- Smart Work
Stream 1- Smart WorkStream 1- Smart Work
Stream 1- Smart Work
 
Ho.01 bim.arabic
Ho.01 bim.arabicHo.01 bim.arabic
Ho.01 bim.arabic
 
How not to mess with social media
How not to mess with social mediaHow not to mess with social media
How not to mess with social media
 
Architecture
ArchitectureArchitecture
Architecture
 
CommonTime mDesign for ISVs Datasheet
CommonTime mDesign for ISVs DatasheetCommonTime mDesign for ISVs Datasheet
CommonTime mDesign for ISVs Datasheet
 
Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility Derek Wiggill, CEO, Argility
Derek Wiggill, CEO, Argility
 

Similar to Mlearning 2009

Practice mashups. Mlearning 2009
Practice mashups.  Mlearning 2009Practice mashups.  Mlearning 2009
Practice mashups. Mlearning 2009Jean-Marie Gilliot
 
New Product Introduction - Launching Success!
New Product Introduction - Launching Success! New Product Introduction - Launching Success!
New Product Introduction - Launching Success! Product Realization Group
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributesFrank Gielen
 
ID106 Making the Move from Rich Clients to Browsers
ID106 Making the Move from Rich Clients to BrowsersID106 Making the Move from Rich Clients to Browsers
ID106 Making the Move from Rich Clients to BrowsersRahul A. Garg
 
Acing architecture
Acing architectureAcing architecture
Acing architectureColin Lee
 
IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapEd Brill
 
Panorama des offres cloud IBM
Panorama des offres cloud IBMPanorama des offres cloud IBM
Panorama des offres cloud IBMClaude Riousset
 
More Than Dynamic Modelling
More Than Dynamic ModellingMore Than Dynamic Modelling
More Than Dynamic Modellingj2aircraft
 
Flying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy ChoneFlying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy Chonerajivmordani
 
A Critical Review of Building Information Modelling
A Critical Review of Building Information ModellingA Critical Review of Building Information Modelling
A Critical Review of Building Information ModellingSiddhartha Kamat
 
IBM Rational Software Conference 2009: Enterprise Modernization Track Keynote
IBM Rational Software Conference 2009: Enterprise Modernization Track KeynoteIBM Rational Software Conference 2009: Enterprise Modernization Track Keynote
IBM Rational Software Conference 2009: Enterprise Modernization Track KeynoteKathy (Kat) Mandelstein
 
IoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringIoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringQualitest
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Prolifics
 
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...IRJET Journal
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE
 
How To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsHow To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsBen Rushlo
 
CSCM Bim implementation in malaysia 2
CSCM Bim implementation in malaysia 2CSCM Bim implementation in malaysia 2
CSCM Bim implementation in malaysia 2Est
 
Cloud Computing overview and case study
Cloud Computing overview and case studyCloud Computing overview and case study
Cloud Computing overview and case studyBabak Hosseinzadeh
 
Preserving CAD: A briefing - Emerging trends - Architecture
Preserving CAD: A briefing - Emerging trends - Architecture Preserving CAD: A briefing - Emerging trends - Architecture
Preserving CAD: A briefing - Emerging trends - Architecture Ruggero Lancia
 

Similar to Mlearning 2009 (20)

Practice mashups. Mlearning 2009
Practice mashups.  Mlearning 2009Practice mashups.  Mlearning 2009
Practice mashups. Mlearning 2009
 
New Product Introduction - Launching Success!
New Product Introduction - Launching Success! New Product Introduction - Launching Success!
New Product Introduction - Launching Success!
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
 
CeBIT-Preview Hamburg
CeBIT-Preview HamburgCeBIT-Preview Hamburg
CeBIT-Preview Hamburg
 
ID106 Making the Move from Rich Clients to Browsers
ID106 Making the Move from Rich Clients to BrowsersID106 Making the Move from Rich Clients to Browsers
ID106 Making the Move from Rich Clients to Browsers
 
Acing architecture
Acing architectureAcing architecture
Acing architecture
 
IBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration RoadmapIBM Connect 2013: Messaging and Collaboration Roadmap
IBM Connect 2013: Messaging and Collaboration Roadmap
 
Panorama des offres cloud IBM
Panorama des offres cloud IBMPanorama des offres cloud IBM
Panorama des offres cloud IBM
 
More Than Dynamic Modelling
More Than Dynamic ModellingMore Than Dynamic Modelling
More Than Dynamic Modelling
 
Flying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy ChoneFlying Pixels Ent Apps Jeremy Chone
Flying Pixels Ent Apps Jeremy Chone
 
A Critical Review of Building Information Modelling
A Critical Review of Building Information ModellingA Critical Review of Building Information Modelling
A Critical Review of Building Information Modelling
 
IBM Rational Software Conference 2009: Enterprise Modernization Track Keynote
IBM Rational Software Conference 2009: Enterprise Modernization Track KeynoteIBM Rational Software Conference 2009: Enterprise Modernization Track Keynote
IBM Rational Software Conference 2009: Enterprise Modernization Track Keynote
 
IoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & EngineeringIoT Quality Challenges - Testing & Engineering
IoT Quality Challenges - Testing & Engineering
 
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
Software Factories in the Real World: How an IBM® WebSphere® Integration Fact...
 
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...
IRJET- Application of Revit as Building Information Modeling (BIM) for Integr...
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
 
How To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsHow To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud Applications
 
CSCM Bim implementation in malaysia 2
CSCM Bim implementation in malaysia 2CSCM Bim implementation in malaysia 2
CSCM Bim implementation in malaysia 2
 
Cloud Computing overview and case study
Cloud Computing overview and case studyCloud Computing overview and case study
Cloud Computing overview and case study
 
Preserving CAD: A briefing - Emerging trends - Architecture
Preserving CAD: A briefing - Emerging trends - Architecture Preserving CAD: A briefing - Emerging trends - Architecture
Preserving CAD: A briefing - Emerging trends - Architecture
 

More from Jean-Marie Gilliot

PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...
PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...
PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...Jean-Marie Gilliot
 
Introduction atelier conception participative de Tableaux de bord d'apprentis...
Introduction atelier conception participative de Tableaux de bord d'apprentis...Introduction atelier conception participative de Tableaux de bord d'apprentis...
Introduction atelier conception participative de Tableaux de bord d'apprentis...Jean-Marie Gilliot
 
Osons les TP à distance ou hybrides
Osons les TP à distance ou hybridesOsons les TP à distance ou hybrides
Osons les TP à distance ou hybridesJean-Marie Gilliot
 
Innovation pédagogique en temps de pandémie
Innovation pédagogique en temps de pandémieInnovation pédagogique en temps de pandémie
Innovation pédagogique en temps de pandémieJean-Marie Gilliot
 
Hybridation des formations : entre présence et distance de nouvelles pratique...
Hybridation des formations : entre présence et distance de nouvelles pratique...Hybridation des formations : entre présence et distance de nouvelles pratique...
Hybridation des formations : entre présence et distance de nouvelles pratique...Jean-Marie Gilliot
 
Pédagogie, numérique et innovation
Pédagogie, numérique et innovation Pédagogie, numérique et innovation
Pédagogie, numérique et innovation Jean-Marie Gilliot
 
Csedu2019 Towards a functionnal and technical architecture for e-exames
Csedu2019 Towards a functionnal and technical architecture for e-examesCsedu2019 Towards a functionnal and technical architecture for e-exames
Csedu2019 Towards a functionnal and technical architecture for e-examesJean-Marie Gilliot
 
Sedela 2019 : environnement de gestion de données personnelles d'apprentissa...
Sedela  2019 : environnement de gestion de données personnelles d'apprentissa...Sedela  2019 : environnement de gestion de données personnelles d'apprentissa...
Sedela 2019 : environnement de gestion de données personnelles d'apprentissa...Jean-Marie Gilliot
 
Explorweb quelques concepts automne 2018
Explorweb quelques concepts automne 2018Explorweb quelques concepts automne 2018
Explorweb quelques concepts automne 2018Jean-Marie Gilliot
 
Explorweb introduction automne 2018
Explorweb introduction automne 2018Explorweb introduction automne 2018
Explorweb introduction automne 2018Jean-Marie Gilliot
 
Forum 2018 cooperation ouverte en education
Forum 2018 cooperation ouverte en educationForum 2018 cooperation ouverte en education
Forum 2018 cooperation ouverte en educationJean-Marie Gilliot
 
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"Jean-Marie Gilliot
 
Multiculturalité mooc cnam pdl gout de lavenir ecran
Multiculturalité mooc cnam pdl gout de lavenir ecranMulticulturalité mooc cnam pdl gout de lavenir ecran
Multiculturalité mooc cnam pdl gout de lavenir ecranJean-Marie Gilliot
 

More from Jean-Marie Gilliot (20)

PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...
PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...
PadLAD - un outil de Conception participative de tableaux de bord d’apprentis...
 
Introduction atelier conception participative de Tableaux de bord d'apprentis...
Introduction atelier conception participative de Tableaux de bord d'apprentis...Introduction atelier conception participative de Tableaux de bord d'apprentis...
Introduction atelier conception participative de Tableaux de bord d'apprentis...
 
Osons les TP à distance ou hybrides
Osons les TP à distance ou hybridesOsons les TP à distance ou hybrides
Osons les TP à distance ou hybrides
 
Apprendre en 2021
Apprendre en 2021Apprendre en 2021
Apprendre en 2021
 
Innovation pédagogique en temps de pandémie
Innovation pédagogique en temps de pandémieInnovation pédagogique en temps de pandémie
Innovation pédagogique en temps de pandémie
 
Hybridation des formations : entre présence et distance de nouvelles pratique...
Hybridation des formations : entre présence et distance de nouvelles pratique...Hybridation des formations : entre présence et distance de nouvelles pratique...
Hybridation des formations : entre présence et distance de nouvelles pratique...
 
Apprendre en 2020
Apprendre en 2020Apprendre en 2020
Apprendre en 2020
 
Pédagogie, numérique et innovation
Pédagogie, numérique et innovation Pédagogie, numérique et innovation
Pédagogie, numérique et innovation
 
Csedu2019 Towards a functionnal and technical architecture for e-exames
Csedu2019 Towards a functionnal and technical architecture for e-examesCsedu2019 Towards a functionnal and technical architecture for e-exames
Csedu2019 Towards a functionnal and technical architecture for e-exames
 
Sedela 2019 : environnement de gestion de données personnelles d'apprentissa...
Sedela  2019 : environnement de gestion de données personnelles d'apprentissa...Sedela  2019 : environnement de gestion de données personnelles d'apprentissa...
Sedela 2019 : environnement de gestion de données personnelles d'apprentissa...
 
Apprendre en 2019
Apprendre en 2019Apprendre en 2019
Apprendre en 2019
 
Explorweb quelques concepts automne 2018
Explorweb quelques concepts automne 2018Explorweb quelques concepts automne 2018
Explorweb quelques concepts automne 2018
 
Explorweb introduction automne 2018
Explorweb introduction automne 2018Explorweb introduction automne 2018
Explorweb introduction automne 2018
 
Forum 2018 cooperation ouverte en education
Forum 2018 cooperation ouverte en educationForum 2018 cooperation ouverte en education
Forum 2018 cooperation ouverte en education
 
Explorweb introduction 2018
Explorweb introduction 2018Explorweb introduction 2018
Explorweb introduction 2018
 
Apprendre en 2018
Apprendre en 2018Apprendre en 2018
Apprendre en 2018
 
Etonnez moi
Etonnez moiEtonnez moi
Etonnez moi
 
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"
Fil rouge atelier "Quels tableaux de bord pour les acteurs de l'éducation ?"
 
Multiculturalité mooc cnam pdl gout de lavenir ecran
Multiculturalité mooc cnam pdl gout de lavenir ecranMulticulturalité mooc cnam pdl gout de lavenir ecran
Multiculturalité mooc cnam pdl gout de lavenir ecran
 
Regard sur l'innovation
Regard sur l'innovationRegard sur l'innovation
Regard sur l'innovation
 

Recently uploaded

How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 

Recently uploaded (20)

How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 

Mlearning 2009

  • 1. Towards a software architecture for adaptive and mobile learning Antoine Beugnard and Jean-Marie Gilliot
  • 2. Context and Goals Summer school context M-learning context Semantics (???) Infrastructure Goals Think (architecture) different ! Introduce Model Driven Engineering (MDE) Work on an example page 2 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 3. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 3 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 4. The example A video-conferencing session with votes and a whiteboard The client view An architectural view Introduces different roles Prototypes with mashups Videos + localization Votes Shared documents page 4 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 5. The client view Prototypes with mashups Videos + localization @Paris @New Dehli Votes Shared documents Choregraphy ? question? yes no page 5 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 6. The architectural view Light client? Heavy client? Do we need to choose early? video modularize sharedspace The System vote What about module interaction? - at client level? Architecture - new structure? page 6 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 7. Protype with Mashups, Plugins, Widgets ? Mashup : a web application that combines data and/or functionality from more than one source Widget : a component of a graphical user interface with which a user interacts Plug-in : a computer program that interacts with a host application Applications support plugins for many reasons. to enable third-party developers to create capabilities to extend an application Source : to support features yet unforeseen to reduce the size of an application to separate source code from an application because of incompatible software licenses. page 7 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 8. Web Objects – Web Components Access Object + Function name Data Parameters API display page 8 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 9. Mashups A User view of components How to use Mashups ? Video : What is a mashup? - ZDNet Using and assembling services Vote Video Document sharing Who proposes/designs services? page 9 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 10. How to make the glue ? (another view for 3-tier architecture) Object Client side Data Combination of data Server Side Seed Site Object Intermedary site Data Object Object + Data Data page 10 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 11. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 11 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 12. Adaptability Adaptability is the quality of being adaptable; a quality that renders adaptable What could be changed? GUI (user interface) Network/Architecture Multi-Cultural issues Scale Confidentiality page 12 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 13. Scalability Scalability is a desirable property of a system, a network, or a process, which indicates its ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged. Scalability is highly architecture dependent. Scalability cannot (usually) be improved without large re-engineering. page 13 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 14. Dependability Dependability is defined as the trustworthiness of a computing system which allows reliance to be justifiably placed on the service it delivers. It encompasses: Availability - readiness for correct service Reliability - continuity of correct service Safety - absence of catastrophic consequences on the user(s) and the environment Integrity - absence of improper system alteration Maintainability - see later Many factors influence dependability: architecture, design, implementation, even hardware. page 14 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 15. Confidentiality Confidentiality is the property of preventing disclosure of information to unauthorized individuals or systems. Confidentiality is highly design dependent. Localization is crucial. page 15 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 16. High Availability High Availability is defined as « Always available » Always means less than a few minutes/seconds a year Even during evolution page 16 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 17. Maintainability Maintainability is defined as the ease with which maintenance of a functional unit can be performed in accordance with prescribed requirements. Maintainability is highly design dependent. Maintainability cannot (usually) be improved without trace of the design process. page 17 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 18. Consequences Localization is important for confidentiality and scalability We need adaptability, hence architecture and design choices must be explicit => What consequences on component models? page 18 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 19. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 19 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 20. Non functional properties and architecture Modifiability Performance Process Function modifiability modifiability Space Time Data performance performance modifiability -- + Dependencies between + ++ + NFP and architecture (qualitative) -- - Shared Data Pipe & Filters page 20 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 21. A certain idea of software architecture Not so different; 3 roles see mashups Technical expert - furnishes pieces Architect - defines assemblies User - adapts, configures, specializes 2 levels Logical/functional Physical/implementation Adaptable architecture allows other NFP changes Adaptable for mobiles systems page 21 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 22. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 22 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 23. Specifying components The classical approaches Functional components match physical architecture Physical architecture guides functional choices Our approach Abstract components Model Driven Architecture Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 24. Logical/physical mapping Site 2 Site 1 Site 2 Site 1 Site 3 Site 3 Site 2 Site 1 Site Site 3 Site 2 Site 1 Componen t Interface Site 3 part Localization properties expressed and implemented by a component page 24 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 25. Abstract Component : Medium A logical component must ignore physical borders page 25 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 26. Medium features Mediums can have distributed interfaces Medium implementation is naturally distributed Many design variants can be imagined More, many design variants can coexist Design is realized thanks to model transformations page 26 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 27. Medium examples Vote : proposers start polls, voters vote Reservation : a set of things can be reserved by users Publish subscribe Broadcasting (messages, video or audio) Consensus ... page 27 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 28. Medium specification <Role>ComponentServices <Role>MediumServices implements implements use ? <Role> <Medium> UML page 28 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 29. Vote example VoterMediumServices VoterComponentServices + vote(int) * Voter VoteMedium * VoteProposer VoteProposerComponentServices VoteProposerMediumServices page 29 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 30. Specification to be continued... UML class Diagrams can only describe the structural part of a system. We also add : Collaboration Diagram Sequence Diagram Constraints And a lot of notes ;-) page 30 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 31. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 31 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 32. Designing components The classical approaches UML Components by John Cheesman and John Daniels Structural decomposition (assembling) System metaphor (architectural style) Our approach Model (and transformation) based MDE page 32 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 33. Our process Identify preoccupations Identify the target Model, model and models Define transformation Cumulate know-how => Model Driven Engineering page 33 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 34. Some preoccupations How implementing an association? List, set, ... One way, bidirectional? How distributing data? None Without replication but a placement strategy With a replication strategy and a consistency protocol management How observing context/environment ? etc. page 34 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 35. Designing = making choices among preoccupations Initial medium Specification Distributed Target for Medium set list tree other 1st preoccupation : Abstract type selection 2nd preoccupation : Tapestry Chord Pastr other Distributed protocol selection y 3rd preoccupation : Hastable File Data Base other Internal data representation Implementation Variants page 35 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 36. Vote example VoterMediumServices VoterComponentServices + vote(int) * Voter VoteMedium * VoteProposer VoteProposerComponentServices VoteProposerMediumServices page 36 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 37. Vote example (transformation add managers) VoterMediumServices VoterComponentServices + vote(int) * Voter VoterManager VoteMedium * VoteProposer VoteProposerManager VoteProposerComponentServices VoteProposerMediumServices page 37 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 38. Vote example (centralized) VoterMediumServices VoterComponentServices + vote(int) * Voter VoterManager All data here VoteMedium * VoteProposer VoteProposerManager VoteProposerComponentServices VoteProposerMediumServices page 38 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 39. Vote example (distributed) VoterMediumServices VoterComponentServices + vote(int) * Voter VoterManager Nothing here Data distributed among managers VoteMedium * VoteProposer VoteProposerManager VoteProposerComponentServices VoteProposerMediumServices page 39 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 40. Mediums deployment Logical component Voter 1 VoteProposer votes id Voter 2 id VoteProposer Middleware Voter 2 id id Physical component Managers Voter 1 id Data page 40 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 41. Transformations Design choices are implement with Model transformations For each preoccupation Input: the current level of specification Input: a model of the choice made Output: the new level of specification Note that the model of the choice is conformant to a preoccupation description page 41 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 42. Cumulation, reuse Business know-how Design choices MMmédium Mréservation Mvote Mvidéo Extension MMAbstract Type TTA Mset Mlist Mtree Extension MMDistributed Protocol TPR Mchord Mpastry MTapestry Extension MMDataFormat TFD Mtable Mhactablee MMfile Extension Extension Extension Extension Extension Extension Extension MMdistributedmédium Mréservation Mréservation Mvidéo Variant 1 Variant 2 Variant 1 page 42 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 43. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 43 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 44. Towards architectural adaptivity Instead of a single variant, a component is an embed of many va observations Decider Planner Manager variants Executor page 44 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 45. Context Dynamic adaptation: in the presence of execution environment changes, applications need to change behaviors dynamically Dynamic adaptations of distributed applications [Figure] Architecture-based adaptation: Application moves from a consistent architecture to another one Some NFP Variant 1 Variant 2 Other NFP page 45 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 46. Challenge 1 How to ensure the correctness of the collaboration between distributed components after transitions? (How to build “correct” variants?) page 46 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 47. Challenge 2 How to plan dynamic transitions, including distributed architecture variants transitions and data transitions? page 47 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 48. Proposed approach: Abstraction (1) + Refinement (2) + Composition (3) + Planning (4) Communication (1) Design decisions abstraction (medium) (2) Info. for planning Refinement (4) (1), (2) ensure the Compositio correctness of variants (3) n (3) supports dynamic transition (4) allows planning transitions page 48 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 49. Example Abstraction  Refinement + Planning  Composition Abstraction: vote medium A (reusable) medium offering vote services to the citizens, initialize service to the state. The medium is the abstraction of communication between state and citizens) Service: vote Service: initialize Citizen 1 Voter vote State medium Voter VoteProposer Citizen 2 page 49 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 50. Example Abstraction  Refinement + Planning  Composition 1 Citizen 2 Middleware State Adapt manager Decider Planner Citizen 1 Executor Manager variants Adapt-medium Adapt-manager architecture page 50 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 51. Model-based framework automating the development process UML Medium model Developer Design Kermeta Model decision models transformations metamodeling UML Adaptable application model UML Medium Java functions’ implementations Java Composition Fractal +Java Adapt-manager implementation Fractal Adapt-medium + Java page 51 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 52. Outline The example Some needs in mobile and adaptable learning A certain idea of software architecture Specifying components Designing components Adaptation Conclusion page 52 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 53. Key ideas Components can overpass (physical) borders Know-how can be cumulated thanks to models and transformations Large scale applications need adaptivity With adaptivity all NFP can be tackled What about mobile learning ? Need scalability Need adaptivity What specific mediums for mobile learning? page 53 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 54. What remains to be done? A lot! Valuating preocupation solutions in regards of non- functional properties page 54 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 55. ANNEX I Software Architecture Survival Kit page 55 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 56. Software Architecture – the art of boxology Entities (boxes) Connectors (lines) Configurations (assembly) page 56 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 57. Styles of architectures Pipe and Filters Layered Knowledge Knowledge source source Blackboard Knowledge Knowledge source source BlackBoar d Client server REST, P2P, Publish/Subscribe, etc. request Good/Bad properties wrt: CLIENT answer SERVEUR Scalability, evolutivity, maintainability, aso. page 57 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 58. ANNEX II UML Survival Kit page 58 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 59. UML survival kit - ½ (class diagram only) © G. Nomitch- BK consulting Named area containing items. A package can contain packages and classes (including the relationships with each others) Package Inheritance Ex : Car Class Concept Data structure with services (ie methods/functions) Class An object is a class instanciation. Ex : int i = 5 Peugeot ClassObjectValue AnotherClass Concrete Abstract class « 104 » Class that can not be instanciated. It represents a functional or a technical concept. AssociationNo ownership concept Ex : I see the moon cont Element Shared aggregationShared ownership List Relations Ex : Two people own the same bank account 0..n AggregationExclusive ownership Ex : Me and my head (I own my head !). /cont CarList Car 1 0..n 0..1 Cardinality 0 or 1 A list contains elements. A carList is a List that only contains Elements specialize 0..n 0 to many Note that a relation specialization can also change the relation type and the cardi Specialized relation /role page 59 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 60. UML survival kit - 2/2 (class diagram example) © G. Nomitch- BK consulting Cardinality is 0 to many 0..n General functional concept cont AbstractActor Aggregation Inheritance (also called specialization) Cont relation specialization Technical class corresponding to a list of concept Role concept. ActorList A role is an actor. /cont 0..n Model core Person AbstractRole refPerson Physical role The role knows the person it refers to. hysical actor with roles. A person can be a driver and/or a player.get the person name ! When you ask for the role name, you Driver Player Nice association Car Ball A driver and only a driver use a car Back page 60 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 61. ANNEX III MDE Survival Kit (Model Driven Engineering) page 61 Mlearning 2009 A. Beugnard & J.-M. Gilliot
  • 62. MDA: The OMG presentation ( (a) (b) (c) Y UM MO MO L F F Business Technical aMode UM UM SPE CW Etc Logic Architecture l L L M M . (PIM) (PDM) aMod aMo el del Everything (software artefact) is a Model System (PSM) Transformations are operations on models An De that automatizes choices Cod aly sig e Back sis n page 62 Mlearning 2009 A. Beugnard & J.-M. Gilliot