Content Repository in Object Oriented data model

– The need for creating content repository stores for e-learning systems grows as the number of available materials increases. Moreover, along with the number of courses, the problem of describing them in a uniﬁed form appears. While there are standards used for strict classiﬁcation of e-learning content, the store model still seems to be based on preservative relational databases approach. In this paper we introduce an idea to represent the e-learning content management information in the well organized object-oriented form based on a prospective object-oriented database.


Introduction. E-learning principles and infrastructure
The problem of creating a well designed e-learning course should meet all the requirements These requirements must be considered in a wide spectrum from the ones defined by the standards and educational platforms to those that have been defined by the end user expectations. This leads to numerous challenges that have to be taken along the way to a well created e-learning course. The creation process is very time consuming and expensive. It includes numerous multimedia and graphic contents but sometimes its content is mostly insufficient and incomplete. On the other hand, there are courses including very well designed and interesting content but not provided with the multimedia part that makes it less attractive for the end user. The idea of facilitating ready to use courses and changing the existing ones came up when the multiple server archives with the courses became more extensive.
At present most of the courses and files enclosed within are described with metadata i.e. the short information containing data about e.g. name, language, version etc. This scheme is gathered as the LOM (Learning Object Metadata) specification. This enables building uniform interface for accessing the data about e-learning courses and all of the resources gathered in libraries. The information about available courses could then be found in the same way as the books or magazines in the library are.

LOM
The IEEE LOM standard conceptual data schema lists all the meta-data elements in the tabular format. Fig. 1 presents a graphical illustration of the elements in the data schema, which shows how the elements are divided into nine top level categories: General, Life Cycle, Meta-Metadata, Technical, Educational, Rights, Relation, Annotation, and Classification. Each of these branches comprises several elements, some of which are leaves, others are sub-branches which lead to leaves. Not shown in Figure 1 are the leaf elements associated with the element types such as "LangString", "Vocabulary", "DateTime" and "Duration". The reader is referred to the IEEE LOM conceptual data schema for a full account of the types and value spaces of each element.

SCORM
Sharable Content Object Reference Model (SCORM) is a collection of standards and specifications for web-based e-learning. It defines communications between the client Pobrane z czasopisma Annales AI-Informatica http://ai.annales.umcs.pl Data: 13/07/2023 06:56:43 U M C S side content and the host system called the run-time environment, which is commonly supported by a learning management system. The standard uses XML to display data. It is therefore highly structured. SCORM is a common standard format for e-learning content whilst other specifications allow for the transporting of learning contents or categorizing metadata (LOM).
The Sharable Content Object Reference Model (SCORM) was first developed by the U.S. Department of Defense (DOD) to address training development and delivery inefficiencies across its service branches. E-learning content was being developed on different platforms, using different standards and specifications, and delivered on different, incompatible systems. To address these costly inefficiencies, the DOD knit together the best emerging e-learning specifications with those developed in the prior decade by the Aviation Industry CBT Committee (AICC).
The result is a field-tested common reference model published by the Advanced Distributed Learning (ADL) Initiative, a collaborative effort between government, industry, and academia sponsored by the Office of the Secretary of Defense. The SCORM standard is focused on enabling the plug-and-play interoperability, accessibility, and reusability of Web-based learning content, with the ultimate goal of ensuring ubiquitous access to the highest quality education and training, tailored to individual needs, and delivered cost-effectively anywhere and anytime. Based on accepted technology standards including XML and JavaScript, SCORM is fast-becoming the de facto elearning technology standard widely embraced and supported today by world-leading corporations, universities, system providers, and content vendors.
2 Motivation for the store model As the discussed problem introduces the need to utilize databases as the most prospective approach seems to be introduced by dint of application of the objectivity. However, the approach presented mostly by the ODMG standard [1] for object databases or database-related Java technologies [2,3,4], despite significant role of object-oriented solutions in the remaining areas of software development, have not been succeessful yet. A different approach, in the form of SBA, shown in [5] has introduced existing object-oriented mechanisms (classes, encapsulation, inheritance, polymorphism, objects) for database programming. Moreover by applying the SBA, some new mechanisms have been introduced like dynamic object roles [6,7] or interfaces on the database views [8,9].
The second argument for utilizing the SBA is a powerful query language extended to a programming language i.e. SBQL (Stack Based Query Language). As the most important feature of the ODRA(Object Database for Rapid Application development) prototype SBA implementation, SBQL alone makes it possible to create fully fledged database-oriented applications. In the case of such solution the development of database application tasks with just one, very high level language, can greatly improve programmers' efficiency and software stability along the development life cycle. By dint of this solution, integration of e-learning resources stored in the object-oriented store model, enables the possibility of utilizing all of the SBA/SBQL best features and extend the performance and maintenance potential of such appliance.

