It lets little companies be global, so a start-up in a garage can put its goods or services on a Web site and sell worldwide, competing against midsize or big companies, wiping out disadvantages (such as distribution and scope) that once had to do with distance. And since little companies can change direction faster than bigger ones, they have an advantage in time. Big companies used to have time and distance on their side. Increasingly, little ones do. And so in 1998, we had the phenomenon of Amazon.com, which has become such a symbol of small beating big that business people have turned it into a verb: to be "amazoned".
2nd paragraph: My vision of a small company in the year 2001.
3rd paragraph: A scenario of the small company in action.
4th paragraph: Reasons why MSE can help the small company compete against the big guys.
5th paragraph: More discussions.
3 to 5 references.
The mini-essay should be e-mailed to chang@cs.pitt.edu by the deadline.
Let us consider an adaptive distance learning system. The distance learning materials are organized into a hypermedia structure. A student user can browse through these multimedia documents and follow the links to access related multimedia documents. As such, the hypermedia structure is passive, waiting to be accessed by the user.
We can make the hypermedia structure active by associating index cells with selected multimedia documents. The idea is to designate a special document so that when many students access this document, it means they have reached a certain level of proficiency and therefore the learning materials should be adjusted to become more difficult. Likewise when many students access a special document indicating deficiency, it means they have problems and therefore the learning materials should be made simpler. The following index cell types are specified:
Proficiency-level index cell: The proficiency-level index cell is associated with a certain specific multimedia document (such as doc-1, usually reacheable only by proficient students). When this index cell is triggered, it will increase the proficiency-level by 1. When the proficiency-level has reached a predefined threshold (such as 3), it will send message to the instructor, informing the instructor that a sufficient number of students have reached this level of proficiency. It will also send messages to certain documents (such as doc-3, doc-4, doc-5) to become harder.
Deficiency-level index cell: The deficiency-level index cell is associated with a certain specific multimedia document (such as doc-2, usually reacheable only by deficient students). When this index cell is triggered, it will increase the deficiency-level by 1. When the deficiency-level has reached a predefined threshold (such as 2), it will send message to the instructor, informing the instructor that a significant number of students have reached this level of deficiency. It will also send messages to certain documents (such as doc-3, doc-4, doc-5) to become easier.
Self-adjustment index cell: This self-adjustment index cell is associated with multimedia documents containing learning materials (such as doc-3, doc-4 and doc-5). When it receives a "harder" message, it upgrades the learning materials to become harder. Likewise, when it receives a "easier" message, it downgrades the learning materials to become easier.
The above are three index cell types. The instances can be associated with individual multimedia documents (such as doc-1, ..., doc-5). There is also a home page (such as doc-0), with links to the other documents (such as doc-1, ..., doc-5).
(a) Draw state-transition diagrams to define graphically the three index cell types.
(b) Specify the three index cell types formally using mathematical notations ic = (X, Y, S, so, A, tmax, f, g).
(c) Draw a diagram showing a few multimedia documents (such as doc-1, ..., doc-5) enhanced with the index cells to illustrate how these index cells work together to form an active index system.
(d) Use the IC Builder to construct the three index cell types. The output from IC Builder, together with the appropriate actions (C functions) and specification of input message space, output message space, will become input to the IC Compiler to generate the IC Manager.
How to download the IC Builder: There are four files in the directory http://www.cs.pitt.edu/~jung/IC_Builder: README, IC Builder Manual, ictapp.zip and ictype.zip. Unzip and install under Windows.
Additional Explanation: For this exercise there is NO NEED to write any C functions. The assignment can be handed in either as a hard copy or via the Internet. For the part where you use IC_Builder to construct IC types, you can turn in the output file(s) generated by the IC_Builder, which are ascii files X.in. If you cannot creat X.in, read this. You can also provide screen dumps captured during the construction process. If you use Internet, it will be the best if you can give me URL so that I can browse the web pages containing the solutions. In other words, please prepare a set of web pages and figures can be embedded as gif/jpg files. This will be the easiest for other people to read. It will also be useful when you later develop a presentation based upon such materials.
(a) Convert the active index you constructed in Exercise #2 into a Petri net (or an E-net).
(b) Take the diagram you drew in part (c) of Exercise #2. Redraw it here (because you may want to make some changes), and now use the marked Petri net to illustrate the scenario. You can draw a sequence of marked Petri net to show how the system works.
Additional Explanation: (a) If we consider how the active index system passes messages and reaches equilibrium state (if one exists), this leads to a formal study using, for instance, the Petri net model. (b) Notice this is the beginning of a systematical approach to build prototypes for active distributed multimedia systems. Can we create a new systematic approach, i.e., a new software process model, for distributed multimedia systems design? (c) The index cells could span several nodes. Therefore, the active index system is a distributed index. The IC Managers must also be distributed to the nodes in the networks.
All the necessary files are available under ~jung/public/html. The most important document for you to read first is the MICE Developer's Guide.
How to do this exercise on a Unix workstation: Each student will be given a directory
to store the html pages and the cgi programs. For example if your name
is Smith, then your html directory is ~jung/public/html/Xsmith, and
your cgi-bin directory is ~jung/public/html/Xsmith/cgi-bin. You should
put your html pages under the Xsmith directory, and your cgi programs
under the cgi-bin directory.
After that you can set up your working directory, by creating two
subdirectories called "TAOML" and "source", and then copying all the files
from the three directories IC_Compiler, IC_Manager and IC_Taoml to this
"source" directory. Then you can follow the steps spelled out in
MICE Application Development Steps.
You may find the following tips useful.
How to download the PC version of the IC Compiler:
You can also do this exercise on a PC. To do that, you need to download
a zip file in the directory http://www.cs.pitt.edu/~jung/IC_Manager/
icm.zip and
unzip and install under Windows.
Follow the ICM.ReadMe file to set up the PC version of the IC Compiler.
An example of
the ic.dat and
the test.in is included, which relays a single-click or a double-click to the ic_manager.
There is also a Corba Unix version for distributed IC manager, which can be used for more advanced projects. However you don't need it for this exercise.