Educational Middleware: Bridging Software Technology and Education

Quan Tran

School of Computer Science
University of Texas at Dallas
2601N. Floyd Rd., Richardson, TX 75083
(972) 883-2185



I would like to thank Dr. Yen for offering this research topic and for her guidance throughout this process. Moreover, I am grateful for her encouragement and patience of my research ambitions and its evolving path.


Middleware, educational software, educational authoring, software architecture, software engineering.


This research is an interdisciplinary endeavor primarily between the principles of software engineering and the domain application of educational technology.   Specifically, this research studies the software architecture of the educational authoring tool paradigm.


With the combination of computing technology and education research, production of educational software is burgeoning with numerous applications for learning. As individual programs, they serve as good applications of sophisticated computing capabilities and as good contributions to the amassing library of educational software. However, they lack an apparent cohesion as an organized collection. This is because every software application is vertically engineered to comply with its specific domain via either a) contracting a software developer to assemble an educator's creation vicariously or b) leveraging an educational authoring tool to direct the educator's vision to fruition. To achieve a horizontal solution, a more general approach needs to be defined.


The software engineering field has formulated the concept of middleware to support the complex paradigm of distributed objects and components.  The purpose of middleware is to forge high interoperability and portability among coexisting independent software components that are not bound to any particular operating system, hardware, network, programming language, applications, or vendors.  The software industry has even constructed various implementation models of middleware such as OLE/COM by Microsoft, CORBA, OMG, and ORB [1]. 

However, a preliminary survey of some existing software architecture of educational authoring tools reveal a highly coupled, vertical organization of application specific components.  Albeit polished with sharp computer graphics and augmented with engaging multimedia, most available educational software examined are individually applied to specific domains of learning. Fortuantely, trends are showing improvement in authoring paradigms in that the use of templates increase reusability of limited support and features.


We apply the adoption of the middleware construct known in the software engineering discipline in efforts to improve the general framework of educational authoring software. In this three-tier model, the user interface of the current educational authoring tools remains as the top-layer medium to which the human user (e.g., educator) interacts. The lowest level of this paradigm consists of various system components common to all educational software (e.g., graphics package). The middle layer (i.e. middleware) is composed of various services common to all educational software such as computation, management of data, control, and presentation. Without loss of generality, this horizontal categorization of educational software can serve as an API (application programming interface) bridge between the application directed by the educator and the system interface supplying the software technology.  As a result, this educational middleware will yield benefits of reusability, interoperability, simplicity, and distribution of educational software. 


Within the projected three-year time investment for this research, we hope to extend the various constructs of current educational authoring tools to define a general model for authoring educational software.  A preliminary study to survey the benefits, weaknesses, and contributions of various existing educational authoring tools in addition to various existing educational software is just beginning. The initial results are validating and reinforcing our claims about the current progress of research and development within this area.  This research is just at the early stages, so it is definitely open for further discussion.


In the process of defining a horizontal organization for educational authoring paradigms, fundamental components will need to be identified and their logical system interfaces and connectivity will need to be mapped.  For instance, commonly used components of educational lessons such as learning objectives, list of problems, scoring tabulation, and assistance/feedback can be recognized as general services.  In addition, prevalent utilites such as graphical items, animation sequences, auditory cues, and multimedia clippings could be identified as general resources.  Once all components are collected, a hierarchy can be organized to establish relationships among the components.

To truly exploit the inherent advantages of middleware, software engineering issues such as interoperability among differing protocols / applications, data formats, and communications; the coexistence of legacy systems with rapid prototypes; portability of plug & play devices, and other quality attributes will need to handled.

[1] Chung, Lawrence.  Class Lecture Notes.  Software Architecture and Design,, 1997.
[2] Course Builder.  Discovery Systems, Inc.
[3] Learning Works.
[4] Micro Tutor.