[ Back to Appendix | Table of Contents ] ... copyright 1996 George North. Frozen in time 1-Dec-96

Ubiquitous Software: An Information Network Paradigm



Outline

used November 17, 1996 during Defense of Thesis


Contents


Back to Top

Ubiquitous Software:
An Information Network Paradigm

Outline used in Defense of Thesis

Submitted in partial fulfillment of the
Requirements for the Degree of

Master of Science
in
The Department of Computer Science

by
George Joseph North, Jr.

BS, Liberal Arts
The University of the State of New York

November 1996

Abstract:
This thesis uses recent developments that involve global networks and
architecture neutral software to describe the potential of Information Networks.
These make possible a new ubiquitous Writing Space that moves software
development closer to domain experts. Document centric software engineering
principals are used to propose a computer/user environment where needed
software is as available as a dial tone.

These principals are called Ubiquitous Software.


Ubiquitous Software 9

Back to Top

[US Internet Backbone]

Information Network Paradigm

Information network is a computer network with

attributes: collaboration and heterogeneous data.

  • Three phases of network evolution
  • Three Information Network barriers
  • CUI issues that need to be addressed by software

engineering to ensure information network success

Copyright George North, 1996


Ubiquitous Software 10

Back to Top

Three phases of network evolution

  1. Host-based networks, circuit-based, protocol-

dependent, centralized, connection-oriented, mission

critical, constant use, low bandwidth, some quality of

service (QoS).

  1. Client-server networks, router-based, protocol-

independent, distributed, connectionless,

departmental applications, sporadic/bursty, medium

bandwidth, few QoS constraints.

  1. Information networks, switch-based, protocol-

independent, collaborative, connection and

connectionless, collaborative, constant use/bursty,

high bandwidth, variable QoS constraints.

Meleis, Hanafy, Toward the Information Network, COMPUTER, IEEE
Computer Society, Volume 29, Number 10, October 1996

Copyright George North, 1996


Ubiquitous Software 11

Back to Top

Technology Barriers
that must be addressed to realize
an Information Network

  1. Operations & Management, costs associated with the

operation and management of private information networks.

  1. Computer/User Interface, Lack of a common user

interface could turn the vision of an information

network into a nightmare if users are unable or

unwilling to use new services and products. Six issues

need to be considered.

  1. Digital Video, no means be routine or inexpensive.

Requirements are: infrastructure capacity, interoperability,

tools for creation and management.

Copyright George North, 1996


Ubiquitous Software 12

Back to Top

Computer/User Interface
issues to consider

  1. Intuitive, interoperable user interfaces: must improve on

GUIs, integrating multimedia search with text and

database queries, it must also support all potential

interface techniques, including keyboard, mouse, voice,

and pen.

  1. Intelligent agents: The huge amount of information

available will require intelligent agents and filters that can

learn user preferences, deal with multimedia data, and use

standard methods to capture, represent, and communicate

information.

  1. Information fusion: For the information to be useful,

content-retrieval technology must combine the results, in a

meaningful way, from query servers running different

search engines against very large multimedia collections.

  1. Information preparation: Generic tools for authoring and

presenting multimedia information should enable

nonspecialist users to handle information from a variety of

sources.

  1. Authentication and security: Techniques for document

authentication and copy protection must be further

developed and applied to multimedia objects. All forms of

payment, including subscriptions and pay-per-use, should

be supported in a common framework.

  1. Service portability and transparency: This heterogeneous,

multi-supplier network must hide its complexity from the

user. The user should be able to obtain services without

concern for the details of the networking environment, the

geographic location of the information sources, or other

participants.

Copyright George North, 1996


Ubiquitous Software 14

Back to Top

Ubiquitous Software (U_S)

is NOT

  • a General software engineering model
  • for Real time applications like fly by wire
  • for Operating Systems or GUI (graphic user interface)
  • for networking systems where quality of service issues

are paramount.

  • limited to Education

Copyright George North, 1996


Ubiquitous Software 15

Back to Top

U_S