Object-orientedness
Object is an abstract entity representing or describing some idea existing in a real world. Object is distinguishable from other objects with its unique name and distinct limits. For the purpose of this paper the object then is a data structure stored in memory area of a computer.
In contrast to the relational model, the object model does not assume a need for determining an attribute (or a set of attributes) that identifies the object in an unambiguous way (so called "primary key"). Instead the object has its own identity i.e. it exists irrespective of its own state or other objects. This sums up to an idea of unambiguous external object ID -OID. OID is not relevant regarding the content it describes in the working information system.The user of administrator never uses OID directly, instead the symbolic name 1 of an object is being the subject of the object manipulation. 1 The name is exchanged to the OID along the binding process.
Pobrane z czasopisma Annales AI-Informatica http://ai.annales.umcs.pl Data: 13/07/2023 06:56:43 U M C S Every object has a name that is a handle to this object. The name of an object does not have to be unique (we can create multiple objects named Course). Classic object models e.g. ODMG model, name such issue a collection of objects, where the name is the name of entire collection not just the single element. In the discussed model we will assume that each and every object has its name e.g. Course, but there will be possibility to group entire collection as one object named Courses.
Every object has state represented as a combination of its every component mainly values of its all attributes and references to other objects. The state of an object can change in time. In our approach to present the e-learning content we will discuss below some of the attributes that can be utilized to make the standards describing each course fit the store model. This list is not complete. However, the rule of object relativity mentions that every object can be composed of an unlimited number of sub-objects. This way every attribute is an object. Moreover, each attribute has its type. Therefore the combination of attribute types is the type of an object.

Store Model -AS0
To introduce the e-learning course information to the object-oriented manner store, working with the SBA prototype implementation there is a need for adopting at least the simplest store model i.e. AS0 [5]. In contrast to the relational model, the object model requires to use far more concepts. There is also different understanding for many terms. Therefore, it is hard to introduce a model that can be simple and at the same time applicable for all cases equally. The prototype includes the whole hierarchical family of store models, each responsible for extending the possibilities of the predecessor Pobrane z czasopisma Annales AI-Informatica http://ai.annales.umcs.pl Data: 13/07/2023 06:56:43 U M C S but all based on the same semantic base. For the purpose of this paper we mention only the most basic but sufficient for this appliance model -AS0.
AS0 can cover arbitrarily connected hierarchical data structures. However, it does not include the aspects of the class, inheritance or interface. It was originally designed to express the semantics of relational query languages. What is the essential part of it, is the possibility of representing semi-structural data in general and the XML data structures in particular.
Regarding this store model we will assume the object relativity rule and related to it the rule for the inner identification. The first one has already been mentioned in the previous section. The second rule states that every object that can be a component of different objects has to include its own unique inner identifier. Let us explain some basic terms • Inner identifier of an object. It is given automatically by the system and cannot be used in the semantics of the outer manipulation of the objects. Its purpose is to identify objects stored in memory. • Outer object name. In contrast to the inner identifier this name is created by the system designer, administrator or a programmer. It is linked to the conceptual model of the application working with the AS0 based store. Moreover, it involves the use of informal semantics for the outer processes e.g. the name can be Author or Contributing Institution. The outer object name does not have to be unique. • Atomic value. It is a kind of object value that is indivisible from the point of view of the creator hence not including any parts.
Identifiers are marked as i , the names as n and the atomic values with the letter . In AS0 every object contains a unique inner identifier, an outer name and the value that can be atomic, pointer or complex. We will present the objects by the following definition. The object is a triple: • < i, n, v > -when the object is going to be atomic • < i 1 , n, i 2 > -when the object is going to be a pointer or a reference object.
This object is identified thanks to i 1 where i 2 is the pointer value of the object being a reference to another object. • < i, n, T > where T is a set of any type of objects. This object we will call a complex object. This rule is recursive, therefore enabling building objects with unlimited complexity and a number of hierarchy levels.
In AS0 the data store is defined as pair < S, R > where S is a set of objects and R is a set of object ids also named the staring identifiers.
The R set sets the starting points for the data store i.e. those objects that can be a starting point for the navigation in the entire set of objects. Most often those objects would be just simply the ones that are in the main level of the object hierarchy i.e. those that are not included as part of the other objects.
There are a few rules regarding the data store that has to be complied: • each and every object, sub-object, etc. in data store has its unique identifier • if there is a pointer object <i1, n, i2>, then the pointed object i2 has to exist.
• each and every identifier from the R set is an identifier of an object located in store.

