xAPI/CMI5. Полная мощность

Продолжим разбор спецификаций xAPI/CMI5 для хранения и анализа данных обучения персонала. В последние годы появилось достаточно большое количество статей на тему использования рассматриваемых спецификаций (например — https://levellab.ru/blog/xapi-1). Вместе с тем, существующие публикации описывают использования спецификаций, на мой взгляд, очень поверхностно. Да, я согласен с тем, что использования xAPI для отчета о просмотре курса презентации или теста является достаточно тривиальной задачей. Особенно когда нужно просто получить информацию в виде затраченного времени и оценки. В предыдущей статье https://habr.com/ru/post/508882/ я уже писал, что при таком подходе, как мне кажется, использование xAPI может не дать никакого значительного преимущества.

Именно поэтому я и решил «копнуть поглубже» и показать как можно использовать спецификацию xAPI на 100% мощности, в т.ч. не только в хранении, но и в анализе данных. Кроме того, постараюсь практически объяснить разницу между xAPI и CMI5 в контексте того, как CMI5 формализует использование xAPI.

В качестве примера будем использовать имитационный тренажер для обучения персонала, например https://youtu.be/zewU3JHZCfg

Теперь давайте посмотрим отчет по форме CMI5 / xAPI. При запуске нашего ресурса (через плагин для Moodle https://moodle.org/plugins/mod_tincanlaunch или через очень удобный для проверки сервис https://cloud.scorm.com/), мы автоматически получаем запись в LRS с глаголом «http://adlnet.gov/expapi/verbs/launched». Обратите внимание, что запись выполняется не нашей с Вами программой, а сервисом, который производит запуск (например -moodle). Последние 4 записи (id, authority , stored, timestamp) формируются уже самой LRS. Также информация о регистрации (registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»), LRS endpoint и авторизации передается непосредственно в наш ресурс, что дает возможность сделать запрос в LRS и найти запись «launched» даже, к примеру, из exe-файла. Таким образом мы можем получить информацию относительно обучаемого, команде и т.д. В принципе, мы можем и сами выполнить данную запись, если например, запускаем exe-файл без LMS системы.

Statement «launched»

{

  • actor: {

    • mbox: «mailto:scorm@lcontent.ru»,

    • name: «Петров Сергей Александрович»,

    • objectType: «Agent»

    },

  • verb: {

    • id: «http://adlnet.gov/expapi/verbs/launched»,

    • display: {

      • en-US: «launched»

      }

    },

  • context: {

    • registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

    • contextActivities: {

      • parent: [

        • {

          • objectType: «Activity»,

          • id: «https://lms.lcontent.ru/pluginfile.php/3678/mod_resource/content/76/T.html»

          }

        ]

      }

    },

  • object: {

    • id: «simulation://xapitest»,

    • definition: {

      • name: {

        • en-US: «Пример тренажера»

        },

      • description: {

        • en-US: «Пример тренажера полное описание»

        }

      },

    • objectType: «Activity»

    },

  • id: «d7a3b941-10a8-412b-912c-50cc89017f1c»,

  • authority: {

    • objectType: «Agent»,

    • account: {

      • homePage: «https://lrs.lcontent.ru:443»,

      • name: «maxxxxr@gmail.com»

      }

    },

  • stored: «2021-04-07T14:40:58+00:00»,

  • timestamp: «2021-04-07T14:40:58+00:00»

}

Первой записью после запуска тренажера, мы обязаны (cmi5) прописать утверждение «initialized», которое указывает, что действие было начато. Обратите внимание на registration, которое совпадает с ранее приведенным launched, что позволяет связывать эти записи в единую последовательность. В данном утверждении целесообразно уже использовать расширения, например http://lcontent.ru/xapi/weatherConditions: «rainy», чтобы сообщить о погодных условиях в симуляторе или http://lcontent.ru/xapi/Device: «HTC VIVE» — для уточнения, что используется VR-шлем. Также мы используем уточнения про инструктора и про групповой режим обучения.

Statement «initialized»

{

  • actor: {

    • mbox: «mailto:user@lcontent.ru»,

    • name: «Петров Сергей Александрович»,

    • objectType: «Agent»

    },

  • verb: {

    • id: «http://adlnet.gov/expapi/verbs/initialized»,

    • display: {

      • en-US: «Indicates that the activity was started.»,

      • ru-RU: «Указывает, что действие было начато.»

      }

    },

  • object: {

    },

  • context: {

    • registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

    • extensions: {

      • https://w3id.org/xapi/cmi5/context/extensions/sessionid: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

      • https://w3id.org/xapi/cmi5/context/extensions/masteryscore: 0.860000014305115,

      • https://w3id.org/xapi/cmi5/context/extensions/launchurl: «https://lcontent.ru»,

      • https://w3id.org/xapi/cmi5/context/extensions/launchmode: «Normal»,

      • http://lcontent.ru/xapi/weatherConditions: «rainy»,

      • https://w3id.org/xapi/acme/extensions/training-location: «tyumen»,

      • http://lcontent.ru/xapi/Device: «HTC VIVE»

      },

    • contextActivities: {

      • category: [

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/cmi5»

          }

        ]

      },

    • platform: «lms.lcontent.ru»,

    • instructor: {

      • objectType: «Agent»,

      • mbox: «mailto:MaxGammer@gmail.com»,

      • name: «Anna Gammer»

      },

    • team: {

      • objectType: «Group»,

      • mbox: «mailto:group@gmail.com»,

      • name: «Commander ken»

      }

    },

  • authority: {

    • objectType: «Agent»,

    • account: {

      • homePage: «https://lrs.lcontent.ru:443»,

      • name: «maxgammer@gmail.com»

      }

    },

  • stored: «2021-04-07T09:35:50+00:00»,

  • timestamp: «2021-04-07T09:35:50+00:00»,

  • id: «263d5e25-c26f-46e0-8199-b59db7d11aaf»

}

completed — указывает, что субъект закончил или завершил действие в обычном режиме. Обратите внимание на записи «https://w3id.org/xapi/cmi5», они обязаны быть, если Вы хотите, чтобы данные были записаны как CMI5. Без этих записей это не будет успешно. Формат xAPI не накладывает таких ограничений.

Statement «completed»

{

  • actor: {

    • mbox: «mailto:user@lcontent.ru»,

    • name: «Петров Сергей Александрович»,

    • objectType: «Agent»

    },

  • verb: {

    • id: «http://adlnet.gov/expapi/verbs/completed»,

    • display: {

      • en-US: «Indicates the actor finished or concluded the activity normally.»,

      • ru-RU: «Указывает, что субъект закончил или завершил действие в обычном режиме.»

      }

    },

  • object: {

    },

  • result: {

    • completion: true,

    • duration: «PT41S»,

    • response: «Сценарий выполнен»,

    • extensions: {

      • http://lcontent.ru/xapi/Total_Losses_money: 600000,

      • http://lcontent.ru/xapi/Total_Deads: 0,

      • https://w3id.org/xapi/cmi5/result/extensions/progress: 100

      }

    },

  • context: {

    • registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

    • extensions: {

      • https://w3id.org/xapi/cmi5/context/extensions/sessionid: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

      • https://w3id.org/xapi/cmi5/context/extensions/masteryscore: 0.860000014305115,

      • https://w3id.org/xapi/cmi5/context/extensions/launchurl: «https://lcontent.ru»,

      • https://w3id.org/xapi/cmi5/context/extensions/launchmode: «Normal»,

      • https://w3id.org/xapi/cmi5/context/extensions/moveon: «CompletedOrPassed»,

      • http://lcontent.ru/xapi/weatherConditions: «rainy»,

      • https://w3id.org/xapi/acme/extensions/training-location: «tyumen»,

      • http://lcontent.ru/xapi/Device: «HTC VIVE»

      },

    • contextActivities: {

      • category: [

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/cmi5»

          },

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/moveon»

          }

        ]

      },

    • platform: «lms.lcontent.ru»,

    • instructor: {

      • objectType: «Agent»,

      • mbox: «mailto:MaxGammer@gmail.com»,

      • name: «Anna Gammer»

      },

    • team: {

      • objectType: «Group»,

      • mbox: «mailto:group@gmail.com»,

      • name: «Commander ken»

      }

    },

  • authority: {

    • objectType: «Agent»,

    • account: {

      • homePage: «https://lrs.lcontent.ru:443»,

      • name: «maxgammer@gmail.com»

      }

    },

  • stored: «2021-04-07T09:35:51+00:00»,

  • timestamp: «2021-04-07T09:35:51+00:00»,

  • id: «f7e26b65-b9f4-4934-9988-6dcc034356ce»

}

