介绍
电子学习中的一个常见做法是使用语言描述学习场景的不同方面(例如内容、活动、参与者等)。国际监测系统标准化工作就是这一趋势的良好例子(Friesen,2005年)。事实上,许多这些努力都产生了合适的语言来描述电子学习应用程序的特定方面。其中,可以找到用于打包学习内容的语言(即IMS内容打包规范)(IMS,2004),用于描述评估过程中涉及的不同产品(如IMS问题与测试互操作性规范)(ISM,2006),用于描述特定学习者的概况(即IMS学习者信息包规范)(IMS,2005),用于对学习流中的活动进行排序(即IMS-Simple Sequenting规范)(国际监测系统,2003b),甚至用于描述异构学习环境中出现的不同教学方法(即IMS学习设计规范)(IMS,2003a)。
虽然这些标准化工作强调使用语言来解决互操作性问题(即作为异构平台用来交换信息的工具),在我们的工作中,我们提倡一种互补的理念:使用合适的语言来描述通过自动处理这些描述而生成的应用程序(Sierra等人,2006b)。基于特定领域语言的软件开发方法共享了这一理念(Deursen等人,2000;Mernik等人,2005)。根据这些方法,软件开发被设想为语言工程过程,其中为每个应用程序域指定、实现和维护合适的特定于域的语言,以及使用这些语言而不是通用编程语言描述软件应用程序。这些方法特别适用于那些必须具有有效机制来规范领域专家和开发人员之间交互的领域。电子学习是这些领域的典型例子,因为提供内容和微调最终应用程序的成本比最终部署应用程序的软件基础设施的初始开发成本高出几个数量级。在电子学习中采用语言驱动的方法可以使开发过程中的参与者更加合理地分配责任。教员将负责生成和维护最终应用程序,而开发人员则充当语言工程师,负责规范和维护教员使用的语言。开发人员还负责与这些语言相关的软件基础设施(包括用于生成最终运行的应用程序的生成器)。
我们已经在几个电子学习系统和应用程序的开发中成功地测试了这些语言驱动的原则(Fernández-Manjón和Ferná的ndez-Valmayor,1997;Moreno-Ger等人,2007;Sierra等人,2006c,Sierra等,2007b,Sierra等人,2008c),在这里,我们测试了使用特定于域的语言来协调教师和开发人员之间所需的协作的重要性。在这些经验中,我们还认识到,在采用语言驱动的过程模型时,采用一种补充方法来实现面向互操作性的标准化工作是可行的。我们认为,采取不同的方法,将教师在其特定学习领域中已经使用的语言形式化,而不是寻求通用的解决方案,也很有趣。由于这些语言是特定领域的语言,是讲师经验的一部分,因此与通用语言相比,它们更容易被讲师理解和使用。这并不意味着标准化问题被忽视。事实上,这些问题随后可以通过适当的进口/出口模块加以解决。然而,通过采用语言工程的观点,开发人员根据教师的特殊需求不断提供适当的语言支持,可以促进以教师为中心的开发过程,这使得教师能够更深入地参与电子学习应用程序的制作和维护。在这项工作中,我们将主要说明这一点自下而上方法,类似于Sierra等人(2006a)报告的经验,尽管这些技术在很大程度上也适用于自上而下方式,基于现有语言的使用、专门化和改编,如Moreno-Ger等人(2006年)提出的语言。
本文揭示了网络学习与语言工程的结合。为此,本文描述并说明了在电子学习中由语言驱动的方法促进的不同活动,以及这些活动是如何围绕特定领域语言的声音规范组织的。这些规范从抽象的特征开始信息模型对于这些语言,它们以概念和形式化的方式进行描述。语言的结构形式化允许以适当的形式对其运行时行为进行后续形式化操作语义学。生成的规范用于推动许多其他语言工程活动。事实上,这些规范可以直接用于构建语言的运行原型,可以用于优化这些语言的结构和语义。它们还可以通过指定这些符号与抽象信息模型之间的映射,为讲师提供更方便用户的符号(例如图形符号)。生成的语言有助于自动检查属性,从而为讲师提供更好的创作支持。由于通常的电子学习规范也是基于语言的,因此可以使用适当的语言翻译来连接这些规范。最后,可以使用众所周知的模型-视图控制(MVC)模式(Krasner和Pope,1988)轻松部署最终的高级设计,该模式通常用于组织许多现代基于web的应用程序。
本文的结构如下。第2节通过与传统开发模型进行比较,激发了语言驱动方法。在第3节中,我们介绍了一个案例研究,该案例研究将在整个论文中用于说明目的。在第4节中,我们将重点介绍特定领域语言的结构和行为规范。第5节专门分析这种语言驱动的方法所支持的不同活动。论文最后给出了一些结论和未来工作的思路(第6节)。