Content Repository
Introducing a well designed e-learning content, fulfilling all requirements defined by educational platforms and standards as well as end user expectations indeed has been a major problem since the e-learning appeared. This process almost always includes many graphical and multimedia elements as well as a written content, however, the proportions between the number of valuable content and the multimedia are often inappropriate for fast and effective learning. All this makes the creation of a valuable e-learning course a very complex process. In this situation sharing ready to use courses between parties has become desirable. There have been many systems developed for this purpose based on p2p or jixta, moreover some mechanisms have been devised for reediting the content.

What is repository
Let us define repository as a store of objects or other data. Most frequently it is used to describe a store containing data of different types (documents, classical data, multimedia data, software data, scripts, rules or views) and delivering visual access interface. In practice, this definition fits the needs of sharing the repository educational content and in particular, SCORM that moves the responsibility for sharing objects from the dedicated tools to the LMS platform.
In e-learning there are three main levels of interest: • content editing level • communication and exchange level • facilitate level The content editing level can be easily presented (Fig. 3): According to the mentioned standard, the LMS platform should enable the presentation of the whole content created with various tools to the end user. Moreover, the content created by a particular author should be accepted by any platform created by providers. It forces the platform and tools providers to conform to the standard constraints. In the case of the platform providers, the standard is obeyed, however, in the case of the proprietary tools unfortunately, the standard directives are often omitted. This effectively disables transfer of objects between platforms. The functions implemented are as depicted in Fig. 4.

Object model based repository
The scheme working for the e-learning systems can, however, be evolved to object model itself by adopting a prototype object database model of AS0.   As discussed in the previous sections, the data according to the standards can be moved to an XML scheme. It is possible for both, import or export of the e-learning course content and description. We propose to adopt AS0 in a manner that conform to the e-learning standards and moreover, allows the adoption of an object oriented database model. The transformation of the structured data provided by the e-learning import/export mechanism has been modified to the AS0 model as depicted in Fig. 6. The whole metadata has been treated as a complex object. The AS0 model allows the creation of subobjects, pointer objects and atomic object which is enough to conform the standards present in e-learning. At this stage we can further utilize the data not only form the level of object database store but what is more, we can use it as a source of data that can be utilized by front end client applications that are aware only of the database itself. Therefore the elearning data can be modified, copied and presented in the arbitrary and custom way relevant only to the database user connection.

Conclusions
The goal achieved by the research was to enable the prototype object oriented database AS0 model to perform persistent data mediation between them. Introducing object orientedness to the ground of e-learning exchange platform brings it to the whole new level of metamodel. This gives us all the possibilities of an object oriented approach and causes that a database engine leads to data storing as persistency, durability, high availability, reliability with transactions. Creating folders with the information about available e-learning courses based on general knowledge from the available repositories seems extremely interesting -there is the ability to create new courses with the use of existing ones adopted to individual learners' needs. Using the reliable and tested catalogue patterns makes navigation through the high volume e-learning course information data stores amazingly easy. It would be enough to point to an author,a title or the requested course topic to efficiently obtain the wanted materials and even ready to use course components (text, graphics, multimedia etc.). Apart from that there are the issues related to copyrights regarding the reuse of the requested content, however, this is out of scope in the paper.