uses these software engineering principals

  • Object-Oriented Design: uses objects to organize

information, behavior, and identity.

  • Network Aware Object-Oriented Programming:

example, Java and JavaBeans.

  • Reusable Components: many different kinds of

software work together like legos parts because of an

Interface Definition Language (IDL).

  • Containers: purposeful collections of components

used to build more complex software--containers are

components.

These are used to construct compound documents that

present an intuitive user interface, provide a framework

for modeling heterogeneous data (HD), and a

mechanism for user authoring. Add network aware and

this is Ubiquitous Software.

Copyright George North, 1996


Ubiquitous Software 16

Back to Top

Components & Containers

Designed for reuse, components are the building blocks

(legos) for containers. Used to build compound

documents, they transform how software interacts

throughout the CUI. The ingredients are:

  1. Object model: differs from existing object-oriented

technologies because it uses an IDL with the goal to

provide consistent functionality across multiple

interfaces.

  1. Data exchange model: unifies mechanisms through

which end users interact, for example drag and drop

provides an explicit object-based metaphor.

  1. Structured storage: data is managed as a single

complex file with heterogeneous data and is the

mechanism that allows containers to be components.

Adler, Richard M., Emerging Standards for Component Software, Computer, IEEE
Computer Society, March 1995, p68, rmadler@tiac.net

Copyright George North, 1996


Ubiquitous Software 17

Back to Top

Automation

Automation is the mechanism that permits interactions

to be directly programmed by users, for example

associating behavior with a menu choice. Automation:

  1. Provides the interface where IDL specified properties

are made public.

  1. Exports IDL specifications to launch and manipulate

other applications at runtime.

  1. Uses 1 & 2 to minimize end-user interventions

required by workgroup applications.

  1. Is where ubiquitous is added to components and

containers.

When documents are opened, IDL advertises for

needed software; users need not be concerned. The goal

is a CUI that centers on data rather than applications,

leaving users free to focus on their work.

Copyright George North, 1996


Ubiquitous Software 18

Back to Top

Document Centric Software

Compound documents advantages are:

  1. Object model-based framework for modeling,

manipulating, and storing HD.

  1. Facilitates data sharing across multiple applications

and multiple architectures.

  1. Implicit context switching.
  1. IDL separates interface definition from

implementation--for example, making possible

display under different circumstances, such as a

phone or workstation.

  1. Component software should reduce development

complexity, cost and time, improve reuse and

maintainability.

  1. Component software will increase architecture

independence and network distributability.

Copyright George North, 1996


Ubiquitous Software 19

Back to Top

Writing Space: Specification

Definition: Writing space is the physical and visual

field defined by a particular technology of writing. The

artifacts of a writing space are documents, which require

tools and skill to produce.

Model: Physical field is networked computers, the visual

field is hyperlinked electronic documents of HD, the

tools are software for authoring and browsing.

Requirements: Enable information networks by:

  1. Document based CUI for browsing.
  1. HD with intelligence needed to display itself across

multiple architectures and to support editing.

  1. Generic authoring tools to allow domain experts to

program document behavior and contexts.

  1. Users are able to obtain services without concern for

complexity of underling network, location of

information sources, or other participants.

Prototype: the World Wide Web.

Copyright George North, 1996


Ubiquitous Software 20

Back to Top

VLP Specification

Virtual Lesson Plans

Definition: VLP is one implementation of an

Information Network document. It is a writing space for

a structured program of instruction.

Model: existing lesson plan used by teachers to organize

classroom activities.

Requirements: Information network, writing space:

  1. Structured browsing to insure students cover

required materials.

  1. Authoring tools for teachers to construct VLPs.
  1. Virtual libraries for storage and sharing of

Information Resources (IRs) and VLPs with others. .

  1. Electronic libraries for collections of approved

reusable content (education brokers).

  1. Generic VLP documents and U_S components.

Prototype: none, except the existing pencil and paper

writing space versions.

Copyright George North, 1996


Ubiquitous Software 21

