The Calculator
Calculator User Interface
The user interface for the System Dynamics Calculator is color-oriented, graphic-intensive, user configurable and “computer-like” in many respects. The following are the fundamental components of the calculator’s user interface:
•application menu
•help menu
•model builder palette
•model simulator control strip
•canvas
The User Interface
The calculator application is configured and controlled with a single application menu. The following basic functions and operations are controlled through the calculator’s primary application menu interface:
•create and name a new model, a new associated abstraction layer, or a new simulation
•save a model with abstraction layers and simulation definitions in local memory, to a storage device or to a network location
•save the current “state” for a model of anchored and torn-off palettes and their locations, the control strip visibility and location, and every page of the canvas - models, graphs, tables and logs
•select, load and open a model with abstraction layers and simulation definitions from local memory, a storage device or network locations
•select, load and open a model with abstraction layers and simulation definitions in its “saved state” from local memory, a storage device or network locations
•select, load and open a conventional calculator
•create, name and save a new factory from a defined model fragment
•create, name and save a new script
•create, view, save, print and export a report – any one or more of a model drawing, custom graph, custom table, simulation log (the value log, threshold crossing log and error log)
•clear the canvas
•administer calculator application preferences
•purchase and save a model; purchase and install a factory package or a script
•import and export a model with its associated abstraction layers and simulation definitions in a variety of convenient file formats
•quit the calculator application
The calculator application preferences are set from a window that is commanded from the application menu. The calculator preferences include the following:
•define and manage user accounts
•define and manage trusted network services
•define and manage file sharing policy
•define and manage other security policy
•set the user turn-on preferences to 1) restore the previous saved “state” (to pick up where you last left off), or 2) restore a default starting “state” (a clear canvas with a default anchored palette and a defined set of placed torn-off palettes), or 3) a clear canvas with no palette displayed
•set the default styles for text, text boxes, symbol size and line width, canvas color and background
•set the user localization preferences including currency system, units of measure system and number system (may be an operating system level function)
•set the calculator location “time and place” (may be a device level GPS function)
The user can perform the following operations on the palette:
•create, edit and delete a palette
•create, edit and delete a hierarchy of palettes
•select a palette from a list of palettes
•add to, remove from and reorganize a palette
•tear off a palette
•reposition the current palette
•rotate the current palette to accommodate horizontal or vertical orientation of the calculator
•resize the current palette
•anchor the current palette to any display edge and to the application menu
•show/hide current palette
The user can perform the following operations on the control strip:
•tear off a control strip
•reposition the control strip
•rotate the control strip to accommodate horizontal or vertical orientation of the calculator
•anchor the control strip to any display edge and to the application menu
•show/hide the control strip
The canvas holds the primary model, its associated abstraction layers, simple graphs and tables, custom graphs and tables, and logs. The canvas has a paging system, a coordinate system, a default point of origin and default scale. The user can perform the following operations on the canvas:
•move the canvas relative to the physical display area
•zoom or scale the canvas
•return to the default point of origin and scale
•page the canvas – display the primary model layer, an abstraction layer, a custom graph, a custom table and any of the simulation logs
•select a canvas page – select the primary model layer, an abstraction layer, a custom graph, a custom table and any of the simulation logs from a list of canvas pages available
The following drawing illustrates basic elements of a possible user interface implementation:
The above drawing illustrates the following user interface characteristics:
•an application control (the large diamond) to select the secondary actions of the calculator (after building a model and running a simulation) such as setting preferences
•regions potentially occupied by a control strip, palette, simple graph and simple table and the model
•controls to browse the canvas page by page
•controls to show / hide the control strip, palette and the current page on the canvas
•controls to select canvas pages, palettes, simple graphs and simple tables from lists
Elements of the previous drawing are more tangible when a model is displayed and a simulation has been run. In the following drawing, these user interface elements are illustrated:
•a model builder tool palette for stocks, flows, transformers, factories, converters, and variables
•a model simulator control strip to run and stop the simulator, build a graph, examine the simulation log
•a model that is animated, editable, movable and resizable
•a simple graph associated with a designated model component
•a simple scrollable table associated with the same designated model component
•model, layer and component names
•model, layer and component alarm summaries
It is important to note some details that are illustrated in the above drawing:
•color cues assist the user with controls (green to go, red to stop)
•color cues assist the user with simulation interpretation (red is a critical simulation alarm)
•alarm summary information is present for the model, the layer, fragment and the component
•graphic pictures are prominent and text is sparse
•the model is in the center and all other tools and information are on the display perimeter
Help
The SD Calculator has a rich set of help features including tool tips, topical help, wizards and a variety of tutorials. These help features are unobtrusive, and they are easily available to the user on demand. The help features are supplemented with web links to additional resources.
The SD Calculator provides the following help features:
•a help tool at the top level of the user interface to select:
- the help topic index
- an objective-based wizard from a list (to calculate a loan payment, for example)
- a tutorial from a list
•a mouse-up tool-tip for every control and palette symbol
•a list of related help resources including additional topics from the index, wizards and tutorials, and web url’s for supplemental information from the manufacturer when this information is available
Security, Localization and Personalization
The SD Calculator is secured, personalized and localized. The calculator is configured with a calculator name and credential, a user name and credential, and a user location that sets the time zone, default language, default currency and default units of measure systems and some other attributes.
The SD Calculator must be a secure device because of the valuable nature of personal data that the calculator potentially stores and utilizes. To facilitate casual usage, an effortless login method is highly desirable such as an RFID user token, a biometric method or some other automatic mechanism that logs in the user when the user handles the calculator. To guard against theft of the user’s token, the user may elect to require authentication for certain operations or for the use of certain data.
The SD Calculator provides the following security features, functions and policies
•root user account
•normal secure user account
•multiple simultaneous users
•security policy for secure user accounts
•security policy for unregistered users and the functionality they have access to
•security policy for multiple simultaneous logins (logging in a second user without logging out the first user or securing each user’s data from other users)
•security policy for user switching (logging in a second user without logging out the first user, but securing each user’s data from other users)
•security policy for user login, logout, sleep, wake and automatic shutdown
•security policy to create and delete a user ID and to create and edit a password
•security policy to terminate file sharing and to auto-logout the user after an idle time
•security policy to encrypt user data files and network data transactions
•data encryption method for securing user data files and network data transactions
•credential “key ring” for the calculator and for each registered user
•file sharing credential for authorized computers and authorized users
•file sharing credentials from authorized computers and authorized users
The SD Calculator maintains the following user data related to security:
•user ID and password
•user name, address, birthday
•user security policy for access to user data by the calculator, by explicitly authorized computers, by other computers, by explicitly authorized users, and by other users (simultaneous or switched users)
The SD Calculator maintains the following user data related to localization:
•calculator location, automatically set by GPS
•user location; default is the user address by user address
•user alternative location, manually set by user (persistently overrides the user address if set)
•language preference; default is the national language at the user address
•time of day preferences and daylight savings time rules; default is the local custom at the user address
•currency preference; default to national currency at the user address
•system of units preferences for distance, mass, volume and temperature; default to local custom at the user’s address, and the user may persistently override any of these default preferences
The user can personalize the canvas:
•revise the current default canvas color and canvas texture
•revert the current default color and texture back to the previous default
•reset the current default color and texture back to the manufactured default
•display a background picture with a configurable transparency
Software Versioning and Maintenance
The SD Calculator presents the user with a large number of potential features. A number of functional separations are essential for the manufacturer of the software to differentiate the product. A number of considerations are essential for version control and keeping the calculator up to date.
Privilege management for categories of functionality is necessary to differentiate the product and preserve opportunities to upgrade. Privilege is managed for the following SD Calculator versions at the time of manufacture:
•“Modeler” product enables everything
• “Calculator” product denies the ability to model a dynamic system
– deny the ability to pick and place stocks, flows and transformers from the palette
• “Modeler Trial” product runs for a preset number of days, and then assumes Limited Calculator Trial version functionality
•“Limited Calculator Trial” product denies the ability to model a dynamic system and the ability to output in any way other than to display
– deny the ability to pick and place stocks, flows and transformers from the palette
– deny the ability to pick and place deny the ability to “Save”, “Save As…”, “Share”, “Export” or “Print”
Every version of the SD Calculator software will be able to engage in socialization and partner commerce as a consumer by being able to load or import models, factories and scripts developed by other users, by running simulations of the models, and by using the factories and scripts in their own models and simulations. For this workflow, each version of the SD Calculator is fully capable.
SD Calculator application software and factory packs are installed, uninstalled, updated and upgraded in an administered process. Software is installed from local media or downloaded over the Internet from a remote software volume.
Updates may be manually requested or scheduled. If an update is available, it will be delivered and installed in an administered process that requires the user’s approval. Updates will typically be downloaded from the manufacturer over the Internet. The calculator will recover from network failures and installation failures. Once downloaded, the update software will remain ready for installation until the user approves the installation process.
Upgrades from trial software to featured software or from the Calculator to the Modeler are accomplished with a manual serial number entry or a software token that is stored in the calculator, and no further software download is necessary unless a maintenance update is available.
An Introduction to System Dynamics Models
Basic Calculator Architectures
Calculator User Interface
The User Interface
Help
Security, Localization and Personalization
Software Versioning and Maintenance
Conventional Calculator Functionality
Appendix: The Modeling Process