570 likes | 737 Views
CS 402: Design, Development and Evaluation of Educational Software. Nikos Athanasis - Nikos Naoum - Nikos Bertes - Antonis Apostolidis. NCSA. N ational C enter for S upercomputing A pplications. Opened to the national research community in January 1986.
E N D
CS 402: Design, Development and Evaluation of Educational Software Nikos Athanasis - Nikos Naoum - Nikos Bertes - Antonis Apostolidis
NCSA • National Center for Supercomputing Applications. • Opened to the national research community in January 1986. • A high-performance computing and communications facility designed to server U.S. computational science and engineering communities.
NCSA Habanero • A set of applications and a collaborative framework. • You can create and work in shared applications from remote locations over the Internet. The framework enables developers of groupware applications to build powerful collaborative software in a reduced amount of time.
NCSA Habanero[cont] • Through Habanero you can interact with other people on the Internet using a variety of applications that share state and events. • The framework provides the necessary methods that make it possible to create or transition existing applications and applets into collaborative applications.
The Habanero Environment • The environment includes a server that hosts sessions and a client that interacts with sessions using a variety applications called Hablets. • The client defines, lists, creates, joins or interacts with a session. • The client is capable of interacting between multiple sessions, each with multiple tools.
The Habanero Server • The server is a process that runs in the background and does not have a GUI. • It links the clients during a collaborative session. Only one server is required for each session and all participating clients connect to that single server. Sessions are defined and distinguished by their session name, machine name or IP number and the listening port number.
The Habanero Server[cont] • The server is typically started from a script or a command line.
The Habanero client • When you first start the Habanero client it appears in session definition mode with the basic feature set.
The Habanero client[cont] • Creating or joining a session is achieved by typing the session name, server name and port number into the appropriate fields or by selecting a session definition from the session definition list.
The Habanero client[cont] • After the session data is set, click the button and Habanero will attempt to make a connection with the server and join the defined session.
The Habanero client[cont] • When the join request is successful the client will open into the session mode.
The Habanero client[cont] • After the active applications are open the user is able to interact with the other members of the session. • Most actions he takes within an application will be shared with the other members of the session. For example, if he closes a window it will close for everyone.
Menus • Mail:Opens the Mail Composer. • Edit ID Card:Opens a window that contains the users identification data. • User Options: • Network: email server and email address. • Notification: How the client will notify other users when creating a session. • HTTP Proxy:Proxy Host name and Proxy Port number.
The Meeting Menu • Terminate: Leave or terminate the session. • Record: Opens the Record window and writes the recorded data to the specified file (user.props file). • Save/Delete/Duplicate: Takes a snapshot of the meeting and saves it as a session template. The template includes: the participant list, the active tools, the agenda information and any security options.
The Views Menu • More info:Displays information about the selected session in the side panel. • Tools in use: Displays a list of the active applications in the side panel. • Participants: Displays the other clients of the session, by picture (the icon of the participants), or by location (a red spot in a world map).
The Views Menu[cont] • Security: Displays information about the security of the system. • Notification:Displays a list of the names and contact information for everyone whom the client has collaborated with in a Habanero session. Using the add and remove buttons, he can add or remove a person from a session definition.
Client Modes • Session definition mode(red border): Itis used to define sessions off-line (in the start). • Session mode(green border): It is used when the client is connected to an active session.
The session location • It defines where a particular session is hosted: the name of the session, the location of the server which hosts the session and the port number used by the server to communicate data.
The Toolbars • Leave Session • Record a Session • Save Session Definition • Send mail:
The Session Toolbar • The session toolbar buttons are shortcuts to functions found in the Views menu. • Hide, Session Information, Tools in Use, Participants by Picture, Participants by Location, Notification, Security.
The Tools Palette • This palette defines the collaborative tools that are available to the clients environment. • With double clicking on the folder the client can open it or close it. • With right clicking the mouse on empty space in the palette the client can add and remove a folder.
NCSA Habanero Framework • The Habanero framework allows the sharing of Java objects with other clients over the Internet. • It is an API designed to let the developers create collaborative applications, called Hablets.
NCSA Habanero Framework[cont] • The server reads events from and writes events to a stream, controls the order in which events execute, and makes sure events get shared by everything that needs them. • Events and data are sent to the server, and the server makes sure that these events and data are sent out to each client.
Serializers • Serializing is the process of copying an object. • The Habanero serializer assigns each object (event or data) a numbered ticket. • The tickets are used to guarantee that events happen in the same order as they are replicated on all clients.
Arbitrators • Arbitration is the process of deciding the order in which events are processed. • The central arbitrator makes sure that all the clients see the events in the same order. Arbitrator code at the client ensures that events execute in the order prescribed by the tickets assigned by the serializer.
Communication Managers - Networking • The communication-manager accepts events and makes sure that they go to all the appropriate clients. • The networking software of Habanero takes care about establishing network connection.
Habanero Events Session manager Session • Habanero uses a hierarchical naming scheme to ensure that events from one client are shared with the corresponding part of all other clients. collobject frame Children of frames event
Sequence of Events • The button is pushed on a client running a session. Each session has multiple listeners that listen for events. One of the listeners takes note of the button being pushed and sends the information to a listener manager. • The listener manager sends the event "a button has been pushed" off to the Habanero server.
Sequence of Events[cont] • At the server, there are multiple listeners as there are on the client. A listener receives the event "a button has been pushed" from the client. The server processes this event, giving it a numbered ticket (serialize). The ticket is sent to all other clients. A listener on the client receives the ticket and then passes it to the target, which is the correct button on the correct Hablet.
Habanerization • The habanerization of an applet would allow multiple users wherever in the world with an internet connection to interact with the same application. • For example, with the Whiteboard application, all the users can draw on the whiteboard and see what the other users have drawn as if they were all viewing the same whiteboard.
Habanerization[cont] • Change superclass, imports, and initialization. • Specify the default window parameters. • Write methods totransfer state to other instances. • Take care of event handling. • Compile the hablet. • Install it into the Habanero environment.
The Hablets: Whiteboard • The Habanero Whiteboard can be used to share images and drawings during the collaboration.
The Hablets: Savina Browser • NCSA Savina 1.0 supports the latest HTML standard, (currently 3.2), plus many popular HTML extensions.
The Hablets: Telnet • Telnet with multiuser capabilities:teacher mode-student mode.
The Hablets: Voting Pool • Voting pool brings democracy to a collaborative session.
The Hablets: Chat • This Chat window uses the Habanero sharing mechanism.
Hablets: Audio Chat • Participants can speak to each other in an organised manner.
Hablets: mpEdit • This Java application is an open source text editor.
Hablets: Neighborhood • A distributed file system using the Habanero framework.
Hablets: ClipNShip • It allows to share individual files for other clients to save on their systems.
Hablets: Gis Viever • A tool that allows you to display and manipulate sets of geographical information.
Hablets: VNC ( Virtual Network Computing ) • It allows users to remotely control any system running a VNC Server.
The Hablets: Colors Hablet • A collaborative tool that allows its users to manipulate and combine different aspects of three color squares
The Distance and Displacement Hablet • It lets the user draw a path of a vector and then see what the length of that vector is
Gas Hablet • The Gas Hablet is a visual demonstration of the motion of Ideal Gas molecules within a cylinder
Interference Hablet • The interference effect in light waves. Two light rays pass through two slits, separated by a distance d and strike a screen a distance, L, from the slits
Orbital Hablet • The Orbital Hablet is a gravitational simulator of orbits in space
Sun & Earth Hablet • Displays the position of the earth relative to the position of the sun
Thin Lens & Mirror Hablet • How an object is displayed in front of lens or a mirror
The Visibile Human • This Java applet allows you to select and view high-resolution imagesof 2-dimensional slices of ahuman body