Back to Top

Scenario:

Teacher builds a TEST VLP using JavaBeans

An illustration of how JavaBeans are intended to function.*

In this scenario a user uses an application builder to create an applet. The application
builder generates various pieces of source code.

  1. Needed tools.

1.a) TestBuilder Java application builder.
1.b) Java Bean components ... beans in a JAR file. This includes a "Button"
component and a "DatabaseViewer" component.
1.c) TestBuilder and Bean components are already configured to work together by
a certified Education Broker.

  1. Laying out the applet.

2.a) The user starts to create a new custom applet called "FooFinalExam" in
TestBuilder. Initially they start with a blank applet template. TestBuilder
creates a FooFinalExam.java file to represent the state of this applet.
2.b) The user selects a "button" from the TestBuilder beans menu and drops it onto
the applet template. TestBuilder uses "new Button()" to allocate a new Button
instance. TestBuilder then adds the new button as a member field to the
FooFinalExam class.
2.c) The user selects a "database viewer" from the TestBuilder beans menu and
drops it onto the applet template. Because the database viewer is a fairly
complex bean it comes with some serialized state to pre-initialize itself. The
TestBuilder tool therefore uses the Beans.instantiate utility method to read in a
serialized object instance. TestBuilder then adds this new database viewer
object as a member field to the FooFinalExam class.

  1. Customizing the beans.

3.a) The user selects the button to edit it. TestBuilder uses an introspector to obtain
a BeanInfo object describing the bean. The user then interacts with button
properties to customize the button's appearance. The updates are applied
back to the bean as they happen.

Copyright George North, 1996


Ubiquitous Software 22

3.b) The user selects the database viewer and asks TestBuilder to edit it. Using an
Introspector, TestBuilder discovers that the database viewer comes with its
own bean Customizer class. The database viewer customizer uses a set of
package private methods to setup the state of the database viewer bean.

  1. Connecting up the beans.

4.a) The user now decides that they want to hook-up the button to prod the
database viewer. They select the button on the screen and pull-down menu to
select the "action" event desired. A text editor lets the user can type in
needed text.
4.b) Automatically generated FooFinalExam.
4.c) In addition, behind the scenes, TestBuilder creates an adaptor class to connect
the button to the FooFinalExam.
4.d) TestBuilder creates a new instance of the needed object named
FooFinalExam and registers its methods.

  1. Packaging up the applet.

5.a) The user decides they, soTestBuilder uses Java serialization to store away the
FooFinalExam object in a FooFinalExam.ser pickle file. As part of storing
away the FooFinalExam object, the two beans instances (the button) and
databaseViewerl members) also get stored away. The TestBuilder also
generates some initialization code to reconstruct the event hookup.
5.b) TestBuilder creates a FooFinalExam jar file holding the pickle and the .class
files needed by the applet including the hookup class file and the .class files
for the beans themselves.
5.c) TestBuilder also generates a sample HTML page that uses the applet tag to
load the pickled FooFinalExam.ser from the FooFinalExam.jar file.

  1. Trying it out

* Note: this scenario is based on an example in the JavaBeans 1.0 API specification. It
reflects life through Sun's eyes, and describes a generic builder application. My
TestBuilder would be more intelligent in terms of understanding what needs to be
added, where and how. It is obvious that builder applications need to be developed
by software engineers.

Copyright George North, 1996


Ubiquitous Software 23

Back to Top

Information Resources

Object Model

[IMAGE Image1.GIF]

Copyright George North, 1996


Ubiquitous Software 24

Back to Top

VLP Functional Diagram

[IMAGE Image2.GIF]

Copyright George North, 1996


Ubiquitous Software 25

Back to Top

VLP Dynamic Model

[IMAGE Image3.GIF]

Copyright George North, 1996


Ubiquitous Software 26

Back to Top

Existing Technologies and Prototypes

  1. New Writing Space: hypertext principals date back 50

years and were demonstrated using computers 30

years ago. The Web makes it real.

  1. Information Networks: as previously noted, many