Ну и наконец одна из нескольких записей о непосредственно «оценивании» (passed). Обратите внимание, что кроме времени и самой оценки мы используем записи для описания:

  1. Шаги обучаемого (открыл, ответил, подошел, прочитал и т.д.) с уточнением места события в модели действий персонала (обнаружение/диагностика/принятие решений и т.д.)

  2. Последствия его действий (в $, жизнях, экологии и т.д.)

  3. Параметры математической модели, представляющие интерес

  4. Параметры, заданные инструктором

  5. Комментарии иснтруктора

  6. Данные нейроинтерфейса и т.д.

Statement «passed»

{

  • actor: {

    • mbox: «mailto:user@lcontent.ru»,

    • name: «Петров Сергей Александрович»,

    • objectType: «Agent»

    },

  • verb: {

    • id: «http://adlnet.gov/expapi/verbs/passed»,

    • display: {

      • en-US: «Indicates the actor completed an activity to standard.»,

      • ru-RU: «Указывает, что субъект выполнил действие в соответствии со стандартными требованиями.»

      }

    },

  • object: {

    },

  • result: {

    • success: true,

    • duration: «PT41S»,

    • response: «Сценарий выполнен»,

    • score: {

      • scaled: 0.0204081628471613,

      • raw: 1,

      • min: 0,

      • max: 49

      },

    • extensions: {

      • http://lcontent.ru/xapi/Total_Losses_money: 600000,

      • http://lcontent.ru/xapi/Total_Deads: 0,

      • https://w3id.org/xapi/cmi5/result/extensions/progress: 100

      }

    },

  • context: {

    • registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

    • extensions: {

      • https://w3id.org/xapi/cmi5/context/extensions/sessionid: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

      • https://w3id.org/xapi/cmi5/context/extensions/masteryscore: 0.860000014305115,

      • https://w3id.org/xapi/cmi5/context/extensions/launchurl: «https://lcontent.ru»,

      • https://w3id.org/xapi/cmi5/context/extensions/launchmode: «Normal»,

      • https://w3id.org/xapi/cmi5/context/extensions/moveon: «CompletedOrPassed»,

      • http://lcontent.ru/xapi/weatherConditions: «rainy»,

      • https://w3id.org/xapi/acme/extensions/training-location: «tyumen»,

      • http://lcontent.ru/xapi/Device: «HTC VIVE»

      },

    • contextActivities: {

      • category: [

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/cmi5»

          },

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/moveon»

          }

        ],

      • other: [

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «41b7a8b9-cac2-4853-9703-74fb3825d73b»

              },

            • description: {

              • ru-RU: «Событие Стропальщик 1»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:27 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:27 «,

              • http://lcontent.ru/step_type: «Scenario_wait_trigger»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «20e06279-e2b7-4738-9fea-5836d5d2dbe8»

              },

            • description: {

              • ru-RU: «Вопрос:Укажите правильный вариант. Ответ пользователя: Нет нарушений.. Ответ неверен. Верный ответ: Нарушение. Стропальщик в момент подъема груза находится на площадке полуприцепа.»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:30 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:30 «,

              • http://lcontent.ru/step_type: «Scenario_step_question»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 0,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «2ab73493-28c3-49f6-bc9a-fbf6eb56ad1c»

              },

            • description: {

              • ru-RU: «Событие 1trigg»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:24 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:24 «,

              • http://lcontent.ru/step_type: «Scenario_wait_trigger»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «9d1feb96-a948-4c39-a880-567a169b7df9»

              },

            • description: {

              • ru-RU: «Вопрос:Укажите правильный вариант. Ответ пользователя: Нарушение. Стропальщик не использует багор-оттяжку при сопровождении груза, поднятого на высоту более 1-го метра над землей (груз на месте складирования направляет руками, высота груза на уровне плеч стропальщика). Ответ верен.»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:25 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:25 «,

              • http://lcontent.ru/step_type: «Scenario_step_question»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «813a8565-3c31-4ec3-9659-319651522851»

              },

            • description: {

              • ru-RU: «Показан текст Извините, У меня просто нет оттяжки и нет багра…. Я и так справлюсь.»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:35 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:35 «,

              • http://lcontent.ru/step_type: «Scenario_step_text»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «7f2dc374-b564-472d-a5ab-2eac29bfe11f»

              },

            • description: {

              • ru-RU: «Показан текст Добро пожаловать в компьютерный имитационный тренажер, позволяющий отрабатывать навыки выявления опасных условий и действий при производстве работ повышенной опасности. Вы находитесь на производственном объекте . Ваша задача выявить все нарушения при производстве грузоподъемных работ. Нарушения также могут быть связаны с неправильным оформлением или отсутствием необходимой документации. В любой момент, Вы можете выйти из тренажера, нажав кнопку с флагом в правом верхнем углу экрана. Будет представлен отчет о результатах, а в режиме экзамена отчет сохранится в виде текстового файла на рабочем столе. Дата проведения проверки – 3 сентября 2020. Для передвижения используйте клавиши WSAD. Для поворота головы нажмите правую клавишу мыши и перемещайте мышь в нужном направлении. Для изменения высоты используйте клавиши в нижнем правом углу экрана. Для увеличения используйте клавишу Q. Необходимо нажать на объект, предмет, работника и указать имеется нарушение или нет. Желаем приятного обучения. «

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:35 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:35 «,

              • http://lcontent.ru/step_type: «Scenario_step_text»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «5ed064b0-aae2-4b67-a2c6-8492af0ab1fe»

              },

            • description: {

              • ru-RU: «Событие ОбъектыНаПлатформе»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:44 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:44 «,

              • http://lcontent.ru/step_type: «Scenario_wait_trigger»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «edf64367-855b-42b7-9181-a7b5ac32c23a»

              },

            • description: {

              • ru-RU: «Вопрос:Укажите правильный вариант. Ответ пользователя: Нарушение незначительно. Ответ неверен. Верный ответ: Нарушение. Груз на поворотной платформе»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:46 «,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:46 «,

              • http://lcontent.ru/step_type: «Scenario_step_question»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 0,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «91c4aa0e-5126-43bd-81e1-39cf1b60e994»

              },

            • description: {

              • ru-RU: «Выполнение в режиме экзамена»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «3b2f4732-5ee5-4c10-8c2f-9012dc17163c»

              },

            • description: {

              • ru-RU: «Время выполнения: 00:00:28»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «d3a31c1f-bfe1-4164-bd71-360789f59aac»

              },

            • description: {

              • ru-RU: «Возможных нарушений было замечено: 4 Из них исправлено: 1 Из них не исправлено: 3 Возможных нарушений не было замечено: 45»

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «bc03d881-faf3-4bff-8b37-e9850025c42a»

              },

            • description: {

              • ru-RU: «Задача :Объекты на платформе. Выполнена. «

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «ca1130ad-0d14-4ff7-89f9-033f929229bc»

              },

            • description: {

              • ru-RU: «Задача :Стропальщик в момент подъема груза находится на площадке полуприцепа. Выполнена. «

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/step»,

          • definition: {

            • name: {

              • ru-RU: «2d428645-f89d-4163-900b-7aede52581e3»

              },

            • description: {

              • ru-RU: «Задача :Стропальщик не использует багор-оттяжку при сопровождении груза. Выполнена. «

              },

            • extensions: {

              • http://lcontent.ru/step_datatime_real: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_datatime_simulation: «2021-04-07 14:35:50»,

              • http://lcontent.ru/step_type: «ScenarioEditorManager»,

              • http://lcontent.ru/step_completed: 1,

              • http://lcontent.ru/step_passed: 1,

              • http://lcontent.ru/step_categoty: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/mathmodel_value»,

          • definition: {

            • name: {

              • ru-RU: «Pump1.Q»

              },

            • extensions: {

              • http://lcontent.ru/mm_dimension: «Q, m3/s»,

              • http://lcontent.ru/mm_datatime_real: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/mm_datatime_simulation: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/mm_float_value: 56.7770004272461,

              • http://lcontent.ru/mm_str_value: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/effects»,

          • definition: {

            • name: {

              • ru-RU: «4b422c7f-e7da-46be-970f-fb4f44258dc4»

              },

            • description: {

              • ru-RU: «Нарушение не было устранено, Стропальщик в опасности.»

              },

            • extensions: {

              • http://lcontent.ru/effect_ref_parent: «»,

              • http://lcontent.ru/effect_datatime_real: «2021-04-07 14:35:30 «,

              • http://lcontent.ru/effect_datatime_simulation: «2021-04-07 14:35:30 «,

              • http://lcontent.ru/effect_cause: «Обучаемый обратил внимание на нарушение, но ошибся с его диагностированием»,

              • http://lcontent.ru/effect_cause_full: «Место в модели поведения-Обнаружение=True, Диагностика=True, ПринятиеРешений=False, ВыполняемыеДействия=False»,

              • http://lcontent.ru/effect_losses: «Нарушение не было устранено, Стропальщик в опасности.»,

              • http://lcontent.ru/effect_losses_moneys: «»,

              • http://lcontent.ru/effect_losses_life_health: «»,

              • http://lcontent.ru/effect_losses_ecology: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/effects»,

          • definition: {

            • name: {

              • ru-RU: «ff53421f-5012-41db-93b2-2308bed78792»

              },

            • description: {

              • ru-RU: «Стропальщик использует безопасные методы и средства при выполнении работ. Угроза жизни и здоровью отсутствует.»

              },

            • extensions: {

              • http://lcontent.ru/effect_ref_parent: «»,

              • http://lcontent.ru/effect_datatime_real: «2021-04-07 14:35:25 «,

              • http://lcontent.ru/effect_datatime_simulation: «2021-04-07 14:35:25 «,

              • http://lcontent.ru/effect_cause: «Обучаемый обратил внимание на нарушение.»,

              • http://lcontent.ru/effect_cause_full: «Место в модели поведения-Обнаружение=True, Диагностика=True, ПринятиеРешений=False, ВыполняемыеДействия=False»,

              • http://lcontent.ru/effect_losses: «»,

              • http://lcontent.ru/effect_losses_moneys: «»,

              • http://lcontent.ru/effect_losses_life_health: «»,

              • http://lcontent.ru/effect_losses_ecology: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/effects»,

          • definition: {

            • name: {

              • ru-RU: «73360673-9775-41e3-9bba-398d7b7efe5e»

              },

            • description: {

              • ru-RU: «Обучаемый обнаружил нарушение, но не верно его диагностировал.»

              },

            • extensions: {

              • http://lcontent.ru/effect_ref_parent: «»,

              • http://lcontent.ru/effect_datatime_real: «2021-04-07 14:35:46 «,

              • http://lcontent.ru/effect_datatime_simulation: «2021-04-07 14:35:46 «,

              • http://lcontent.ru/effect_cause: «Обучаемый обратил внимание на нарушение.»,

              • http://lcontent.ru/effect_cause_full: «Место в модели поведения-Обнаружение=True, Диагностика=True, ПринятиеРешений=False, ВыполняемыеДействия=False»,

              • http://lcontent.ru/effect_losses: «Обучаемый обнаружил нарушение, но не верно его диагностировал.»,

              • http://lcontent.ru/effect_losses_moneys: «»,

              • http://lcontent.ru/effect_losses_life_health: «»,

              • http://lcontent.ru/effect_losses_ecology: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/instructor_parameter»,

          • definition: {

            • name: {

              • ru-RU: «1»

              },

            • extensions: {

              • http://lcontent.ru/instructor_parameter_name: «Pump1.Z»,

              • http://lcontent.ru/instructor_parameter_dimension: «количество ступеней, шт.»,

              • http://lcontent.ru/instructor_parameter_datatime_real: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/instructor_parameter_datatime_simulation: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/instructor_parameter_float_value: 56.7770004272461,

              • http://lcontent.ru/instructor_parameter_str_value: «»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/instructor_problem»,

          • definition: {

            • name: {

              • ru-RU: «1»

              },

            • extensions: {

              • http://lcontent.ru/instructor_problem_name: «Задвижка3.Клин»,

              • http://lcontent.ru/instructor_problem_dimension: «да или нет»,

              • http://lcontent.ru/instructor_problem_datatime_real: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/instructor_problem_datatime_simulation: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/instructor_problem_float_value: 0,

              • http://lcontent.ru/instructor_problem_str_value: «да»

              }

            },

          • objectType: «Activity»

          },

        • {

          • id: «http://lcontent.ru/xapi/instructor_comment»,

          • definition: {

            • name: {

              • ru-RU: «1»

              },

            • extensions: {

              • http://lcontent.ru/instructor_comment_text: «Грубое нарушение техники безопасности.н»,

              • http://lcontent.ru/instructor_comment_datatime_real: «2021-04-07 14:35:51 «,

              • http://lcontent.ru/instructor_comment_datatime_simulation: «2021-04-07 14:35:51 «

              }

            },

          • objectType: «Activity»

          },

        • {

          }

        ]

      },

    • platform: «lms.lcontent.ru»,

    • instructor: {

      • objectType: «Agent»,

      • mbox: «mailto:MaxGammer@gmail.com»,

      • name: «Anna Gammer»

      },

    • team: {

      • objectType: «Group»,

      • mbox: «mailto:group@gmail.com»,

      • name: «Commander ken»

      }

    },

  • authority: {

    • objectType: «Agent»,

    • account: {

      • homePage: «https://lrs.lcontent.ru:443»,

      • name: «maxgammer@gmail.com»

      }

    },

  • stored: «2021-04-07T09:35:51+00:00»,

  • timestamp: «2021-04-07T09:35:51+00:00»,

  • id: «1abfd011-b0a5-442b-bc07-4087b4ac86cc»

}

terminated

{

  • actor: {

    • mbox: «mailto:user@lcontent.ru»,

    • name: «Петров Сергей Александрович»,

    • objectType: «Agent»

    },

  • verb: {

    • id: «http://adlnet.gov/expapi/verbs/terminated»,

    • display: {

      • en-US: «Indicates the actor has completed their session normally.»,

      • ru-RU: «Указывает, что субъект нормально завершил сеанс.»

      }

    },

  • object: {

    },

  • result: {

    • duration: «PT41S»,

    • response: «Сценарий выполнен»,

    • extensions: {

      • http://lcontent.ru/xapi/Total_Losses_money: 600000,

      • http://lcontent.ru/xapi/Total_Deads: 0,

      • https://w3id.org/xapi/cmi5/result/extensions/progress: 100

      }

    },

  • context: {

    • registration: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

    • extensions: {

      • https://w3id.org/xapi/cmi5/context/extensions/sessionid: «fb13ae65-d9cf-469d-8d89-e41fd61c842d»,

      • https://w3id.org/xapi/cmi5/context/extensions/masteryscore: 0.860000014305115,

      • https://w3id.org/xapi/cmi5/context/extensions/launchurl: «https://lcontent.ru»,

      • https://w3id.org/xapi/cmi5/context/extensions/launchmode: «Normal»,

      • https://w3id.org/xapi/cmi5/context/extensions/moveon: «CompletedOrPassed»,

      • http://lcontent.ru/xapi/weatherConditions: «rainy»,

      • https://w3id.org/xapi/acme/extensions/training-location: «tyumen»,

      • http://lcontent.ru/xapi/Device: «HTC VIVE»

      },

    • contextActivities: {

      • category: [

        • {

          • objectType: «Activity»,

          • id: «https://w3id.org/xapi/cmi5/context/categories/cmi5»

          }

        ]

      },

    • platform: «lms.lcontent.ru»,

    • instructor: {

      • objectType: «Agent»,

      • mbox: «mailto:MaxGammer@gmail.com»,

      • name: «Anna Gammer»

      },

    • team: {

      • objectType: «Group»,

      • mbox: «mailto:group@gmail.com»,

      • name: «Commander ken»

      }

    },

  • authority: {

    • objectType: «Agent»,

    • account: {

      • homePage: «https://lrs.lcontent.ru:443»,

      • name: «maxgammer@gmail.com»

      }

    },

  • stored: «2021-04-07T09:35:52+00:00»,

  • timestamp: «2021-04-07T09:35:52+00:00»,

  • id: «d32fd6bf-c1b2-471d-af58-ca8754a6373b»

Ну и теперь ответим на вопрос — зачем это все нужно и что это дает?

А. Позволяет дифференцировать знания, умения и навыки, в т.ч. с учетом типа ошибок

Типы ошибок
Типы ошибок

Б. Позволяет строить диаграммы последствий (см. https://habr.com/ru/post/509736/)

Вероятности событий, связанных с человеческим фактором на диаграмме ETA
Вероятности событий, связанных с человеческим фактором на диаграмме ETA
Вероятности событий, связанных с человеческим фактором на диаграмме FTA
Вероятности событий, связанных с человеческим фактором на диаграмме FTA
,
,

Г. Позволяет строить диаграммы изменения параметра математической модели (тренды) совместно с диаграммами Ганта для показа действий персонала и их взаимного влияния.

Таким образом я попытался показать некоторые возможности xAPI, обычно не затрагиваемые в других обзорах.

Все примеры доступны на сайте https://lms.lcontent.ru/course/view.php?id=84

Буду рад ответить на Ваши вопросы.

ссылка на оригинал статьи https://habr.com/ru/post/551374/

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *