Ivar T. B. rstavik

download Ivar T. B. rstavik

of 38

  • date post

    06-Jan-2016
  • Category

    Documents

  • view

    37
  • download

    0

Embed Size (px)

description

A research project on future eLearning systems. Ivar T. B. Ørstavik. AITeL’s academic profile practice driven & oriented eLearning system development. Ivar’s academic profile practice driven & oriented applied linguistics the art of programming. Background. SIMAS’ academic profile - PowerPoint PPT Presentation

Transcript of Ivar T. B. rstavik

  • Ivar T. B. rstavikA research projectonfuture eLearning systems

    Sr-Trndelag University College - www.hist.no

  • BackgroundAITeLs academic profilepractice driven & orientedeLearningsystem developmentIvars academic profilepractice driven & orientedapplied linguisticsthe art of programming

    SIMAS academic profilepractice driven & orientedthe art of programmingprototyping MAS (adaptive services)for eLearning.

    Sr-Trndelag University College - www.hist.no

  • Practice driven and orientedWhat do we mean by practice?recurrent human activities (using/developing technology)research into practices is research into human activities (and technology use/development)What are AITeLs practices?teaching, studying, eLearning, write learning materialuse and development of ICT systemsPractice oriented?research into eLearningresearch into system use and developmentPractice driven?Our practices (AITeLs education, eLearning experiences, evaTest?, theJ) is the laboratory (material) for our research.

    Sr-Trndelag University College - www.hist.no

  • Method & research materialThe driving practices behind our researchthe corner stone of our methodthe bulk of our research materialExample We study use of LMS. Through practice at AITeL we experience use of LMS. We write about our experiences. -> Our LMS-practices is the method by which we gather our material (experiences).

    Sr-Trndelag University College - www.hist.no

  • List of possible research practices at AITeLteachinglearningeTeachingeLearningsystem developmentsystem useOur best practices at AITeLUse of eLearning systemsprogramming (practical system development)

    Sr-Trndelag University College - www.hist.no

  • SIMAS - programming future eLearning systemsTrying to combine AITeLs best research practices with my best research resourcesPractice driven & orienteddriven by the art (i.e. practice) of programmingoriented towards the problems (and phenomena) behind the practice of eLearning system development/programming

    Sr-Trndelag University College - www.hist.no

  • Problems of eLearning system developmentSystem development in general:Business: Service-oriented architecture (SOA)Research: Adaptive services (MAS)eLearning system development:integrationindividualizationThese are the same pair of problems, theyre just viewed from different angles!

    Sr-Trndelag University College - www.hist.no

  • Temporary resultsIntegration (run-time/use-time) depends on program code adaptivity which is a deep-rooted phenomena within the art/practice of programmingForms of time and chronotope in programming run-time as adventure-time?theJIndividualization and SOA requires a different art of programming (and architecture) which needs to be developedDesigning Multi-Agent Systems using Java as an inter-program languagethe.hist.no

    Sr-Trndelag University College - www.hist.no

  • My goal for future eLearning systemsPrototype a next generation eLearning serviceable to adapt to individual users interaction needs at use-timeable to integrate with other eLearning systems at run-timeBuild on previous results and practicesbe driven by programming practiceorient towards service for learning programming practicestheJ and the.hist.no:eServices that are used for new and old programmers to learn programming practicestheJSearchEngine.hist.noWhatsWrongWithMyCode.hist.noSuggestCodeImprovements.hist.notheJLanguageProcessor.hist.no

    Sr-Trndelag University College - www.hist.no

  • Ivar T. B. rstavikDesigning Multi Agent Systems using Java as an inter-program language

    Sr-Trndelag University College - www.hist.no

  • OutlineInterpretation - a core problem when designing / implementing a MAS.receiver (our main research object)message generation (done by hand)Message syntax a central tool for interpretationLook at the Java syntax as an inter-program language in a simple case

    Sr-Trndelag University College - www.hist.no

  • Comments on approachPractical, not theoreticalAcademic models (AI and linguistics) are interesting, but not as interesting as how we can realize agent systems - both in our minds and as programsI code to reveal problems not to develop solutionsI am no computer expert, just an average programmer / applied linguist.

    Sr-Trndelag University College - www.hist.no

  • The problem of MASDifferent agents / programs run at the same timeThey need resources from each otherThey collaborate in order to solve complex tasksRun-time, not design-time

    1

    Sr-Trndelag University College - www.hist.no

  • An academic description of MASMAS is a collection of agentProactive:each has its own tasks and interestsAutonomous:separate entities with their own controlReactive:service providers for each otherpossibly co-dependentAdaptive:they adapt dynamically to service each others specific needsSymbolic:messages (such as text, source, bytecode) is sent and interpreted by the agents in order to react and adapt to others and proactively use others1

    Sr-Trndelag University College - www.hist.no

  • A Java solution for MAS problemsMAS is a system of agents whereEach agent is a Java programProactiveAutonomousexchanging messagesinterpreting these messages run-timeReactiveSymbolicdynamically loading/rearranging resources (i.e. classes and objects) to service each other run-timeAdaptive1

    Sr-Trndelag University College - www.hist.no

  • Syntactic strategiesThe message syntaxuseful to express functionalityessential for interpretation3 message and interpretation syntaxes:protocol-basedRPC-basedJava-based

    2

    Sr-Trndelag University College - www.hist.no

  • Syntax tools protocol-based Interpretationinternal tools protocol syntax provides:a) separate different categories (data)a) describe functions for categories (metadata) external tools protocol syntax provides:b, b2 & c) lexical connections between message and classes, objects2

    Sr-Trndelag University College - www.hist.no

  • Syntax tools RPC-based Interpretationinternal tools RPC syntax provides:a) referring by name to registered procedurea) passing parameters and return valueexternal tools RPC syntax provides:b & b2) setting return and parameter types dynamically (run-time) c) locate objects by name within run-time register

    2

    Sr-Trndelag University College - www.hist.no

  • Syntax tools - Java-based InterpretationInternal tools the java syntax provides:a) method/object reference (RPC)a) control structures, loops, if, etc.a) local variables at different levelsa) nested expressionsa) simple math, etc.External tools the java syntax provides:b) references to classes b2) references to external classes through lexical meansc) references to objects through lexical means (implict: with known location)2

    Sr-Trndelag University College - www.hist.no

  • Java-based Interpretation - how to implement itmessage received as Javacompile Java codeinstantiate a classload class into CL-hierarchyinvoke a method using reflectionWhat do these reactions involve?existing functionality and data of the interpreting programnew functionality and data from the querying program2

    Sr-Trndelag University College - www.hist.no

    .java

    .class

  • Benefits/drawbacks with Java-syntax as inter-program basisSame language within and withoutProgrammers use and train the same skills in both areasPowerful languageJava is the very best language for expressing program actions and interactionDrawback 1: Lacks syntactic support of RPC:object registry and lookupload external classes run-time (RMI)Drawback 2: known, powerful and complex syntax opens up for loopholes in security

    2

    Sr-Trndelag University College - www.hist.no

  • A case for Java MASProgramA: The spellcheckerProgramB: asks ProgramA to spellcheck its textaccording to its own spellchecking needsand return the result the way ProgramB wants

    3

    Sr-Trndelag University College - www.hist.no

  • ProgramA and ProgramB3

    Sr-Trndelag University College - www.hist.no

  • Programming for interpreted interaction3

    Sr-Trndelag University College - www.hist.no

  • Inter-program message from ProgramB to ProgramAPseudokodeuse the other programs dictionary to spell check its inputsplit each result into different partial word combinations and spell check each combinationsend me the result as a String array through a special transfer channel3

    Sr-Trndelag University College - www.hist.no

  • Inter-program message in Java

    public String[] doActions(){ java.util.Vector result = new java.util.Vector(); String[] words = text.Parser.findWords("here is the composite text data"); for (int i = 0; i < words.length; i++) { String word = words[i]; if (spellcheck(word)) continue; if (! splitAndCheck(word)) result.add(word); } return (String[])result.toArray(new String[0]); }

    public static boolean splitAndCheck(String word) { boolean state = false; if (spellcheck(word)) return true; for (int j = 0; (j < (word.length()-1) && ! state); j++) { String[] split = new String[]{ word.substring(0,j+1), word.substring(j+1)}; if (spellcheck(split[0])) state = splitAndCheck(split[1]); } return state; }

    public void sendMe() throws IOException { java.net.Socket s = new java.net.Socket("server.com", 7007); java.io.ObjectOutputStream out = new java.io.ObjectOutputStream( new java.io.BufferedOutputStream(s.getOutputStream())); out.writeObject(do