missing parts.

  1. Document Centric Software: OpenDoc is under

development. OLE (aka Active X) is not a document

technology because it does not hide underlining

applications from users, nor does it provide for

recording of user actions. None currently are

architecture independent or interoperable.

  1. Web is an excellent prototype of networked hypertext,

and demonstrates the importance of HD. Its interface

is document-like and demonstrates the effects that

document centric design has on CUI.

  1. Java and Java O/S is the first architecture neutral

development environment, and Java applets used in

Web documents begin to demonstrate the possibility

of U_S. "Develop once, deploy anywhere."

  1. JavaBeans is a set of APIs with the goal to define a

software component model for Java, so that third party

ISVs can create and ship Java components that can

be composed together into applications by end users.

  1. Drag and drop HTML authoring tools show the

potential for and the importance of generic tools for

authoring and presenting HD. This is one

requirement for the acceptance of Information

Networks. Authoring an information network

document is programming, domain experts must feel

comfortable doing this, otherwise we fail.

  1. Companies like Yahoo, Lycos, and AltaVista show the

way towards brokers that can organize and validate

information and software components. It will be

necessary for these brokers to specialize, for example

"Education Brokerages."


Ubiquitous Software 29

Back to Top

Benefits of Information Networks with U_S

  1. Marketing and distribution without current

infrastructure, $0 CGS, --> more developers. see link

  1. New (more), less expensive, easier to use computer

devices --> more customers.

  1. Reusable component software at every level of

development cycle, even at end user level.

  1. Larger development costs, allocated over much larger

market combine to produce less costly products.

  1. Pay-per-use and pay-one-price markets

(i.e. telephone) managed by responsible brokerages.

  1. Architecture neutral development models allow

legacy systems to be integrated into an Information

Network Paradigm minimizing conversion costs.

Copyright George North, 1996


Ubiquitous Software 30

Back to Top

What is needed for U_S to succeed?

  1. An entirely new market infrastructure to address

issues of component packaging, specifications,

distribution, certification, pricing, and support.

Proposal: "Brokerages" specialized content providers

  1. Software developers need to undertake Document

Centric model ... a environment that builds

components that work with, not against, those of your

competitor's ... where end users, not developers,

decide feature lists and build complete applications

(in part, these are the new Writing Space documents).

Proposal: Lots of new developers

  1. Content providers willing to contribute and maybe

profit by publishing their efforts so others may reuse

their information (see Writing Space documents

above).

Proposal: I think that almost everyone will want to!

Copyright George North, 1996


Ubiquitous Software 31

Back to Top

Top 10 Events in Computer History

  • 1943 "I think there is a world market for maybe five computers." IBM president Watson.

  • 1950 With fewer than a dozen computers in the world, Douglas Engelbart imagines networks of computer with CRT's as interfaces. Ten years passes before he finds a job in Computer Science.

  • 1964 NLS is the first digital computer implementation of hypertext. It provides email and document sharing.

  • 1966 George North learns FORTRAN.

  • 1979 VisiCalc becomes the first computer program more popular with non-professionals then professionals. Document based, and user programmable, it represents a giant CUI improvement.

  • 1993 NCSA Mosaic, another document based CUI improvement. Non-professionals now make browsing the Web the fastest growing computer application ever.

  • 1995 Sun announces Java and enables platform independent development ... forever changing what to consider important.

  • xxxx 3 events left?
  • Biggest Mistake: IBM licenses DOS.

    Copyright George North, 1996


    Ubiquitous Software 32

    Back to Top

    Computer Science MVP

    [Douglas Engelbart]
    Douglas Engelbart
    "a man who sees the future"

    1. 1950, foresees importance of networked computers
    1. 1964, NLS, first implementation of HyperText, e-mail,

    groupware.

    1. 1965, Inventor of the mouse, by far the most important

    hardware user interface.

    1. Current research: collective IQ, using information

    networks with collaborative systems.

    Copyright George North, 1996


    [ Back to Appendix | Table of Contents | Top ]