Certanon Product Specification
Total Page:16
File Type:pdf, Size:1020Kb
Running Head: LAB 2 – ELDERS PROTOTYPE PRODUCT SPECIFICATION 1
Lab 2 – ELDERS Prototype Product Specification
Team Purple
Josh Fetherolf
CS411w
Janet Brunelle
April 8, 2013
Version 1 LAB 2 – ELDERS Prototype Product Specification 2
Table of Contents
1 INTRODUCTION...... 4
1.1 Purpose...... 4
1.2 Scope...... 5
1.3 Definitions, Acronyms, and Abbreviations...... 7
1.4 References...... 7
1.5 Overview...... 8
2 GENERAL DESCRIPTION...... 8
2.1 Prototype Architecture Description...... 9
2.2 Prototype Functional Description...... 11
2.3 External Interfaces...... 12
2.3.1 Hardware Interfaces...... 12
2.3.2 Software Interfaces...... 12
2.3.3 User Interfaces...... 13
2.3.4 Communication Protocols and Interfaces...... 15
3 Specific Requirements...... 15
3.1 Functional requirements...... 16
3.1.1 User Account Requirements...... 16
3.1.2 User Interface Requirements...... 17
3.2 Assumptions and Constraints...... 19
3.3 Non-Functional Requirements...... 19 LAB 2 – ELDERS Prototype Product Specification 3
3.3.1 Database Requirements...... 19
3.3.2 Security...... 21
3.3.3 Maintainability...... 21
3.3.4 Reliability...... 22
List of Figures
Figure 1. Major Functional Component Diagram...... 5
Figure 2. Major Functioanl Component Diagram...... 9
Figure 3. Voting Algorithm Diagram...... 13
Figure 4. Searching Algorithm Diagram...... 14
Figure 5. Prototype Site Map...... 15
(This space intentionally left blank.) LAB 2 – ELDERS Prototype Product Specification 4
1 INTRODUCTION
An endangered language is one that is at risk of being lost as speakers either die or adapt to a new language. There are thousands of languages around the world and experts speculate that half of them are in danger of becoming extinct within the next century (The Week Staff,
2012). Language is critical to the speaker’s culture and in losing one, that culture is also being lost.
There are a few language revival systems existing in the market today, such as Rosetta
Stone, FieldWorks Language Explorer, and First Voices. The intention of these programs is to encourage the use of languages that may be not as commonly spoken, or to teach commonly spoken languages to new learners. These are instrumental in reviving languages to prevent them from going out of use. As long as these documentation programs exist, the language will not become endangered.
1.1 Purpose
Endangered Languages Documentation Extension and Revival System (ELDERS) is a product being developed by the Old Dominion University (ODU) CS411 Purple Group. The purpose is to assist in restoring the Nottoway language. ELDERS is a web application that users can access to learn about the Nottoway tribe history, language, games, and access a dictionary of words belonging to the Nottoway. ELDERS has been designed using the Nottoway as a prototype but the concept can be used for any language. When a language becomes extinct, it LAB 2 – ELDERS Prototype Product Specification 5 can have a devastating effect on the culture. Any society can use the ELDERS web application to restore their language just as the Nottoway is restoring theirs.
Figure 1. Major Functional Component Diagram.
1.2 Scope
The prototype of the ELDERS project uses the Nottoway Tribe of Virginia, local to the
Tidewater area. They have a language that is currently classified as endangered. In 1650, early documentation of the tribe notes that there were only four to five hundred Nottoway people.
This is a comparably small number of Nottoway speakers to begin with. The tribe was further challenged by forced relocation due to hostile tribes. Additionally, early in the 19th century, it was dangerous to identify as Native American. This caused many individuals to hide their ancestry for personal safety and is possibly when the language started to disintegrate (Nottoway
Indian Tribe of Virginia, 2011). Today, there are many tribal members cooperating and assisting with the project to help build the database of words. LAB 2 – ELDERS Prototype Product Specification 6
Revival systems are commonly made up of a database that includes all the words and definitions that are known and documented, including pronunciations, syllables, sentence structure, and other grammatical tips associated with the words. There are several problem characteristics that revival systems encounter. Lack of documentation can occur when a language is endangered due to a low number of speakers or an elderly population. Additionally, older languages may not be written down or recorded in a manner that revival systems can use.
Endangered languages can eventually die off if the tools are not accessible, or in other words, a lack of professional assistance to help record the words. Some endangered languages do not have an alphabet, which makes recording the words impossible. The best solution for this is to use a similar language that has an existing alphabet that can be shared. Another problem that arises with endangered languages is when ambiguous words are used. There may be multiple and interpretive meanings, or a difficulty in translating to English or the accepted language.
There are a few key solution characteristics for a revival system to be accepted and used.
The system should be versatile and able to be used anywhere the user requires it. It should be educational in its execution so that the user is learning the language correctly. It would be helpful if the system is free and available to anyone who wants to utilize it. The system should be efficient in attaining the maximum desired effect without overwhelming the user with information. Finally, the system needs to be well documented in its sources to provide a useful database. The community of the language should be involved to assist with documentation. LAB 2 – ELDERS Prototype Product Specification 7
1.3 Definitions, Acronyms, and Abbreviations
Apache HTTP Server: commonly referred to as Apache, a web server software.
IP: Internet Protocol.
LAMP: a platform consisting of Linux, Apache, MySQL, and Perl/PHP/Python.
LDAP: Lightweight Directory Access Protocol; an application protocol for accessing and
maintaining distributed directory information services over an IP network.
Linux: an open source computer operating system.
LTS: Long Term Support; a software release with longer support length than other releases.
MySQL: an open source multi-user database management system
ODU: Old Dominion University, Norfolk Virginia.
PHP: a server-side programming language designed for building dynamic Web pages.
Python: a general-purpose, high-level programming language.
Ubuntu: an open source computer operating system with a user interface.
Virtual machine: a simulation of a machine (abstract or real) that is usually different from the
target machine.
1.4 References
Fetherolf, Josh (2013) Lab 1 – ELDERS Product Description. Yorktown, VA: Author.
Lewis, J. D. (2007). Carolana Explorers – Edward Bland. Carolana. Retrieved on November
13, 2012, from http://www.carolana.com/Carolina/Explorers/edwardbland.html
Nottoway Indian Tribe of Virginia (2011). History. Nottoway Indians. Retrieved October 8,
2012, from www.nottowayindians.org.
Parramore, T.C. (1978). In Southampton County, Virginia (pp. 1-5). Charlottesville, VA: UP of LAB 2 – ELDERS Prototype Product Specification 8
Virginia.
Peterson, M.D. (1986). In Thomas Jefferson: A Reference Biography (pp. 69, 168). United
States: Charles Scribner’s Sons.
The Week Staff (2012, June 22). Google’s next mission: Save dying languages – The Week.
The Week Magazine: Political News and Cartoons, Current Events and Entertainment
Online. Retrieved October 8, 2012, from
http://theweek.com/article/index/229695/googles-next-mission-save-dying-languages
1.5 Overview
This product specification details how the ELDERS prototype will be able to expand and teach the Nottoway language. The following sections provide in depth information about the database architecture, hardware source, and software configurations. There is also a detailed description of the web application and how the administrators will create, manage, and control the web application; and the requirements needed to ensure a completed prototype.
2 GENERAL DESCRIPTION
The main focus of ELDERS will be storing, expanding, and assisting in teaching the language. The product is designed to provide the tools needed to teach the language as well as the history of the community who speak it. A website will be used as the main interface to help with navigating ELDERS, with the intention that this will enable easier access. The same information can be conveyed through physical documents, but the website will be more versatile and efficient. The product is reliant on input from the community, as they will be encouraging LAB 2 – ELDERS Prototype Product Specification 9 the use of the product as well as facilitating the expansion of the language. This suggested words by the community will be stored in an online database.
2.1 Prototype Architecture Description
Figure 2. Major Functioanl Component Diagram.
ELDERS uses several open source software components that are collectively known as a
LAMP stack: Linux, Apache HTTP Server, MySQL, and PHP, Perl, or Python. Ubuntu, the
Linux Operating System, will be used to access the ELDERS server. The Ubuntu 12.04 distribution will be used because it is the latest stable release. Maintenance will be guaranteed for at least five years. The web server will be Apache, which will easily support language interfaces such as PHP, Perl, and Python. PHP is used as a worldwide scripting language, but
ELDERS will be using Python because this will be unique and suitable for the development of the website. MySQL will be the database management system. A database contains two tables, one for the original language dictionary and the other for the secondary, modifiable dictionary. LAB 2 – ELDERS Prototype Product Specification 10
The database will also store the language’s alphabet. Each of these components is provided as up-to-date packages within Ubuntu and offer user-friendly interfaces.
Any community will be able to take their endangered language and enter it into
ELDERS. In doing so, a record of the original language will be created. It is then stored in dictionary format, preserving the language for future generations. In addition to this original language dictionary, a second one will be created. The purpose of the secondary dictionary is to help the community expand and grow their endangered language. The secondary dictionary will be a duplicate of the original but with the added feature of being modifiable. A committee, selected by the community, will be able to modify the secondary dictionary. The elected council as a whole will vote on new additions. The product has also been designed with a feature to remove words from the secondary dictionary should the need ever arise. In addition to storing and expanding the endangered language, ELDERS is an educational tool. For those trying to learn the endangered language, there will be a section containing educational games, history lessons, and standard language lessons all designed to help maximize learning of the language.
Communication is another key feature of the product. There is no expectation of growing and expanding an endangered language without communication between the speakers. ELDERS will provide members of the community with a forum to communicate with each other, which will help to promote usage of the language. Users will have access to a message board essential to providing a venue for use of the language and to give value to the words by using them in conversation. Through communication on the message board or in forums, discussion should promote new words that can eventually be added to the dictionary.
2.2 Prototype Functional Description LAB 2 – ELDERS Prototype Product Specification 11
The product is made up of two major functional hardware components: a client and a server, as shown in Figure 2. The client hardware can be any device with a web browser. For the mobile devices, an application will be developed. However, as long as a device has a web browser, the content will still be accessible. The server hardware will be outsourced to a hosting service. It is currently being hosted on an ODU Computer Science departmental machine. In the future, it may move to a different host. The minimal projected specifications are two to four gigabytes of RAM and at least 20 gigabytes of hard drive space.
To access ELDERS, one must become a registered user to varying levels of information based on the registration type. Once registered, the users are entered into the appropriate permissions group based on their relationship to the community. These groups are established to control access and limit the roles of certain users. The website administrators have full back-end access. Other groups will be established for modifying the secondary dictionary or simply viewing the website with no modification rights. Lightweight Directory Access Protocol
(LDAP) can be used if the community prefers privacy rather than having their site open to the public. LDAP can be used not only for authentication but also allow for user provisioning, such as splitting into different groups.
The web application is the revival system of ELDERS. The user will be able to view the alphabet and both dictionaries belonging to the community. The user will also be able to view historical background of the language speakers so as to educate themselves on the community.
There will be simple games and videos as educational tools. For example, a game being developed is a matching game where the player builds words by lining up the correct word fragments. Users may also participate in message boards and forums to introduce words to the LAB 2 – ELDERS Prototype Product Specification 12 language which will then be voted on for addition to the secondary dictionary. If any changes are made, registered users are notified via email.
2.3 External Interfaces
External interfaces used with ELDERS prototype will be limited to the standard PC and free software packages. The custom interfaces will be the web application built for the prototype.
2.3.1 Hardware Interfaces
There will be no hardware interfaces used/built for the ELDERS prototype. The web application and it’s database servers will be hosted at ODU. The web application will be accessible through any computer that utilizes the Internet. As of now, the Nottoway asks that the prototype only to be accessible to them. Software will be able to process this request.
2.3.2 Software Interfaces
The prototype architecture is a virtual machine, which is a software implementation of a computer that executes programs as if a physical machine. The prototype virtual machine hosts the Apache server and MySQL database. This works by the administrators logging into the virtual machine by opening a remote desktop client and entering the IP address. From there, our user interface for the virtual machine is accessible for database management.
The LAMP stack (Linux, Apache HTTP Server, MySQL, and Python) will be required because the components are still necessary for the interface. Linux is the operating system,
Apache is the web server, MySQL is the database management system, and Python is the scripting language. All of these features are necessary to create a user-friendly web application. LAB 2 – ELDERS Prototype Product Specification 13
2.3.3 User Interfaces
The two algorithms in use will be for voting and searching. A new word that gets submitted will first be searched through the database to see if it already exists. The voting algorithm is initiated by a word being submitted by either a Tribal or Council member user.
Figure 3. Voting Algorithm Diagram.
Figure 4. Searching Algorithm Diagram. LAB 2 – ELDERS Prototype Product Specification 14
Once the word has made it to the suggested word list, the Council members must approve the word. If the suggested word gets the majority of votes and is accepted, it is then submitted on the web application into the new dictionary table on the Nottoway database. Then, once a new instance of a word is in the table, a notification is sent to the website’s registered users. If the word does not get accepted, the word is dropped from the suggested voting pool. The site map for the website viewable by the Nottoway is shown in Figure 5.
(This space intentionally left blank.) LAB 2 – ELDERS Prototype Product Specification 15
Figure 5. Prototype Site Map.
2.3.4 Communication Protocols and Interfaces
The only protocols and interfaces the will be used will be over a standard Ethernet connection or wireless, where accessible.
3 Specific Requirements
The following section describes the specific functional, assumption, constraints, and non- functional requirements of the ELDERS project. LAB 2 – ELDERS Prototype Product Specification 16
3.1 Functional requirements
The ELDERS prototype is capable of expanding and teaching the Nottoway language. The prototype will display the language and its dictionaries, activities for learning the language, history of the tribe, and a forum to keep in touch with the new word submissions and words that have been voted into the new dictionary.
3.1.1 User Account Requirements
The User Account Requirements are the functions, capabilities, and restrictions which must be included in the various user access levels. The following functional requirements must be met: 1 Must have a tiered user permission system 1 Must have new accounts put into a default tier 2 Must allow new users to request higher tier status 2 Must provide user access levels 1 Must allow for creation of access levels 2 Must allow the changing of the new user default access level 3 Must allow the changing of an account’s access level 4 Must allow editing of access levels 5 Must allow editing of require access level for: a receiving notifications b accessing the dictionary section c adding words to the dictionary d editing a word in the expanded dictionary e viewing words that have been suggested f voting on suggested words g suggesting new words h suggesting a new word i editing suggested words j accessing the games section k adding a game to the game section l accessing the grammar section m accessing the forum n changing forum permissions o editing access level for accessing the history section p editing access level for editing the history section q editing access level for adding to the history section LAB 2 – ELDERS Prototype Product Specification 17
r editing access level for accessing the website settings s editing access level for changing an account's access level t editing access level for setting the voting threshold 3 Must allow users to register for an account 1 Must allow user to choose username 2 Must alert user of existing username conflict 3 Must allow user to choose password a Must be at least 8 characters long b Must have a number c Must have an uppercase character d Must have a special character 4 Must prompt user for an email address 4 Must allow user to login 1 Must allow user to type username a Must notify the user if the username does not exist 2 Must allow user to type password a Must notify the user if the password is incorrect 3 Must allow user to reset password a Must provide user with a temporary password b Must require user to change password 5 Must allow user to customize account 1 Must allow user to turn notifications on/off
3.1.2 User Interface Requirements
The User Interface Requirements detail everything the website is capable of doing. The following functional requirements must be met: 1 Must provide a means to vote on suggested Nottoway words 1 Must restrict number of votes to one 2 Must allow for user to change vote a Must be capable of adding the suggested word to the expanded dictionary 3 Must provide a threshold for votes on a word suggestion a Suggested words that have reached the threshold must be marked as “approved” 4 Council must have a similar voting system for “approved” words 2 Must allow user to add words to the Expanded Dictionary 3 Must provide means to view the alphabet 4 Must be able to filter Nottoway words by letter 5 Must be able to search for Nottoway words in English LAB 2 – ELDERS Prototype Product Specification 18
1 Must alert user if search fails a Must suggest synonyms b Must show suggested words c Must prompt to vote on words d Must prompt to suggest word e Must allow for editing suggested words f Must prompt to suggest word if no suggested words exist 2 Must alert user of successful search a Must display whether word is historic or expanded b Must display word in Nottoway c Must display Nottoway pronunciation d Must display word in English e Must display word’s part of speech f Must be capable of displaying a sample sentence of the word g Must be capable of displaying common phrases that include the word 6 Must be able to search for Nottoway words using the Nottoway alphabet 1 Must alert user if search fails 2 Must alert user of successful search a Must display whether word is historic or expanded b Must display word in Nottoway c Must display Nottoway pronunciation d Must display word in English e Must display word’s part of speech f Must be capable of displaying a sample sentence of the word g Must be capable of displaying common phrases that include the word 7 Must provide a means to view the history of the Nottoway 1 Must provide a means to add to history 2 Must provide a means to edit history 8 Must provide a means to access onsite games 1 Must provide means to add a game 9 Must provide a means to suggest a word 1 Must require user input of a Nottoway word 2 Must allow user to submit new Nottoway word 10 Must provide a means to edit website settings and permissions 11 Must provide a forum 1 The forum must the ability to create access controlled sub forums 2 The forum must be able to use the same accounts as the rest of the website LAB 2 – ELDERS Prototype Product Specification 19
3.2 Assumptions and Constraints
Table