=Paper=
{{Paper
|id=Vol-1148/paper6
|storemode=property
|title=Pedagogical Agents for Social Music Learning in Crowd-Based Socio-Cognitive Systems
|pdfUrl=https://ceur-ws.org/Vol-1148/paper6.pdf
|volume=Vol-1148
}}
==Pedagogical Agents for Social Music Learning in Crowd-Based Socio-Cognitive Systems==
Pedagogical agents for social music learning in Crowd-based Socio-Cognitive Systems Matthew Yee-King and Mark d’Inverno Goldsmiths, University of London, UK dinverno@gold.ac.uk Abstract. This paper considers some of the issues involved in building a crowd- based system for learning music socially in communities. The effective imple- mentation of building such systems provides several fascinating challenges if they are to be sufficiently flexible and personal for effective social learning to take place when they are large number of users. Based on our experiences of building the infrastructure for a crowd-based music learning system in Goldsmiths called MusicCircle we address several some of the challenges using an agent based ap- proach, employing formal specifications to articulate the agent design which can later be used for software development. The challenges addressed are: 1) How can a learner be provided with a personalised learning experience? 2) How can a learner make best use of the heterogenous community of humans and agents who co-habit the virtual learning environment? We present formal specifications for an open learner model, a learning environment, learning plans and a personal learn- ing agent. The open learner model represents the learner as having current and desired skills and knowledge and past and present learning plans. The learning environment is an online platform affording learning tasks which can be carried out by individuals or communities of users and agents. Tasks are connected to- gether into learning plans, with pre and post conditions. We demonstrate how the personal learning agent can find learning plans and propose social connections for its user within a system which affords a dynamic set of learning plans and a range of human/ agent social relationships, such as learner-teacher, learner-learner and producer-commentator. 1 Introduction 2012 has been called the ‘year of the MOOC’, the massive, open, online course [13]. Indeed one of the authors of this paper was part of a team which delivered a course to an enrolled student body of around 100,000 in 2013. The obvious problem with MOOCs is that there is a very high student to tutor ratio. This means it is not feasible to pro- vide students with direct tutor support when they have problems with their learning and complex assessments which cannot be automated become impractical. The current so- lutions seem to be the use of forums and other social media wherein peer support can take place, and the use of peer assessment techniques such as calibrated peer assess- ment [7]. Running our MOOC, we noticed that the forum seemed to be an inefficient tool through which students could find information, where the same questions would be asked and answered repeatedly, and where the constant churn pushed old answers away1 . It was not clear who would bother to answer a given question, or who would be the ideal person to answer it. Regarding the assessment, there was a tendency to assess others’ work superficially - to simply fulfill the most basic requirements of the peer assessment task. This was probably an instance of strategic learning, where the learner does the minimum to meet the apparent requirements. Another problem is a high drop out rate on courses. For example, we had around 10% of our 100.000 students still ac- tive at the end of our MOOC; Norvig and Thrun’s famous Stanford AI CS211 course in 2011 went from 160,000 enrolments to 20,000 completions [14]. These figures improve if we instead consider the number of students actively accessing learning materials at the start of the course; in our case, 100.000 becomes 36,000. So motivation to complete the course is another area that needs work. But how might one motivate a learner, given the particular characteristics of a MOOC, i.e. the high learner to teacher ratio, the presence of a large, heterogeneous peer group, the distance learning component and so on? Might motivation be ampli- fied by leveraging the learner’s peers - the social network? What might a ‘networked learner’ gain from being part of an active learning community? How can the learner be made aware of the structure and members of the community, and how that might help them achieve their learning goals? In summary, guidance for learners, feedback to learners (on their work) and general learner motivation are areas for improvement for MOOCs. These are the key points we aim to address in our wider research work. In this paper we present our work on a representative component of this: the invention of a type of pedagogical agent called a personal learning agent which can provide a more intuitive and efficient route through the learning materials and information, which can hep the learner to network to find help or to provide help and feedback to others. 1.1 Pedagogical agents Skiar et al. present a review of research where agents are used [15] and we propose the reader look at this for more details than we are able to present here. According to Soli- man and Guetl, Intelligent Pedagogical Agents (IPAs) are agents which help learners by providing narrations and guidance in order to resolve difficulties and improve motiva- tion’ [16]. Magus et al. describe a math tutoring game which includes a conversational agent [11] which has some similar agent characteristics. Animated pedagogical agents (APAs) operating in realtime virtual learning envi- ronments allow learners to request information that helps build an understanding of a student’s thought processes and methods of knowledge acquisition [6]. Lester et al. trialled a 3D animated character with 100 middle school children. They discuss the per- sona effect, which encompasses the agent’s encouragement (of learners), utility, credi- bility, and clarity, and which is much enhanced by the use of an animated character [8]. Johnson et al. provide a list of technical issues for designers of animated pedagogical agents to consider [5] and the interested reader is recommended to look at this paper for more details. 1 this is somewhat alleviated by up-and down-voting of questions and answers but this is far from perfect Xiao et al. empirically assessed the effect of pedagogical agent competency where learners were learning how to use a text editor supported by pedagogical agents with varying competency at the task [18]. Baylor et al. present an initial study where agents take on different roles (as in Electronic Institutions [4] when supporting learners: Mo- tivator, Expert, or Mentor. More knowledgeable agents were more credible and seemed to transfer more knowledge but motivating agents were more engaging [1]. In [17], an agent based approach is used to simulate interactions between learners within a group. 2 The Music Circle System The word presented in this paper is part of the efforts to build an online learning system for massively online learning of music within normative communities of practice. It is funded under the FP7 Technology-Enhanced Learning Program called Practice and Per- formance Analysis Inspiring Social Education (PRAISE). The first author is the Techni- cal Project manager the project and the second author is the principal investigator. The major research questions of the project are as follows 1. How to evidence increase participation in musical learning activity? 2. Is giving and receiving feedback related to engagement with practice? 3. What is the right level of social coordination? 4. How to evidence musical learning? 5. How can automatic techniques be used to evidence feedback? 6. How to build a personal learning agent for personalised learning experiences? In order to achieve this one of the key technologies we are developing is that of the personal learning agents that can enable pathways to and through information for learners, better feedback to learners (on their work) and general learner motivation, and as a resource for finding fellow students within which we can learnt together. In this paper, we will address the following questions which fall within this wider remit: 1. How might one formally specify a human learner that enables an autonomous per- sonal learning agent to represent them in a crowd-based system for music learning? 2. What kind of operations might be useful, given the wider research goals articulated above? The specific online system we are developing within the PRAISE project is called Music Circle and next we describe Music Circle and why it meets all the criteria for a Crowd-based Socio-technical System. 3 Music Circle as an example of a Crowd-based Socio-technical System Before moving onto specify the personal learning architecture we first wish to state why this system fits the definition of a crowd-based socio-technical system that is de- scribed in a sister paper in this workshop by Pablo Noriega and Mark d’Inverno entitled ”Crowd-Based Socio-Cognitive Systems” [12]. In this section we take their description of a Crowd-Based Socio-cognitive System and item by item explain why our Music Circle system matches the description given by Noriega and d’Inverno. – Dimension 1. The Music Circle system contains agents which are both computa- tional or human and are autonomous in that they can exhibit purposeful behaviour. – Dimension 2. The population is a mix of human and software agents. – Dimension 3. The human and computational agents have a model of the system in which they operate. – Dimension 4. The agents within the Music Circle system are rational in that they are capable of choosing different courses of action based on their own models (how- ever simple or complex these may be). – Dimension 5. The human and computational agents in Music Circle are social in that they interact with other agents. – Dimension 6. The human and computational agents in Music Circle have social models of the other agents in the system. – Dimension 7. The human and computation agents are socio-cognitive in the sense that they base their decisions on some decision-making process which takes into account the models of the other agents in the Music Circle system. – Dimension 8. The agents in Music Circle have social capabilities including aware- ness and models of others, and the ability to understand the norms of the learning community in which they are situated. – Dimension 9. The Music Circle system is defined by the system of interacting agents which means that the state of the system at any stage can never been known by us as the designers and engineers of the systems (opacity). – Dimension 10. Agents may enter and leave our system at any time and cannot be known in advance. – Dimension 11. Music Circle communities are regulated in order to enable the social coordination of music learning in communities. – Dimension 12. The human agents are autonomous and may not necessarily want to provide helpful feedback to the other music learners in the community and so we need to regulate communities in order to be sensitive to how such agents could destroy the trust within a learning community. – Dimension 13. A Music Circle system is dialogical as all interactions are mediated by technological artefacts and may therefore be wrapped as communicative acts or messages typically in relation to audio media. – Dimension 14. We currently have several hundred of students enrolled with the hope and expectation of getting this to thousands of music learners within the next 12 months – Dimension 15. The system is being designed specifically so that norms can be de- termined by the community. Moreover, we are specifically including models of how trust and reputation arise and can be managed within such systems. – Dimension 16. We are developing the Personal learning agent, and the Music Circle system in general (including norms, coordination, rest and reputation managements systems and so on) so that it will help the human users take a wide-variety of feedback on audio and suggested plans for practice from different agents in order to synthesise a particular plan of practice activity. That is to say that that our system is central example of a Crowd-based Socio- Cognitive System and we are using norm-based MAS techniques in the specification, design and implementation of our system. Next, we move to the specification of the personal learning agent which works with the human learning agent to facilitate music learning in our PRAISE system. 4 Requirements of the Personal Learning Agent There are several issues about large online systems including (i) motivating the learner (high drop out rate, personalised learning pathways) (ii) connecting the learner (who can help me with this? and (iii) who is having the same problems, etc.) and giving the learner an individual pathway (how can I learn to do this?) One approach to combat these issues is to define a Personal Learning Agent we will use the specification techniques developed by Luck and d’Inverno over the last 20 years or so (e.g. [2, 9, 10]). We will begin by framing the agent specification presented later with some require- ments for the functionality of the agent. There are 4 key requirements: to store learner state, to report learner state, to find learning plans and to propose social connections. Each of these requirements has sub-requirements, as listed below: 1. Storing learner state: (a) Storing the goals of a person (b) Interpret the goals into desired skills and knowledge (c) Storing a person’s current skills and knowledge (d) Storing a person’s current and previous plans 2. Reporting learner state: (a) Reporting current state of goals and plans (b) Reporting current state of knowledge and skills (c) Reporting status of data/ content provided to and from the community i.e. plans, feedback, feedback agents, trust model 3. Plan finding: (a) Propose plans whose pre-conditions match current skills and knowledge (b) Propose plans whose post-conditions (goals) match a personal learning agent’s goals (c) Generate evaluation data for plans based on users (d) Propose plans which are successful, i.e. verified post conditions 4. Agent finding: (a) Propose social relationships/ connections to people with similar goals/ skills/ knowledge (potential peers, potential as they must actively agree to connect to make a social relationship) (b) Propose connections to people with similar (musical/ geographical/ etc.) data (c) Propose connections to people who have related but superior skills and knowl- edge (potential tutors), or teaching goals. (I want to increase others’ knowledge of scales on the guitar). These people might be able to assign plans, for exam- ple. 5 Formal specification of the Personal Learning Agent In this section we will use the specification language Z to develop the models of our agents, following the methodology developed by Luck and d’Inverno [2, 9, 3]. Learner model We begin our description by introducing our learner model. The purpose of the learner model is to represent various aspects of a person operating within our learning environ- ment. There are two types which users of the system might want to learn about or teach about. The specification remains neutral about how they are encoded but this encoding might include free text descriptions or formulas in predicate calculous for example. [Skill, Knowledge] As an example a user might have the skill of playing the C major scale and the knowledge which includes being able to state which notes are in the scale of C major. We then define Proficiency as the combination of skills and knowledge, representing all that a person would potentially wish to learn in music. Proficiency ::= skillshhSkillii | knowledgehhKnowledgeii A particular person can be given a score which is an evaluation of their learning level regarding a particular skill or knowledge element: Score == N Learning environment We continue the description with some details about the learning environment which learners, teachers and agents will inhabit. For the purposes of our wider research, it is specialised for music education, and it is designed around a social, blended learn- ing pedagogy wherein people upload recordings of themselves playing instruments and other media items. Discussion and feedback can occur around the uploaded items. Within the environment, people and agents can carry out tasks, where a task is some- thing to be undertaken. [Task] We have identified 9 distinct tasks which can be carried out within our learning environment. TaskType ::= Practice | Listen | Makemusic | Upload | Share | Annotate | Question | Answer | Visualise Earlier, we mentioned that feedback might be provided about a media item. For the time being we define feedback as a given set. It is possible to define feedback in terms of constructive and evaluative praise and criticism. However, these are our first attempts at defining feedback we will remain neutral for the time being. [Feedback] We define evaluate to be a function which maps an proficiency to a natural number, e.g. I have evaluated the way you have played C major as scoring a 5. evaluateproficiency : Proficiency → N In the system the community may evaluate many different aspects. One of those is to evaluate feedback for example. evaluatefeedback : Feedback → N Goals, Beliefs and Plans As with the definition of the SMART Agent Framework [2] we take a goal to be a state of affairs in the world that is to be achieved (by some agent). [Goal] The way that goals (or, equally, learning outcomes) are achieved is through a work- flow of tasks: a sequence of tasks that have to be completed in order. We do not specify here who determines whether the tasks have been accomplished successfully or not because in general this could be a mixture of the system, the user themselves, the com- munity and/or a teacher. Plans are typically specified in terms of what must be true before they can be adopted, what is true after they have been successfully completed, and the kinds of actions (or in our language tasks) that have to be completed in order Next we define a plan to be a set of preconditions (the skills and knowledge and agent must have before undertaking the plan) and a set of post conditions (which describe the new set of skills and knowledge the agent will have after the plan). The predicate part of the schema state that the intersection of the pre and post conditions are necessarily empty. Plan pre : P Proficiency post : P Proficiency workflow : seq Task pre ∩ post = {} In specifying this system, it is useful to be able to assert that an element is optional. The following definitions provide for a new type, optional[T], for any existing type, T, which consists of the empty set and singleton sets containing elements of T. The predicates, defined and undefined test whether an element of optional[T] is defined (i.e. contains an element of type T) or not (i.e. is the empty set), and the function, the, extracts the element from a defined member of optional[T]. optional[X] == {xs : P X | # xs ≤ 1} [X] defined , undefined : P(optional[X]) the : optional[X] → 7 X ∀ xs : optional[X] • defined xs ⇔ # xs = 1 ∧ undefined xs ⇔ # xs = 0 ∀ xs : optional[X] | defined xs • the xs = (µ x : X | x ∈ xs) Bool ::= True | False Using this definition we can now specify the state of a plan. The state of a plan can be thought of as a running instance of a plan during the lifetime of a users activity. It means that the plan has been adopted to achieve a goal. In order to specify this we keep the information contained in the specification of a Plan using schema inclusion. We also state that if the plan has been started but not finished there will be a current task that the agent is currently undergoing. By also defining a flag called finished we can specify a plan state as follows. The predicate part states that the current task must have been defined in the workflow of the plan. PlanInstance Plan current : optional[Task] finished : Bool thecurrent ∈ (ran workflow) The initial plan state (for any state schema the initial state should be specified in Z) is where the plan has just been proposed or adopted by a user. InitialPlanInstance PlanInstance undefined current finished = False We are now in a position to define four specific sub-types of the plan state as follows. 1. Proposed Plan. A plan which has been selected to achieve a goal but which has not been started by the agent. As no task has been started the current task is set to undefined. ProposedPlan InitialPlanInstance 2. Active Plan. A plan which is ongoing. It has not been completed and the current task is set to defined. ActivePlan PlanInstance defined current finished = False 3. FailedPlan. This is a plan which has a defined task but a flag set to finished. For example, this represents a situation one of the tasks in the workflow of a plan is too difficult for the user and the plan is discarded by the user. FailedPlan PlanInstance definedcurrent finished = True 4. Completed Plan. The flag finished is set to true and the current task becomes unde- fined. CompletedPlan PlanInstance undefined current finished = True There are several operations that we could specify at the level of the plan but the key one is finish task. Either this leads to the plan being completed or the current place in the work flow moves to the next task. In the first case the specification looks like this: FinishTask1 ∆PlanInstance current = {last(workflow)} finished = False undefined current0 finished0 = False In the second case like this: FinishTask2 ∆PlanInstance current 6= {last(workflow)} finished = False current0 = {workflow((workflow∼ (the current)) + 1)} finished0 = False The other is to instantiate a plan which essentially means creating a PlanInstance in it is initial state from a Plan. instantiateplan : Plan → InitialPlanInstance ∀ p : Plan; ps : InitialPlanInstance | ps = instantiateplan(p) • ps.pre = p.pre ∧ ps.post = p.post ∧ ps.workflow = p.workflow The (almost) inverse function of this is a function which takes any PlanInstance and returns the plan. recoverplan : PlanInstance → Plan ∀ p : Plan; ps : PlanInstance | p = recoverplan(ps) • ps.pre = p.pre ∧ ps.post = p.post ∧ ps.workflow = p.workflow Beliefs This is a representation of what the agent knows and what it can do. Again we remain neutral on the representation. [Belief ] The Personal Learning Agent In the schema below we have the following definitions. 1. An agent has a set of goals at any stage which we call desires (typically these are associated with learning outcomes as described earlier in the document.) 2. An agent has a set of beliefs. These refer to the information which is stored about what the user knows or what the user can do (skills). 3. An agent has some interpret function which takes a goal and returns a set of profi- ciency (skills and knowledge). Note that the complexity of this function may vary as in some cases goals may be expressed as a set of proficiency directly and so this function becomes a simple identity function. However, in other situations this func- tion has to take a free text description and turn it into a set proficiency. Clearly, in general no automatic process can do this and such an operation will often be left to the community. In which case we specify the agents interpret function as a partial function. 4. An agent has a similar interpret function for beliefs which maps its beliefs to a set of machine readable (skills and knowledge). 5. intdesires is a set of proficiencies which can then be used by the agent and the community to plan. Note then, that interpreteddesires is made up of the automatic function interpret of the agent, possibly the automatic interpretation of other agents, but also from human users in the music learning community. 6. intbeliefs is the analagous set of proficiencies which the agent has recorded as known or accompished by the agent. 7. It is not unreasonable to suggest that all tasks are not available to a user at all times and so the agent can record which tasks are currently available to a user. (If the internet is down, upload is not an available task. If a newcomer joins a community then possibly they do not feel like giving any feedback and so the agent can record that the user is currently not offering this task.). 8. Then we define the set of plans which the agent knows about (possibility learned from other agents). This is where the agent contains its procedural knowledge about what plans work in what situations to achieve which desired proficiency. 9. The agent maintains a record of all of the plans that have been completed and all of those which have failed. 10. There is a record of the intentions. This is a mapping from a set of proficiencies (this set may only have one proficiency in it of course) to the plan instance which the agent has adopted to attain those proficiencies. 11. Finally, we record all those interpreted desires for which the agent has no active plan. There are also two dummy variables that we can use (which can be calculated from the variables described so far but which aid us in the readability of the specification) 12. We define a variable record the tasks that the agent is current involved in (currenttasks) which can be calculated as the union of the tasks from the current plans. 13. We define a variable to records the current plan instances of the agent Next we consider the constraints on the state of a personal learning agent 1. The interpreted desires are the result of applying the interpret desire function to the desires. 2. The interpreted beliefs are the result of applying the interpret desire function to the beliefs. 3. The intersection between interpreted desires and interpreted beliefs is an empty set, (in other words you can’t desire a proficiency you already have). 4. If there is a plan for a subset of proficiencies then those proficiencies must be con- tained in the the interpreted desires. 5. If there is a plan for one subset of proficiencies and a plan for another distinct set pif proficiencies then their intersection is empty. 6. The unplanned desires are those interpreted desires for which there is no intention 7. The current tasks are calculated from taken the current plans and the current task from each. 8. The current plans are calculated from taking the range of the intentions. [X, Y] map : (X → Y) → (seq X) → (seq Y) mapset : (X → Y) → (P X) → (P Y) ∀ f : X → Y; x : X; xs, ys : seq X • map f hi = hi ∧ map f hxi = hf xi ∧ map f (xs a ys) = map f xs a map f ys ∀ f : X → Y; xs : P X • mapset f xs = {x : xs • f x} PersonalLearningAgent desires : P Goal beliefs : P Belief interpretdes : Goal → 7 P Proficiency interpretbel : Belief → 7 P Proficiency intdesires : P Proficiency intbeliefs : P Proficiency availabletasks : P TaskType plandatabase : P Plan completedplans, failedplans : P Plan intentions : (P Proficiency) →7 PlanInstance unplannedintdesires : P Proficiency currenttasks : P Task currentplaninstances : P PlanInstance S intdesires = S (mapset interpretdes desires) intbeliefs = (mapset interpretbel beliefs) intdesires S ∩ intbeliefs = ∅ (dom intentions) ⊆ intdesires ∀ ps1, ps2 : P Proficiency | (ps1 6= ps2) ∧ ({ps1, ps2} ⊆ (dom intentions)) • Sps1 ∩ ps2 = {} unplannedintdesires = (dom intentions) \ intdesires currenttasks = {t : Task; ps : PlanInstance | ps ∈ (ran intentions) • the ps.current} currentplaninstances = ran intentions Plan Finding Plan finding is the process of taking a set of candidate plans and selecting those whose preconditions are met and where at least some subset of the postconditions are desired. For this operation we assume the input of a set of candidate plans. Again we do not specify whether these comes from the agent (i.e. the agent’s database of plans), other agents in the community, or from the user or from other users and in general with be a synthesis of the users and the agents of users working together. For now we will suppose that suitable plans have all preconditions satisfied and it is the case that both: (a) none of the postconditions are things which the user is already proficient in (b) all of the postconditions are current interpreted desires of the user. In the schema below SuitablePlans is generated which satisfy this constraint and from these one plan adoptedplan is selected. The state of the agent is then updated to include that the current plans now includes a mapping from the pre-conditions of the plan (which are necessarily interpreteddesires for which no plan exists. Plan Completion The very simplest way this could happen is as follows: 1. Because of a successfully completed task a plan instance becomes an element of CompletedPlan 2. The post conditions are added to the interpreted beliefs (these may in turn be reverse interpreted into beliefs which can then be seen by the community) 3. Any post conditions that were formerly desires are now removed from interpreted desires (these may in turn be reverse inetreprered into beliefs which can then be seen by the community) 4. The completed plans function is updated with the plan that has just successfully completed. CompletePlan completedplan? : CompletedPlan ∆PersonalLearningAgent completedplan? ∈ (ran intentions) intentions0 = intentions −B {completedplan?} intdesires0 = intdesires \ completedplan?.post intbeliefs0 = intbeliefs ∪ completedplan?.post completedplans0 = completedplans ∪ {recoverplan completedplan?} However, this process will not be automatic in general within the system. In general, the user (or other users in the community) will be asked to evaluate the plan. There may be several ways in which this can happen. For example, a simple score could be given but in general each user who is evaluaring the plan considers each of the post conditions (or another member of the community does) to work out whether they are now proficiencies (intepreted beliefs), whether they have not been met and so are still interpreted desires, or whether they have not been met but are not desires. Indeed the evaluating user could rank each of the postconditions with a score and the agent may also wish to keep a snapshopt of the agent’s state for future comparison by the community. Fig. 1. The music discussion user interface Finding and adopting a plan Plan finding is the process of taking a set of candidate plans and selecting those whose preconditions are met and where at least some subset of the postconditions are desired. For this operation we assume the input of a set of candidate plans. Again we do not specify whether these comes from the agent (i.e. the agent’s database of plans), other agents in the community, or from the user or from other users and in general with be a synthesis of the users and the agents of users working together. For now we will suppose that suitable plans have all preconditions satisfied and it is the case that both: (a) none of the postconditions are things which the user is already proficient in (b) all of the postconditions are current interpreted desires of the user. In the schema below SuitablePlans is generated which satisfy this constraint and from these one plan adoptedplan is selected. The state of the agent is then updated to include that the current plans now includes a mapping from the pre-conditions of the plan (which are necessarily interpreteddesires for which no plan exists. FindandAdoptPlan PossiblePlans?, SuitablePlans! : P Plan adoptedplan : Plan ∆PersonalLearningAgent SuitablePlans! = {ps : PossiblePlans? | (ps.pre ⊆ intbeliefs) ∧ (ps.post ∩ unplannedintdesires) = {} • ps} adoptedplan ∈ SuitablePlans! intentions0 = intentions ∪ {(adoptedplan.post, instantiateplan(adoptedplan))} It would be a simple matter to add more detail to this schema including choosing the plan with the highest rating for example, or a plan which has completed successfully in the community the most number of times, or making sure the plan has not failed in the users history, or that the plan has not failed in the community with users which have similar profiles as defined by the personal learning agent. In general, the plan finding system requirements, and this specification alongside it, will develop as we gain experience of how the system is used. Community of Music Learning Agent finding Now we move to defining a community of learners each of which has one and only one personal learning agent. First we define the set of all users. [User] Community community : P User 7 PersonalLearningAgent agents : User community = dom agents To this we can define all kinds of social relationships. For example, peer and teacher and others as they become useful. It is up to the designer of the system to state what the constraints are on any such relationships. To provide examples (not necessarily ones we would subscribe to) of how this is none we state that if user1 is a peer of user2 then user2 is a peer of user1 and, in addition, if user2 is a teacher of user1 then user1 cannot be a teacher of user2. Another example would be the idea of a fan who would always adopt the advice of another. SocialRelationships peer, teacher : User ↔ User fans : User ↔ User ∀ u1, u2 : User • (u1, u2) ∈ peer ⇒ (u2, u1) ∈ peer ∀ u1, u2 : User • (u1, u2) ∈ teacher ⇒ (u2, u1) 6∈ teacher Using these schemas it then becomes possible to ask agents to start to look for users who have similar profiles as stated in the requirements detailed earlier in this document. In order to refine the search to include (for example) looking for agents who have a motivation to teach, we will need to develop the specification to define ways in which agents can broadcast that they are able to teach certain plans. This will come in later versions of this specification. 6 Concluding remarks We are developing a system for social music learning called MusicCircle that we hope will be populated by large numbers of learners. As part of the design of our system we will be incorporating personal learning agents to provide a more personalised, social and effective learning experience. In this paper have use a standard agent-based formal specification methodology for modelling social agent systems to specify the design of these agents. The website can be found at musiccircleproject.com and a screen shot of the system is given above. At the heart of this is the design of a social system of personal learning agents that can enable users to have a stronger sense of their place in the social community of mu- sic learners. We have used a long-standing agent-based specification methodology for building models of these agent systems which we are using in the principled develop- ment of our system. In addition to using formal agent-based methodology for designing agent systems and on the other hand we are testing versions of our systems with users across a range of music learning cites in the UK (from school, to pre-consevertoire to the HE sector) so that our work clearly spans agent-based theory and the practice of building systems for large numbers of users. Furthermore, we have demonstrated that Music Circle is an example crowd-based socio-technical system as described by Nor- iega and d’Inverno in the paper. In relating the theory and practice of sociological agent systems within the design of socio-technical system more generally also enables us in future work to consider a range of questions about how the scientific social multi-agent approach that our com- munity has developed for 20 years or more can be applied to the analysis and design of crowd-based socio-cognitive systems. We need to understand to what extent a MAS approach to analysing and designing systems such as MusicCircle helps? Could we, for example, start to map out the space of such systems relating technology to sociality in a useful way using the multi-agent tradition? Then could we start to provide platforms and design methodologies for building such systems in the future using a regulated MAS approach? One hope is that we will see a greater influence from the MAS community, applying the work developed over recent years to become mainstream in the analysis, design and specification of crowd-based socio-technical systems in the future. Acknowledgements This research was supported by the FP7 project in the Technology-Enhanced Learning Program called Practice and Performance Analysis Inspiring Social Education (PRAISE). The authors would like to thank Harry Brenton, Andreu Grimalt-Reynes, Maria Kriven- ski, Jonathan James and Francois Pachet who are colleagues on the PRAISE project at Goldsmiths. References 1. A. L. Baylor and P. P. A. L. S. R. Group. The impact of three pedagogical agent roles. In Pro- ceedings of the second international joint conference on Autonomous agents and multiagent systems, AAMAS ’03, pages 928–929, New York, NY, USA, 2003. ACM. 2. M. d’Inverno and M. Luck. Understanding agent systems. Springer, 2003. 3. M. d’Inverno and M. Luck. Creativity through autonomy and interaction. Cognitive Com- putation, 4(3):332–346, 2012. 4. M. d’Inverno, M. Luck, P. Noriega, J. A. Rodriguez-Aguilar, and C. Sierra. Communicating open systems. Artificial Intelligence, 186(Complete):38–94, 2012. 5. W. L. Johnson, J. W. Rickel, and James C. Lester. Animated pedagogical agents: Face-to- face interaction in interactive learning environments. International Journal of . . . , pages 47–78, 2000. 6. A. Josephson. New Technology-based Models for Postsecondary Learning: Conceptual Frameworks and Research Agendas. Technical report, Computing Research Association, 2013. 7. D. Koller and A. Ng. The Online Revolution : Education at Scale. Technical report, Stanford University. 8. J. Lester, S. Converse, and S. Kahler. The persona effect: affective impact of animated ped- agogical agents. In CHI 97 Conference on Human Factors in Computing Systems, Atlanta, 1997. 9. M. Luck and M. d’Inverno. A formal framework for agency and autonomy. Proceedings of the first international conference on Multi-Agent Systems, 254260, 1995. 10. M. Luck and M. d’Inverno. Structuring a Z specification to provide a formal framework for autonomous agent systems. ZUM’95: The Z Formal Specification Notation, pages 46–62, 1995. 11. H. Magnus, S. Annika, and S. Björn. Building a Social Conversational Pedagogical Agent- Design Challenges and Methodological Approaches. In D. Perez-Marin and I. Pascual-Nieto, editors, Diana Perez-Marin (Editor), Ismael Pascual-Nieto (Editor), pages 128–155. IGI Global, 2010. 12. P. Noriega and M. d’Inverno. Crowd-based socio-cognitive systems. In Crowd Intelligence: Foundations, Methods and Practices. European Network for Social Intelligence, Barcelona, January 2104. 13. L. Pappano. The year of the MOOC. The New York Times, 2(12):2012, 2012. 14. O. Rodriguez. MOOCs and the AI-Stanford like Courses: two successful and distinct course formats for massive open online courses. European Journal of Open, Distance, and E- Learning, 2012. 15. E. Sklar and D. Richards. The use of agents in human learning systems. In Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems, AAMAS ’06, pages 767–774, New York, NY, USA, 2006. ACM. 16. M. Soliman and C. Guetl. Intelligent pedagogical agents in immersive virtual learning en- vironments: A review. In MIPRO, 2010 Proceedings of the 33rd International Convention. IEEE Computer Society Press, 2010. 17. M. Spoelstra and E. Sklar. Using simulation to model and understand group learning. In Proc. AAMAS’07 Workshop on Agent Based Systems for Human Learning and Entertain- ment, 2007. 18. J. Xiao, J. Stasko, and R. Catrambone. An Empirical Study of the Effect of Agent Com- petence on User Performance and Perception. In Third International Joint Conference on Autonomous Agents and Multiagent Systems, pages 178–185, 2004.