Session 12c3 Component Framework for Web-Based Learning Environments Timothy E. Lindquist, Kevin A. Gary*, Harry E. Koehnemann and Henri Naccache Computer Science and Engineering Arizona State University; Tempe, Arizona 85287-5406 {tim, hek, henri}@asu.edu *Electrical Engineering and Computer Science Department The Catholic University of America Washington, D.C. 20064
[email protected]
Abstract - As an emerging technology, distributed software components hold promise for software interoperability, composition and reuse. This paper reports on applying distributed components as a paradigm for realizing technology enriched learning. We present a background of software components together with a framework for realizing World Wide Web-based learning components. Primarily, the web provides a data-centric interface to learning participants. An activity-centric view is more typical in object-based systems and for many learners. We show how automated support for workflow can be applied to achieve activity-based learning components on the web. One of the primary goals of the framework is that it be open to utilize various services already commonly in place in a university setting. We exemplify some of the common framework services and discuss how these can be adapted to a specific organization or extended to achieve discipline specific services.
CourseWare Components Several systems exist for creating and managing aspects of educational world wide web sites. WebCt (http:// homebrew1.cs.ubc.ca/webct), Learning Space, WebWorksheet (http://weber.u.washington.edu/~lspace) and BlackBoard are some current example systems. Some provide capability for interactively without the freedom to personalize tools or web site aesthetics. All are adaptable in some aspects and closed in other aspect. For example, in the current version of Blackboard, students can’t automatically retrieve grades from assessment indicators originating outside Blackboard. Nearly all systems lack openness to a common approach to student authentication. Naccache [9.], presents the MIDL server and set of tools whose approach differs from others. The MIDL server provides the foundation for a component-based framework that can be extended. MIDL tools provide functional components that can be used to extend an existing web site. They can also be easily configured into a web site creation tool, such as Netscape's Composer or Microsoft’s FrontPage. Naccache [9.] describes framework services to support homework submission, homework evaluation and user authentication. In this paper, we extend the approach by discussing the fundamentals of a distributed learning component architecture and exemplifying framework services such as grade reporting to
students, course related scheduling and automated support for learning processes. What are distributed software components and what of their promise in web-based learning? The concept of a software component has been maturing for a number of years, with the meaning often depending upon application domain. Some authors such as Wohlin and Runeson [15.], Kythe [6.] emphasizes the composability and encapsulation aspects of components. Kythe also includes the notion of component interactions within a framework. The Object Management Group (OMG) proposal for CORBA Components (see http:// www.omg.org) defines components with an infrastructure that allows assembling encapsulated and self-describing distributed objects. JavaBeans of JavaSoft and its evolution to Enterprise Java Beans (see http://java.sun.com) defines OMG compatible components which can be visually manipulated. Similarly, we characterize components with three attributes: properties, methods, and events. A property is any component member that is exposed for reading or writing. A method represents messages that can be received and processed by a component. Components may also interact using events. A component may register itself to receive notification when a significant event occurs. Software components are self-contained functional units having a user interface and a programming interface that follows an established set of guidelines. We have applied to concept of software components to technology enhanced learning by identifying and implementing a framework for creating and composing learning components. Learning components encapsulate various aspects including instructional materials, assessment mechanisms, scheduling and student conferences. These are all provided for through the framework services. Learning components may also include web-based content, web-pages. Web content are not in and of themselves learning components. They do not expose properties, messages and events to other learning components, nor can the easily be composed outside the capability of hypertext. Automated support for defining and enacting learning activities provides the component wrappers for web pages. Learning activities such as exercises, projects, participant interaction, and communicating course related information are all examples of learning components that wrap web
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-23
Session 12c3 pages to form components. These activities are realized through a web-enables workflow tool and as such can react to messages, receive and originate events and exhibit properties. Learning components can be reconfigured, composed or reused in other open courseware systems. Any web material (content) such as text, graphic images, multimedia, as well as interactive pages as realized with applets, forms, active server pages or servlets can all be formulated into learning components via workflow learning activities. Content can be rendered as Printable - used to obtain a hard copy; Viewable - rendered by learning participants to view with a browser; as Presentable - such as for instructor presentation in a class setting; or as Externalized - such as for communication across the internet or among course participants. Any use of a component, whether by an end-user or by infrastructure software is carried out under the constraints of a control view. For example, an author control view may support visual composition of components within a course container. A participant control view may restrict this capability, but provide services to capture, annotate and playback portions of a component’s presentation. The three control views we consider are Author, Participant and Instructor. The Figure below shows a generic content component. The circles on the right of the component represent the control view of the component. The rectangles protruding from the left represent the programming (software to software) interface to components (properties, methods and events). At the left of the figure are represented the principle aspects of content components that are hidden from view. Components utilize and provide framework elements, they have rendering translators and they have an underlying implementation. Framework Elements Participant Rendering Translations
Instructor Author
Implementation
The right-hand portion of the component above shows the component’s visible aspects. Learning components are intended to be composable, and the figure below shows the visible aspects of one example composition. A component may consist of subcomponents, which may or may not expose visible aspects. Encapsulation allows components to abstract details or expose them as appropriate. Compositional relationships among components in this manner may indicate, for example, that a component on Programming Language Compiling may be made up of sub-components on Lexical Analysis, Syntax Analysis and Semantic Analysis. Various other relationships among components (aside from sub-component) may exist. One component may be associated with another indicating, for example, a content
component may be associated with several quiz questions that cover its material. The relationships among components may also indicate inheritance, in which one component is the same as another, except that it has additional attributes or constraints. Participant Instructor Author
Participant
Participant
Participant
Instructor
Instructor
Instructor
Author
Author
Author
Participant
Participant
Participant
Participant
Instructor
Instructor
Instructor
Instructor
Author
Author
Author
Author
We have prototypes the software framework which explores learning components. Our work has relied on Java Servlets, remote Java objects using Remote Method Invocation (RMI) and Java applets.
Framework Architecture Learning components are created using a framework developed in Java for generating an managing distributed objects. The framework currently consists of services to support basic functionality for course information, electronic registration, content viewing, participant authentication, learning process support, scheduling, quizzes and managing assessment results. The framework is organized as a set of interfaces and supporting classes that constitute an Application Program Interface (API). When components are created based upon our framework services, the resulting objects are available across the network. The paradigm of distributed objects has many advantages over the traditional threaded-server approach to distributed client-server computing. For example, communication among threaded-servers is accomplished via a set of protocols embedded within the logic of the client and server. Whereas with distributed objects, a client obtains a reference to an object and can then discover the properties, methods and events by using reflection. Having an object reference, distributed objects interact as if they were part of the same program. The communications among distributed objects are governed by the properties, methods and events the objects expose, rather than by protocols embedded within source code. Using this approach, learning components appear across the network as a set of related object servers that are capable
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-24
Session 12c3 of interacting with each other, or with user-interfaces components, such as a browser. HTML F rontEnd
Process Service
Auth Service
Content Service
Assesment Service
Oracle
Openness and Adaptability One of the primary goals of the framework is that it be open. The architecture approach provides openness in the following ways: •
Multiple providers may exist in a single service area. For example, the authentication services may be provided by LDAP for one course, while another may rely on the operating systems underlying user authentication services.
•
Implementations of services can be changed or extended.
•
Adding new services to the framework is straightforward.
•
The framework and resulting learning components can be used in conjunction with existing tools for such capabilities as web-page construction, grading, or subject specific courseware. The primary elements of openness hinge upon integration and interoperability, which has been a long standing issue for software tools. Many approaches have been realized. Thomas and Nejmeh provide a definitional taxonomy of tool integration [11.] which includes the concept that integration is a relationship between software entities. Different facets of relationships among tools are apparent to learning participants, as well as to those involved in marketing, evaluating, and constructing learning systems. While the end-user (course participant or instructor) may be interested in a consistent view of course components, a tool vendor may be interested in increasing the market for their tool by providing integration with selected other tools. Wasserman [12.] discusses several categories of integration, including presentation and data integration. Presentation integration occurs when a user can reuse experience in interacting with one tool while learning how to interact with another. Data integration refers to the ability of two or more software entities to cooperate in their manipulation of data. With few exceptions, the web and existing browsers provide data integration, primarily through mime-types. Thus, web content can consist of
any data type, so long as there exists a program on the client machine able to recognize and render the file. The problem that occurs is that there is a large gap between applications to support specific learning activities and commonly available applications. Today, the choice for those developing webbased learning sites is to provide a largely passive learning repository or to adopt a unifying approach, such as WebCT or Blackboard. One aspect of data integration is the ability for two tools with the same functionality to work with each other. For example, consider two authors developing a single paper. One author may prefer to use FrameMaker while the other may select Microsoft Word. One aspect of data integration is the extent to which the authors can share their formatted contributions to the paper. A similar problem arises in tools to support web-based learning. Content components may be developed and managed by separate tools. Nevertheless, we may want to compose and reuse components without explicitly replicating effort to bring existing components under another tool. The API may be used to provide different representations for services having multiple suppliers. To the extent possible the architecture supports use of commercial existing web tools. Adapters allow the learning system to track evolving standards, such as LDAP, Calendar, and IMS
Horizontal Components The framework includes service areas that are useful to a majority of courses independent of the subject area. The services we currently address include, grading, scheduling, uploading electronic version of assignments, web-page access, support for learning activities and the more general problem of participant authentication. To further characterize the nature of the services available in our framework, we describe grade reporting, scheduling and learning activities. Grade Recording and Reporting. We have defined framework services that support course grades. Instructors can use the services to store and track student grades and participants can use the services to obtain information about graded works and their scores on graded works. The remote objects (Course Objects) reside on the web server and are accessed by browser loaded applets. The remote objects provide for managing information about graded works (assignments, exams, laboratories or quizzes). Course Objects provide areas of basic functionally: •
Manage information about graded works, such as assignments, exams, quizzes, laboratory exercises and projects.
•
Manage student registration information, such as user-Id, password, and email address.
•
Manage and allow authenticated students to access student grade information. Course Objects rely upon an authentication service to provide determine whether clients are permitted to access or modify information retained by the Course Object server.
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-25
Session 12c3 Learning participants normally access these services indirectly by using assessment components. The framework currently includes applets that may be configured onto Html pages so that participants and instructors can access and manage student, graded work and student performance information. One of these applets is shown in the MS Internet Explorer figure below. Here, a participant has displayed their grades on course assignments. Applets exist so that participants can access information about registered graded works, their own student information and their own performance. Instructors have a separate page with an applet for managing all of the information available through the Course Object server.
appointment based on text match with appointment descriptive information. The figure below shows the class schedule for a single day. Included are office hours, any scheduled assignments due and the class meeting time.
Support for Learning Activities
Course, Project and Instructor Scheduling. We have also created remote server objects for class related scheduling. Servers exist to manage a collection of course related schedules. The learning components allows participants and instructors to define, examine and modify appointments that are associated with a class or participants. The class calendar can be referred to by participants to determine class meeting times and topics to be covered in class. It also contains information regarding due dates for assignments, as well as quiz and examination dates. Groups working on project assignments use the schedule component to designate group meetings as well as for planning intermediate project deliverables. The calendar system, called SchEd, provides a limited form of protection by requiring user name and password for adding, removing or changing schedules. SchEd does not provide that appointments may be defined in different visibility domains, such as, public, group, private. The schedule Server use RMI to register and exhibit its capabilities to the internet. The GUI consists of java abstract window toolkit (awt) user interface components. The server consists of two components. The calendar manager (CalServer), manages a collection of remote calendar objects. Calendar objects provide the detailed operations for manipulating appointments. The collection server provides methods to manage remote calendar objects, such as add, remove, getCalendar, and getName. Remote calendar objects manage a list of appointments. Calendar objects provide methods to add, find and remove appointments, as well as an operation to find an
Workflow is the modeling, simulating, defining or analyzing of an organizations business processes. Where business involves coordination among the activities of a work group that jointly develops a product or service, organizations find that analyzing and applying automated support for the workflow can result in productivity or quality gains. Representing workflow involves identifying the activities, artifacts, roles, agents as well as the directions goals and tools involved in a process. In a learning environment, activities may include reviewing material, doing homework, completing lab assignments, discovery experiences, attending class meetings, meeting faculty, taking exams, or performing group projects. The agents are the learning participants who take on a role in the learning process, such as instructor, reviewer, test-taker, facilitator and learner. Artifacts are the documents and other information involved in learning. While its important to identify workflow entities, its more important to consider the relationships among them as learning progresses. In a technology enriched learning environment, (especially a web-based environment) learning participants may be presented with a wealth of information. But, learners may lack a structure for the activities and interactions needed to assimilate the information. Today, if you visit most websites for college courses, you will find largely passive repositories of hyperText information resources for students. The structure of the web encourages an organization that inhibits learning. For example, traversing a hot link to Assignments may open a page with a list of links to write-ups for individual assignments. Its not common, for example, to find relationships between the assignment description and the content components necessary to complete the assignment or other resource information supporting the an assignment. We apply workflow to learning by providing an activity view that augments the web-site data view. Workflow services in our framework provide the properties, messages and events for learning components that are made up of existing web pages. Our architecture employs both hypertext and
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-26
Session 12c3 process support to provide content and activity-based structure of information. Learning participants may take-on different roles while performing learning activities. For example, consider roles such as content creator, instructor, facilitator, group project team member, test taker, peer evaluator, and peer mentor. Roles may represent a set of capabilities necessary to carry out an activity or may imply different learning activities and different views of learning content components. We have defined 3 different learning component control views, Participant, Instructor and Author. Each of the sample roles above corresponds with exactly one of the control views. For example, the roles team member, test taker and peer evaluator are all constrained by the control view Participant. Many learning participants may be associated with a role. For example, Sue, Robin, Joe and Terry may all be team members. Further, an agent may be associated with multiple roles. Tim may act as an instructor for some activities, content creator for others and team member for still other activities. Companies with stable and complex workflows have turned to automated support for workflow as a means to streamline and improve all or parts of a business process. Workflow tools allow an organization to define their processes as the basis for enactment (performing work under the purview of a workflow tool), analysis, process refinement and process simulation. Workflow tools commonly include a mechanisms for auditing and monitoring the progress of a workflow process. Today, there is certainly a proliferation of web-based materials to support learning activities. All too often the materials are a passive repository of static information and participants are at a loss to uncover appropriate learning activities. To a learner, the repository can lack necessary information regarding order of coverage, information dependencies, as well as requisite discovery, learning and evaluation activities. Workflow makes activities explicit aspects of learning components, rather than hiding them indirectly within content. We are using the workflow tool i-Flow to support learning activities. I-Flow, which is a product of Fujitsu Software (see http://www.i-flow.com), was developed in Java as an open, web-based workflow tool. Learning component authors use i-Flow templates to define course specific learning activities. These may include skill instruction in specific subject areas, review, meeting or recital activities, group cooperative work, homework exercises, handing in work to be graded, case studies, projects, laboratory exercises, taking quizzes, taking self-assessments or completing exams. Each i-Flow template may include specific activities or tasks to be performed as a part of the learning component. Templates are defined graphically as a network of activities together with flow control dependencies among the activities. The figure below shows a template for self-paced instruction on a specific topic. The activities depicted (StudyCourseMaterial, WorkOnExamples, SelfEvaluation and EvaluateErrors) have sequencing dependencies that are represented by arrows and connectors. In this example, the X connector indicates that
StudyCourseMaterial and WorkOnExamples must both be completed before performing SelfEvaluation. The diamond connector represents conditional sequence dependencies. In this case, the learning participant continues to WorkOnExamples and StudyCourseMaterials until he or she is satisfied with the SelfEvaluation results. Once a template has been defined, i-Flow provides web based user interfaces to create specific processes (enactments) based on a template. For example, the instructor may initiate a self-paced instruction process for each learning participant. Learning participants can view and perform these assigned processes through the web. When performing a learning activity, i-flow provides the participant with a working context browser frame. The working context includes directions, associated resources and buttons for events signaling the outcome of a task. Activities, the rectangles in a template, can have various associated properties. Data attributes can be defined in the template to be common to all activities in the template. A template to guide students and instructors through handing in and evaluating graded work may include a data attribute indicating the results of the evaluation, the title of a termpaper or scheduling dates for the templates activities. Html forms can be used so participants can provide or obtain values of the data attributes. Html forms associated with an
activity can be initiated from the participants working context. Activities may also have associated attachments that provide inputs to or outputs from the task. These may include any document whose type is registered with i-Flow, for example, MS Word document (laboratory or project report), a text file, or a spreadsheet. An attachment may also be a URL, for example the URL of a quiz applet covering a subject area. Instructors can define templates with specific automated processing associated with performing an activity. The author can specify Java Script commands to be executed before the learning participant performs the task, or the
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-27
Session 12c3 author can specify post task processing. Scripting could be used to validate information entered by the user or to create specific attachments for the task, for example. We have also relied on scripting to control who is assigned to perform an activity and to assure that the participant has attached homework to be evaluated in the proper format. As stated above, learning components exhibit properties, react to messages and may generate events. The primarily data-centric nature of web-based content doesn’t easily lend itself to componentization. In addition to adding a learning activity view to technology enhanced education, workflow also provides the infrastructure to componentize web content. The exposed properties of a workflow based learning component are the process attributes, attachments and forms associated with the template. Workflow represented learning activities react to messages for creating and managing the learning activity; initiating a process, examining its attributes, as well as obtaining or setting its assignees, for example. Events are visible based on transitions from one learning task to another. These are reported either through the workflow or its history.
Conclusions and Future Work The learning components described in this paper have been implemented and initially used in graduate software engineering classes at Arizona State. As the components continue to develop, we plan to use them in courses that are offered jointly at two universities, and with group projects where members are at different sites. One issue we are addressing to enable such projects is to provide mediation and interoperation among multiple providers for a single service, where the providers may reside at distinct server sites. For example, allowing learning components under the purview of a workflow too to include learning activities that may be enacted by another workflow tool on another server. The primary advantages of a distributed component approach to technology-based learning environments are added openness, interoperability and reuse potential. Our approach holds great potential for allowing an organization to adapt services to its needs and to integrate materials from a wide diversity of web generation tools. The primary drawbacks deal with the fact that distributed component models and tools are evolving, and the problems accompanying development of reliable distributed software.
References [1.]
Ben-Shaul, I. and Kaiser, G. An Interoperability Model for Process-Centered Software Engineering Environments and its Implementation in Oz. Technical Report CUCS-034-95, Computer Science Department, Columbia U. 1995.
[2.]
J.C. Derniame, and Gruhn, V. Development of Process-Centered IPSEs in the ALF Project. Journal of Systems Integration, vol. 4, pp. 127-150. 1994.
[3.]
East Tennessee State University, Personal Software Process Studio, (East Tennessee State University,
Computer and Information Science, www-cs.etsu.edu/softeng/psp/dlpsps.html). [4.]
Gary, KA; Lindquist, TE; Sauer, LD; and Koehnemann HE; “Automated Process Support for Organizational and Personal Processes, Proc. ACM SIGGROUP Group ‘97 Conference, pp. 221-230, November 1997.
[5.]
W. S. Humphrey, Introduction to the Personal Software Process (Reading, MA: Addison-Wesley, 1997).
[6.]
Kythe, D.K. The Promise of Distributed Business Components. AT & T Technical Journal, 75, pp. 2028, March/April 1996.
[7.]
T. Lindquist, and J. Derniame, “Towards Distributed and Composable Process Components”, (Proceedings of the European Workshop on Software Process Technology, June 1997).
[8.]
Melo, W.L. and Belkhatir, N. TEMPO: A Support for the Modeling of Objects with Dynamic Behavior. In A. Verbraeck, H.G. Sol, and P.W.G. Bots (Eds) Dynamic Modeling and Information Systems. Elsevier Science Publishers, North Holland. 1994.
[9.]
Naccache, H., Lindquist, T., and Urban, S.; “A Framework and Reusable Tools for Developing Interactive Course Web Sites”, Proc. Frontiers in Education 98, November 1998.
[10.]
L. Sauer, “Brokering of Process Components”, (Arizona State University, Computer Science & Engineering Department, Ph.D. Dissertation Proposal, December 1997).
[11.]
Thomas, Ian and Nejmeh, Brian; Definitions of Tool Integration for Environments, IEEE Software 9,2 pp 29-35, March 1992.
[12.]
A. Wasserman, “Tool Integration in Software Engineering Environments,” in Proc. of Int’l Workshop on Environments, F.Long Ed. Springer-Verlag, Berlin, pp. 137-149, 1990.
[13.]
The Workflow Management Coalition. The Reference Model. WfMC Document Number TC001003, January 1995.
[14.]
The US-France Technology Research and Development Project, PCIS2 Architecture Specification Version 1.0, (Lindquist, TE editor) SPAWAR Systems Command, San Diego CA, January 1998.
[15.]
Wohlin, C. and Runeson, P. “Certification of Software Component.” IEEE Transactions on Software Engineering, 20, 6, pp. 494-499. June 1994.
07803-5643-8/99/$10.00 c 1999IEEE November 10 - 13, 1999 San Juan, Puerto Rico 29th ASEE/IEEE Frontiers in Education Conference 12c3-28