• What type of location information will we use (e.g., lat, long,
elevation, pole #) for gateways, re lays and meters?
• What tool will we adopt for netw ork RF planning, and how w ill
we interface t he rest of the system to it?
2 Introduc tion
The Enterprise Network and Internet Communications (ENICS)
system is a set of software applications that allow either utilities or
Innovatec acting as a se r vice bureau to m anage and operate an Innovatec
communications network. The functions required include the ability to
read meters, monitor network operation, install, decommission, swap
and test a l l elements in t h e communications ne t work and handl e a l arms.
In addition, Innovatec must have a means of planning and laying out
comm uni cati on s ne tw or ks, tr ain ing use rs a nd dem onst ra tin g th e syste m
to pr ospect ive cu stome rs. For deve lopme nt it is de sira ble t o have som e
means of exercising the communications network in a more intensive
manner than we have been able to in the past.
It will be necessary to update and possibly gather data from
databases that are not part of the Innovatec system. For example, a
utility may have a billing d atabase (and app lications that use it) alrea dy
in place. Data from scheduled reads might be placed into this billing
database.
Finally, it should be possible to log events of interest for later
analysis either by utility personnel or applications in the Innovatec
system.
Innovatec plans to eventually use the system for very large
installations (on the order of 10 million meters or more). Thus, it is
necessary to architect and build the system in such a way that its
functions can be distributed across multiple machines and possibly
multiple se rvers.
In addition, in Innovatec’s role as a service bureau, it may be
ne cessa r y to sit e a ga tew ay ser ve r an d possi bly som e se r ve r f un ction s a t
a customer site, while the rest are handled at Innovatec’s offices. For
examp le, a utility may want to put modems at the ir site so th at calls to
gateways are local calls, while Innovatec administers the network
remote ly.
A high le vel schem atic for the In novatec utility syste m is show n in
Figure 1. In the sch em atic, each of the applications is show n as if it wa s
a traditional monolithic program. However, the Innovatec system is
being de signe d and implemented as a multitier archite cture in which th e
user interfa ce is a set of Java applets an d HTML pages w hich u se a set of
servant s t o acces s various services, such as da t a base a ccess.
4
Alarm Configuration
Manager
(Interactive)
Meter
Reader
(Interactive)
Network
Exerciser
(Autonomous)
Field Service
Application
(Interactive)
Laptop or Handheld
Field Service
Database
Network Configuration
Database
Logging
Database
Network Planning
and Layout
Configuration
(Interactive)
Field Service
Network
Manager
via direct TCP/IP or
d i al u p PPP
Network Health
Monitor
(Autonomous)
Alarm Rec eiver
(Autonomous)
Physical Assets
Tracking
(Legacy)
Billing Ap plication
(Legacy)
Utilit y Ph y s ical
Assets Database
(Legacy)
Billing
Database
(Legacy)
Innovatec
Utility
Server
converter
Network Planning
Database
Production
Network
Gateway
Server
Network
Emulator
Alarm Configuration
Network
Testbed
Database
SW/HW Compatability
Database
Figure 1: High level s chematic for the Innovatec utility softw are syst em
This d ocume nt supplie s a gen eral org aniz ation and par titioning for
the system as well as requirements that apply to all applications. The
re quir ements for t he various com pone nts of th e syst em a re conta ined in
their own requirements documents.
3 Primary Requirements
Primary requirements are those that ultimately come from the
cust omer or are dictated b y t he basic nature of th e a pplica t i on.
5
1.1
3.1 Supported Databases
For the purposes of this specification, the databases in the system
are classified into internal and external databases. Internal databases
are th ose th a t will be built into a stand a lone Innovatec system. External
(or legacy) databases are those that are supplied by a particular
rd
In nova te c custom e r or a p art icular 3
party application. An in terface to
an external database may be supplied as part of the customization for a
particular customer , b ut the information containe d in these databases is
not req ui red to run the Innovatec system.
Internal databases are specified i n section 4.2.1.
3.1. 1 E xter nal datab ases
While it is possible for the set of external databases to be
composed, in principle, of anything or nothing, we anticipate that the
external databases will typ ically consi st of the following for each utility.
DatabaseRecord TypeItemComment
BillingBasic
account
information
Meter
information
for a
customer
• Account number
• Customer name
• Customer address
• Account number
• Meter type
• Me ter n ame
May be
multiple
records for
each
customer
Physical AssetsData for each
meter
• Account number
• Me ter n ame
• Meter type
• Meter Model
• Factory num ber
• Meter br a nd
• Meter size
• Zone
• Installa tion d a te
• Installer
• In stallation tim e
• Location
information
3.2 Mul t iple database set support
One of the uses of the utility server software will be Innovatec
acting as a service bureau. In orde r to support this type of operation, the
6
utility server software shall support multiple sets of independent
database s, one for each utility Innovatec supports.
It shall be the responsibility of the Innovatec Utility Server to
distinguish between sets of databases for different utilities, given an
appr opriate utility spe cif ication from the various app lications.
3.3 L og gi ng
It shall be possible to log events of interest into an internal
database. These events shall include, but are not limited to, message
tra nsm issions a nd r e cept ions. I t sh all be possib le for user s to conf ig ure
the number and the age of events to be maintained in the log.
All attempts by a clien t application to log into the ENIC S system or
a remote configura tion serve r to initially contact an ENIC S configura tion
server or a remote redistribution server to initially contact an ENICS
server should be log ged, wh ether the a t te mpt is su ccessful or not.
3.4 Arch itect ural constrai nts
It shall be possible to distribute user interface, database and
ser ve r functi ons ove r mu ltip le ma chine s. I t sha ll b e possib le for use r s to
remotely access the interactive utility programs from remote desktop
comp uter s. I t sh all be possib le to si te th e WAN int erfa ce har dware on a
machine that is physically separate from the machine(s) that host the
databases and are generally used for network maintenance and other
functions.
3.5 Server data maintenance
To the extent that is consistent with maintaining the integrity of
the various databases, user visible data shall not be lost if a server or
server machine suf fers a n ungra ceful shutdow n.
3.6 Ext ernal Data Distribution
In addition to interacting with an Innovatec communications
network, it shall be possible for the ENICS system to distribute data to
and/or r ece ive data from an other ENICS system . This will allow a utility
that does not actually own th e meters for a particular customer to gather
data about a meter from the utility that does own the meter. The
interactions supported in this mode are limited to scheduled reads, on
demand reads, informational alarms, informational alarm configuration
and basic meter status information. Informational alarms include low
flow threshold, prepay alarms and other alarms that indicate usage
violations but that are not associated with a possible physical failure.
Alarms that do indicate a physical failure (such as runaway alarms),
shall not be configurable by an external utility and shall not be
distributed to an external utility.
7
It shall b e possible to conf igur e a ccess p er mission for an ext erna l
utility on a me ter by me ter basis. It shall be p ossible to configure w hich
alarms may be distributed to or configured by an external utility on an
alarm b y alar m and me ter by m eter ba sis. If a n external utility has b een
granted configuration permission for a particular alarm on a particular
meter , the n the utility that grants that permission will no longe r be able
to configure or receive that alarm for that meter. Note that the owner
utility will still need to keep track of the alarms that have been
configure d by an external utility, in case the m eters associated with the
external utility or the gateways associated with those meters are
physically m odified, re conf ig ur ed or rep laced.
Both the hosting and receiving ENI CS servers shall keep track of
the number and types of data sent/received to/from the remote
distribution server f or b illin g p urposes.
3.7 Security
Security considerations for th e ENICS syste m fall into the f ollowing
four areas:
• Authentication (is the user or utility really who he, she or it
says they are)
• Authorization (is the user or utility allowed to perform the
operation they are requesting)
• Confidentiality (prevent an outside observer from viewing data
that the utility d oe sn’t wa n t them to view)
• Auditing (leave a trail so that attempts to compromise the
system are tr acked f or late r analy si s)
The othe r two area s tha t are ofte n of conce rn f or brow ser use rs in
a networked environment, containment and nonrepudiation, are not of
much concern to users who may run ENICS applets or applications since
all such app l ets, appli cations and ser vers come from a tr usted sou rce.
Authentication is a concern in two areas. The first is that only
people authorized by the utility run the ENICS applets/applications,
such a s the i nter active me ter re ader , the fiel d ser vice appl ication or the
network configuration manager. The second is that data distributed to
an outside utility is sent only to systems that have been explicitly
authorized t o recei ve such d ata.
Authentication in the ENICS system consists of two elements. The
first is password authentication. All users shall be required to enter a
password before using any ENICS application/applet with a user
interface. Passwords shall be stored internally in a form that is
cryptographically secure . The se cond is host identification. It shall be
possib le for syste m administrator s to allow access to the ENICS syste m
from an application/applet or a third party using the external data
distr ibution capability only from some designated set of hosts. Thus a
8
user atte mpting to log in using a valid password f rom a host that is not
in the de si g nated set of hosts would be de nied access to t he syste m ( with
an appropriate reason given). There shall be a means to indicate that
acce ss from any host ar e allowed.
Authoriz a tion shall be supported by a ccess control lists. It shall be
possible to assign permissions on a user by user, utility by utility (for
external data distribution) and application by application basi s. Thus, a
user might be allowed f ull acce ss to the intera ctive meter reader, but no
access to the network configuration manager. All ENICS applications
shal l con sult the a ccess c on tr ol li st b ef or e perf orm in g any oper ati on th at
might be forbidden by the access control list. Applications/applets
should provide a visual indication of forbidden operations (e.g., grayed
out controls) if a se t of operations is not allowed for a user.
Confidentiality shall be supported through encryption of any
comm uni cati on be tw ee n ENI CS se r vers (f or exte rn al data d istr ib ution ) or
between ENICS servers and applications/applets that involved
confiden tial data. If private key exchange is require d (e. g., to use a DES
algorithm), then the private keys shall be encrypted when they are
exchanged (e.g., with a public key encryption technique ).
Auditing shall be supporte d by the logging facility. All atte mpts to
acce ss (i.e ., log into) t he syst em b y a user or by an exte rnal agent shal l
be logge d, w heth er t hey are succe ssful or n ot. As much da ta as possi ble
should be captured, particularly for unsuccessful logins, including the
login name and the machine name from which the login attempt is m ade.
3.7.1 Firewalls
1.1.1
It is anticipa ted that an ENICS syste m will ty p ically oper ate behin d
a firewall. The firewall is set up to deny access to unauthorized users
contacting the system from outside the local network (e.g., through the
Internet). ENICS applications, applets and servers are neither required
nor en couraged to defeat firew all security using HTTP tunn eling or othe r
techniques. This implies that it will be necessary for ENICS system
administrators to explicitly allow firewall access to outside users on
spe ci fied por t s. It shall be p ossi b l e for an ENICS syst em admi nistrator to
configure the port number(s) used to contact enics servers. This does
not im ply t hat such config urati on ne cessar ily mu st be done on a se rve r
by server basis.
3.7.2 Attack methods
1.1.2
The following potential attacks sho uld be considere d in the design
of the ENICS software:
• Monitoring. A cracker could monitor the data stream in an
attem p t to fin d authorized user names and p a sswords. A utility
competitor could attempt to monitor the stream of meter reads
to determine which customers could be “cherry picked”.
9
Monitoring can be defeated through encryption of the data
stream, including any interactions in which passwords are
passed.
• Password guessing, d i ct i onary or e x h austive scan (particularly if
dr i ven by a computer pr og ram ) . Password choice rules plus the
use of a reasonably large salt (to complicate reverse dictionary
construction by an insider) should make this very difficult.
Note some part of the enforcement of good password choices
(e.g., don’t use your wife’s maide n name) must be addressed by
inter n a l utility p rocesses.
• A legitimate user attempts operations that he or she is not
authorized to perform. This is addressed by access control
permissions.
• A legitimate user attempts operations from a suspicious
location ( e.g., a disgruntled former empl oy ee wh o wa s a netw ork
adm in istr at or tr ies to shu t dow n t he In nova te c comm un icat ion s
network by deregistering all the meters from the gateways and
erasing them from the utility database from his home
computer). This is addressed using host identification in
addition to passwords. Note that internal utility processes are
responsible for making sure that only correct hosts are
identified as legitimate source s to the ENICS system.
• A computer cracker attempts to gain access to the ENICS
syste m by running an applet or application that claims to be a
standard ENICS applet. This is handled by keeping password
and host identification contained on the server (any
authentication containe d in a client would have been bypassed
because a re a l ENI C S clie n t isn’t being used).
• A computer cracker attempts to gain access to the ENICS
system by running an apple t or application that claims to be an
ENICS configuration server portal. This is handled by host
identification. The cracker may attempt to defeat host
identification by assigning his machine the same host address
as a legitimate ENICS server. This can be defeated by
configuring a firewall to refuse incoming packets from a host
that has the same address as an intern al ENICS server .
• A computer cra cker attempts to gain access to meter data and
some alarm configuration capability by running an applet or
application that claims to be a ENICS server that is set up for
external data distribution. This is handled using host
identification. The cracker may attempt to defeat host
identification by assigning his machine the same host address
as a legitimate machine that is the target for external data
distribution. This cannot be defeated using firewall
configuration, since external access for on-demand reads and
10
ala rm conf ig ura tion is ne ce ssar y. There is c urrently no effective
answer in these specifications for this form of attack. Ther e is no
potential for harm to the source utili ty databases or the Innovatec
communications network, how ever met er dat a t hat w as set up for
external data distribution could be monitored.
• A computer cracker runs a program that bombards the ENICS
syste m with ra nd om packe ts or bog us log in a tte m pts. By usin g
up the available bandwidth, access to the ENICS system by
legitimate users is prevented (i.e., a denial of service attack).
There is no way to automatically defeat this type of attack.
Rejects of improper access attempts to the ENICS system
should be log ged , includ ing t he host name of the sour ce of t he
attempt. Care should be taken that repeated illegal access
attem pt by the same source do not f ill up the logging data base.
This log will aid in tracking down the offe n d in g p arty .
3.7. 3 E xp or t restr ic tions
Some of the str ong cr yp togr a ph ic algorith ms that we plan to use to
protect data confidentiality are export restricted. This means that if an
ENICS system is deployed outside of the borders of the United States
that it may be necessar y to plug in a d ifferent set of weaker algorithms to
me e t exp ort r e str iction s. The sof tw ar e sha ll b e str uctur ed in such a wa y
that it is possible to easily produce an export version that uses different
cryptograp h ic algor ithms than the regular ENICS software.
3.8 Int ernationalization
There are no plans to export the ENICS software to non English
speaking countries. Internationalization of the ENICS servers,
applications or apple ts is not required.
3.9 F act ory/Depot/Inst allati on Work Flow
IMUs, relays and gateways are expected to follow a certain work
flow during their lifetimes, as shown in Figure 2Fig ure
IMUs, relays and gateways are assembled at the factory. At this
point IMUs and relays are assigned a Utility Serial Number (i.e., pin #)
and a ch an nel. Ga tewa ys sh ould h ave th eir W ANs act ivat ed , if possib le .
IMUs, relays and gat eways sh oul d be t este d via the R F and (i n the case of
gateways) via the WAN interface (see Gateway Node Noninvasive TestProcedure Specification). The tool used to perf orm these functions is the
Factory Commissionin g and Te st t ool .
IMUs, relays and gateways are manufactured in response to
projected demand, rather than for a specific utility order. Therefore, at
the factory utility serial numbers (i.e., pin numbers) are assigned
seq u entially, but not associa t ed w i t h any specific Inn ovatec cust omer.
2Figure 2.
11
IMU s, r elay s and gateways are forw arded to a utility de pot. At this
point they must be associated with a certain customer (for IMUs) or a
certain location and set of IMUs (for re l ays an d gatew a ys), the associ ati on
loaded into the network configuration database and work orders
generated and IMUs registered with their respective gateways. These
functions are preformed (directly or indirectly) using the Depot
Commissioning tool. In addition, th e units ma y be te sted again using the
Field Maintenance and Diagn osis tool.
Factory
Factory
Commisioning
& Test Tool
Figure 2: IMU, Relay and Gateway work flow
ENICS Server
IMU, Relay,
Gateway
Depot
Commisioning
Tool
Field
Maintai nence
& Diagnosis
Tool
Utility
Depot
IMU
(fa il e d or
reused)
Relay,
Gateway
(fa il e d or
reused)
IMU
Relay,
Gateway
Field Service
Application
Utility
Customer
Site
Field
Maintai nence
& Diagnosis
Tool
Field
Maintai nence
& Diagnosis
Tool
Gateway &
Relay Po le
Locations
Gateways and relays will move from the depot to their pole
locations. Gate ways and rela ys are installed and teste d using the Field
Maintenance and Diagnosis tool. Once gateways and relays have been
installed, the IMUs move from the depot to customer sites, where they
are installed, tested an d their installation in th e gateways verifie d using
the Fie ld Service Application tool.
At some point in their lives IMUs, relays or gateways may be
replaced due to suspected failure or other reasons. These units go back
to the depot. Suspected failures may be explored using the Field
Mainten a n ce a n d Diagnosis tool.
While both the depot commissioning tools and the network
configuration manager modify the network configuration database, the
depot comm issioning tool is limite d to filling in id (e.g ., IMU utility se rial
number) and address fields (e.g., WAN addresses) for units that have
already been entered into the network configuration database. This
12
imp lie s that a unit m ust have a lre ady b een adde d int o th e sy ste m by t he
ne twor k conf igura tion m anage r befor e the de pot comm issionin g too l can
be used to m odify its data, and that a n ull entry for certain fields must
be allowed in the network configuration database for IMUs, relays and
gatew a ys tha t are marked as not installed.
4 Der i ve d Requirements
Derived requirements are those that are driven by the primary
requirement s, but a re imposed on ou rselves.
1.14.1 Supported applications
For those applications whose user interfaces are implemented
using Java applets, designers/implementers should strive to keep the
applets sm all, and implement any heavy duty operations in the se rvers
rather th an in the applets themselves.
1.1.14.1.1 Supp or ted int er ac tive applications
Interactive applications are those whose functions are primarily
driven by an explicit user request, such as a mete r read or a request to
uploa d a da t abase from a fi eld service a pplica t i on.
The Innovatec utility server system implements services for the
following user visible applications. These “applications” are not
necessarily implemented as monolithic applications in the traditional
sen se, b u t t hey ap pear that wa y to end-users.
“Application”PurposeRequired server fun ctionality
Field Service
Application
Install, decommission,
swap, calibrate, and
test meters in the field.
The primary users are
field service people.
Operates on a field
service laptop or
handheld computer
that may be out of
communication with
the rest of the system
for long periods of time.
• Specify set of service orders for
a particular service person (or
service id ).
• Specify what is to be done for
ea ch service order.
• Allow basic IMU
communications parameter
configuration (e.g., set the
channel numbe r ).
• Perform basic tests of meter
communication.
• Check that nece ssary network
setup has been completed to
allow service order function to
pr oceed for a g i ven meter.
• Download service orders to
individual service laptops.
• Upload modified information
from in dividual service lapt ops
13
Field
Monitoring and
Diag nosis T ool
Factory
Commissioning
& Test tool
Depot
Commissioning
tool
Interactive
Meter Rea der
Monitors RF traffic.
Performs diagnostic
tests of meters, relays
and gateways.
Checks IMUs and
relays to make sure
they’re properly
programmed with the
correct Utility Serial
Number, produces
factory log, performs
noninvasive gateway
testing.
Connects specific IMU,
relay and gateway ids to
customer accounts and
locations. Permits
gateways, relays and
IMUs to be replaced
with identical units.
Query meter readings
and status interactive ly.
The primary users are
and integrate it into the
database s at th e utility end.
• Calibrate water meters
• Display all RF messages
received (should we allow for
filtering pa ra meters?)
• Invoke diagnostic tests for
IMUs, relays and gateways via
the RF inte rfa ce .
• Perform pings via the WAN
from a gateway to the utility
(for WAN problem diagnosis),
invoked via the RF interface?
• Checks IMUs and relays for
correctly programmed Utility
Serial Number and default
channel
• Performs noninvasive gateway
test.
• Genera t es fa ct ory log .
• If the meter supports an
internal record of factory
commissioning, update that
record once tests and
configuration have been
completed.
• Isolate particular
customer/meter
• Read meter
14
Network
configuration
manager
Alarm
configuration
manager
Network
Emulator
System
administration
tool
Event log
viewer
utility customer service
people.
Configure Innovatec
communications
network, perform
network diagnostics,
manage hardware and
software versions,
support field service
operations. The
primary users are
network maintainers at
the utility.
Configur e which alar ms
should be recognized
for spe cif ic IMUs.
Emulates an Innovatec
communications
network. Allows the
introduction of alarms
or fault condition s (e .g .,
WAN link goes down)
interactively. Primary
users are utility
trainers and Innovatec
sales people.
Allows a system
administrator to
view, configure
and control the
ENICS servers
and clie n ts.
Allows data in the event
log tables to be viewed.
• Query me ter status
• Inform user when result of
oper a tion is availa b le.
• View netw ork logically.
• Supply data relating to
characteristics of a
communication s path.
• Supply meter and gateway
statistics and logge d history.
• Set up service orders
• Integrate modified service
order data into databases.
• Activate/deactivate alarm
notification.
• Specify notification method
(e.g., on scr ee n, hip pager).
• Replaces the gateway server’s
gateway agent.
• Reads network configuration
from a network configuration
database.
• Displays logical view of the
network.
• Allows a trainer or sales
person to interactively
introduce alarms and fault
conditions.
• View server configuration
information
• View act i ve clients
• Sta rtup/shutdown se rvers and
clients
• Add new hosts to ENICS
system, add or rearrange
utility servers in ENICS
system.
• View load in g statistic s.
• Add or dele te users.
• Add or delete remote
redistribution servers.
• Filters events by type, date
and auxiliary characteristics
15
Network
Planning and
Layout t ool
Network
Planning
Database
converter
Allows archived event
log data to be vie wed .
Contains RF
propagation models
that allow an Innovatec
communications
network to be laid out
(e.g., site gateways and
relays given meter
locations, taking into
account RF propagation
characteristics).
Primary users are
network planners.
This tool will be b ought
rather tha n built.
Converts from the file
formats used by the
network planning and
layout tool and imports
the data into the
internal Innovatec
Network and Planning
database.
specific to the event type.
• Off the shelf tool will have its
own file forma t s and views.
•
1.1.24.1.2 Supp or ted aut onom ous app lications
An autonomous application is one that runs without significant
user inte rvention, such as the automatic hea lth m onitor .
ApplicationPurposeRequired server
functionality
Network exerc i s erT es t t he netwo rk
software and gateway
server, in house. The
primary users are
developers and te sters
Network health
monitor
Determines when an
element of the network
hasn’t been heard of in
some time. Pings
elements of the
network that may not
be responding.
• Accepts set of
messages and
tim ing fr om a scrip t
file.
• May be possible to
purchase this tool
rather th an build it.
• Ability to associate
IMUs with relays
and gateways.
• Ability to send ping
messages to the
communications
network.
16
ENICS He a lth MonitorPer iodically scans the
event log looking for
suspicious patterns of
activity, such as
multiple blocked login
attempts. Monitors
the internal health of
ENICS
processes/threads to
determine if a
malfunction has
occurred.
Message MonitorMoves journa led
sent/received
messages from the
gatew ay server into the
logging database for
subsequent use by
other a p p lications.
Logged Event PrunerDeletes data from the
logging database that
is older than some
configura ble maxim um
age. The data may
optionally be logged to
an external medium
such as CD-ROM or
tape, rather than
deleted.
Gateway Logged Event
Gatherer
Per iodically gather s up
the error and event
logs maintained in the
gateway nodes.
Alarm receiverActs when an alarm is
received.
Notified when an
internal ENICS
component wants to
raise an alarm.
• Ability to notify
users when
problems are
detected.
• Tells the alarm
receiver when a
suspicious pattern
of activity is
detected or a
malf unction occurs.
• Ability to access
record of all
messages sent and
received.
• Ability to do que rie s
and deletes on the
logging database .
•
• Ability to cause
alarm display
applet to be
updated.
• Ability to cause 3
rd
party devices (such
as hip pagers) to be
activated.
17
1.24.2 Supp orted Databases
While the general set of data present in the internal databases is
derived from the primary requirements, its partition into specific
dat abases is a hi gh le vel arch i t ectur e decision.
4.2.1 Inte rna l data bas e s
1.1.1
The utility server software shall support access to and
ma inte nance of the fol lowing inte rna l d atab ases, indepen den tly f or ea ch
utility suppor ted. The da tab ases referred to in th is se ction are abstract
entities introduced for the p ur p oses of re q uireme n ts an a lysis and w ill not
necessarily be implemented as databases in the sense of an JDBC (or
other protocol) database entity. Th e assignmen t of data to specific tables
and the assig nme nt of table s to specific datab ases will be done in pa rt in
the system architecture design a n d in part in the utility se rver design.
DatabaseRecord TypeItemComment
Network Co n figuration,
Network Planning
Gateway
Relay
Meter
Supported
WANs
Gateway-IMU
Gateway id
•
Gateway WAN Type
•
Hardware revision
•
number
Software revision
•
number
Operating system
•
revision numb er
Gateway application
•
(gw.zip) revision
number
Classes.zip revision
•
number
Patch file contents
•
and revision n umbers
Location information
•
Relay id
•
Relay hardware
•
revision numb er
Relay software
•
revision numb er
Location information
•
Utility Id (AKA utility
•
serial number, pin
number)
Meter type
•
Location information
•
Cali bra t ion F a ct or (for
•
water meters )
WAN type designation
•
WAN PIN numb er
•
Gateway id
•
Patch file
may be a
separate
record type
or even in a
separate
table.
Location
information
may include
lat, long,
elevation
and pole #.
Location
information
may include
lat, long,
elevation
and pole #.
Location
information
may include
lat, long,
elevation
and pole #.
18
association
information
Software/Hardware
version c omp atibility
Alarm configurationAlarm activity
LoggingKeeps track of
Use to keep
track of which
gateways,
relays and
meter versions
are compatible
with other
versions.
information
Alarm
notification
information
Notification
type record.
Typically
there’ll be one
of these for
every
notification
destination/des
tination type.
E.g., one for
each pager that
could be
notified that an
alarm has
arrived.
interesting
IMU id that is
•
registered with
gateway
Option relay id that
•
IMU is registered w i t h
•
IM U id
•
Alarm type
•
Alarm active or
•
inactive
Time of last activation
•
(or should this be an
alarm histo ry ?)
IM U id
•
Alarm type
•
Notification type
•
specification
Notificatio n ty pe
•
Device specific data
•
(e.g., PIN number for
a pager, display
device for on screen
notification)
Ti me event was logg ed
•
Event ty pe
•
This is
intended to
act as an
error
checking
mechanism.
This
database is
static from
the utilities
point of
view, and
would be
supplied by
Innovatec
each time a
new
gateway,
relay or IMU
version came
out.
The design
of this
19
events that
happen in the
system. This
includes but is
not restricted to
message
transmissions
and receptions.
Authorized usersKeeps track of
authorized user
names,
passwords and
authorized
hosts.
Authorized external data
distribution targets.
Extern data distribution
meter configuration table
External data distribution
targ et transac ti o n log
Field Service Application
Database
Application Configuration
Database
Keeps track of
other ENICS
servers to
which data may
be distributed.
Keeps track of
what alarms
and status are
available to an
external utility
and what
alarms may be
configured.
Keeps track of
the
transactions
performed by
an external
utility (e.g.,
number meter
reads) for
billing
purposes.
Keeps track of
work orders
that have been
generated or
uploaded
Keeps track of
user settable
options for the
various
applications
Auxiliary info rm ation
•
•
•
•
Meter utility id
•
Transaction type
•
Number transactions
•
•
Service order number
•
Installer
•
Open/close dates
•
IMU information
•
Customer information
•
IMU location
•
information
Time stamps for as
•
found/as left changes
Application Name
•
User n ame
•
database is
not likely to
be one
monolithic
table, as the
“auxiliary
information”
may be u se d
to do
lookups in
other tables.
It may ma ke
sense to
keep this
data in the
NT registry
20
(possibly on a
per user basis,
where that
makes sense).
on the
server.
However the
interface the
applets and
applications
see should
be t h r ou g h a
servan t.
4.3 Permissions
Access control permissions (or just permissions) in the ENICS
system apply to all applications (including both Java applications and
applets) that may be initiated outside of the server environment.
Application s that a re initiate d by and run un der the control of the ENI C S
server e nvironment (such as the ne twork health monitor) do not require
acce ss per missions. Access perm i ssi ons are a ssi gned out of t he availab le
options on a user by user basis.
Each application has three sets of permissions. The first “set”
determines whether a use r is allow ed to access the ENI CS se rver while
running a particular application. For example, a user may be granted
permission to run the Interactive Meter Reader, but not the Network
Configuration Manager. This is not a security measure, since the only
way the ENICS server has to know what application is being run is for
the application to tell it. Thus, this sort of permission won’t be able to
dete r a cracker who writes his or her own a pplication, b ut it will give the
system administrator control over who can run applications under
nor mal circumst ance s.
The second set controls access to the various database tables in
the system. An application may have read, modify and append
permission for a table . Append is a restricted type of write access that
allows an application to add new records to a table, but not to either
modify or read records that already exist. Modify access implies both
read and append access. For databases that contain information that is
associated with particular users, users may be granted permission to
read or modify data for themselves only or for all users.
The third set of permissions controls access to the
comm unicat ions n etw ork. The f irst a ccess pe rm ission is “ netw ork use ”.
This allows an app lication to inter act with the comm unications n etwor k.
If it is not set, then the application is not allowed to interact with the
communications server. The second network access perm ission is IMU
read/modify, which determine which type s of messages that can get or
set IMU information are allowed to be sent. The third network access
permission is network read/modify, which determines which messages
can be sent that may read information from or modify gateways and
rela ys. Please note that even a n application that ha s no explicit netw ork
21
access may invoke an operation that will cause the ENICS server to
acce ss t he n etwork.
1.34.4 COM Access
In order to support miscellaneous analysis and data gathering
capabilities, a COM interface to the ENICS business objects shall be
imple mente d. This will allow progra ms to be written in Visual Basic that
can retrieve information from the ENICS system. The COM interface
shal l be de sign in such a wa y tha t it sh all not b e possi ble to com pr om ise
ENICS se rver or Innovatec networ k comm u nications using the interfa ce.
A set of stand ar d V isual Basi c ap plica tion s should be im pl eme nt ed
for comm on ope ra tion s such a s ga the r ing rea ds fr om a pre def ine d gr oup
of meters and gathering time of use information. These standard
applications will serve to get Innovatec customer ’s star ted using the more
exotic functions of the system quickly and also server as examples for
Innovatec customer IT departments that wish to implement their own
data analysis programs.
4.5 Required Requirements
1.4
All application requirements documents shall include the following:
1. Startup
2. Shutdown
3. I/O interfaces, if any.
4. R equired services.
5. Behavior in the event of errors, including but not limited to
internal program errors, communications errors, database
acce ss errors a nd server a ccess errors.
6. Me chanism for notifying users when a problem is detected (e.g.,
dial og box, logged event).
7. W h ich events should be logged (e.g., significan t user actions).
4.6 Innovat ec Look and Feel
4.5
4.5.14.6.1 Plugg able Look an d Feel
All enics applications should implement the
com.innovatec.plaf.InnovatecLookAndFeel look and feel.
UIManager.setLookAndFeel( new InnovatecLookAndFeel() );
}
catch( Exception e ){}
}
22
1.1.24.6.2 Colors
4.5.2.14.6.2.1 Foreground/Text
Foreground colors should contrast extremely with the background.
Since most of our background colors ar e very light, la b els, and text areas
will have black foreground colors. Buttons on the othe r hand have very
dark b ackg rounds, so their text will nor mally be white.
1.1.1.2
image with different concept area. For example if there are two panels on
one screen that re prese nt different ide as, utility re cord and me ter status,
they shoul d be of diff eren t colors to ma ke th em easily distinguishab le.
blindne ss, images w ith d ifferent subtle te xtures should be used as we ll.
Images can be added by using com.innovatec.ui.BasicPanel instead of
JPanel, and setting the image through
BasicPanel.setBackgroundImage.
1.6
4.6.14.7.1 Keyboard
• Tab or Ctrl-Tab. Moves keyboard focus to the next component or to
• Shift- Ta b. Move s ke yboard f ocus to the previous component or to the
• Arrow keys. Moves keyboard focus within the individual components
4.6.2.2 Background
Backgr ounds for panels should be light and chang e in color and or
Since colors cannot be completely relied upon due to color
4.7 Navigation
In general, navigating between components follows these rules.
the fir st m em ber of t he ne xt gr oup of com pone n ts. U se Ct rl -Tab whe n
the component itself accepts tabs, as in text fields, tables, and tabbed
panes.
first comp onent i n the previous gr oup of com p onen t s.
of a gr oup of comp one nt s, f or e xam ple, with in men u item s in a me n u
or w i t hin r a dio buttons in a g roup of ra dio buttons.
Most of the keyboard navigation is taken care of by Java, some
changes in tab order may need to be implemented by specifying the
ne xt focusabl e comp onen t t o a component . This ca n b e a ccomplished
by JComponent.setNextFocusableComponent.
1.1.1.14.7.1.1 Mnemonics
Mnemonics are another keyboard alternative to the mouse.
Mnemon i cs can be used t o navigate menus.
Rule s of thumb fo r creating mnem onics:
1. If the mnemonic does not appear in the table of common
mn emon ics, choo se the f ir st le tter of the me nu it em. For in sta nce ,
choo se J for Justify.
23
2. If the first letter of the menu item conflicts with those of other
menus, choose a prominent consonant. For instance, the letter S
has already been designated as the mnemonic for the Style
command. Therefore, choose the letter Z as the mnemonic for the
Size command.
3. If the first letter of the menu item and the prominent consonant
conf l ict with t hose of oth er men u i t ems, choose a prominen t vowel.
Mnemon i cs ca n be set by AbstractButton.setMnemonic.
Mnemonics can also be added to any item with a label. This can
make it very easy to go directly to a component and add information.
A mnemonic can be added to a component via the label by
JLabel.setLabelFor and JLabel.setDisplayMnemonic.
1.1.1.2
should be cle arly labeled on the menu and or button for that command.
The same shortcut key cannot refer to different actions in the
application. Here is partial list of shor tcut keys and the ir pur p ose:
1.1.2
Specifically clicking once on an enabled button should cause that
buttons action to occur. Clicking once on an editable text component
should cause the text caret to be placed and put th e text comp onent in
insert mode.
4.7.1.2 Shortcuts
All com mon com ma nd s shou ld have a shor t cut k e y str oke s, these
Common Shortcut combinations include:
Ctrl-NNew (File Menu)
Ctrl-OOpen (File Me n u)
Ctrl-SS a ve (File Menu)
Ctrl-PP rint (File Men u)
Ctrl-FFind (Edit Menu)
Ctrl-ASelect All (Edit Menu)
F1Help
Ctrl-QExit Application
4.7.2 Mouse
A user can navigate through applications with the mouse.
4.8 Components
1.7
4.7.14.8.1 Primary W indows
A primary window is a window used as primary communication
with the user by the app lication. This is where th e user will re turn to in
order initiate differen t functionality. A Primar y Window shall consist of a
24
Titlebar giving the name of the application, frame, and what is being
done.
4.8.2 Secon dary W indows
1.1.2
4.7.2.14.8.2.1 Dialogs
Dial og s are small wind ows used t o concisely com municate with the
user.
1.1.1.24.8.2.2 Login Dialog
Prompt the user for login name and passwor d.
Use com.innovatec.ui.LoginDialog.
1.1.3
4.8.3 Plain Windows
4.7.3.14.8.3.1 Sp lash Screen s
A spla sh scr e en is a w in dow wit h no stan da rd win dow de cor ation s
(titlebar, close, minimize , maximize icons) that informs the user that the
software is loading and what exactly the program is.
A splash screen in ENICS shall consist of the Innovatec logo, an
image for the application, the application logo, version, and copyright
information.
25
1.1.44.8.4 A splash screen should be implemented using
com. in no vatec.u i. Jspl ash.
The appl icat ion n ame, version and copyr ight
information should appear on all spl as h s c r eens.Ap plets
Applets can be broken down into two types, simple and complex.
How an applet is displayed depends on what type of applet it is. A simple
applet would consist of one screen, no menus, no toolbars, no status bar.
This type of applet should be displayed within the br ow ser window and
should not add the confusion of creating anothe r frame.
A complex applet is one that needs to be interacted with from
another frame. A separate frame allows clear delineation between the
applet’s menus, toolbars, statusbar, and the browser’s equivalent. A
code snippet for a compl ex app l et’s f rame could look like this:
public void init(){
...
frame = new JFrame();
frame.getContentPane().add( panel );
...
}
public void start(){
...
frame.setVisible( true );
...
}
public void stop(){
...
frame.setVisible( false );
...
}
This will make the applet a non-visual comp onent, and the visual
components are added the frame itself.
1.1.54.8.5 Buttons
Buttons should be different colors from each other and the
background, colors can be repeated, but as far fr om a button of the same
color as possi ble.
1.1.1.1
4.8.5.1 Toolbars
Icons on toolbars will m a tch icons for buttons and or menus.
1.1.6
4.8.6 Menus
All command s availa b le should also be made available b y menu.
As much as pos sible all me nus shoul d have shor tcut key s and or
mn emonic a ssociat ed w ith the m. If a me nu shares funct ionalit y w ith a
button is should shar e the same la bel.
4.8.7 Statusbar
1.1.7
Small bar at the bottom used to convey information to the user.
The status bar should be use d be f ore a dialog box if at all possible. Error
26
me ssage s should b e in Re d. Succe ssful com ple tion sho uld be indi cated
with black.
For implementation use com.innovatec.ui.StatusBar.
1.1.84.8.8 Organizing
4.7.8.14.8.8.1 Group Boxes
Used to group like concepts. Group boxes should used sparingly
and group boxes w it hin group boxes should be avoid ed, they can becom e
conf using ve ry f ast and add ver y litt le to the organ ization of the scr een.
Instead of Group boxes consider having titles for areas, labels that
exten d slightly more left than the rest.
1.1.1.2
data that a re only tied together by a process.
4.8.8.2 Tabbed Panes
Tabbed panes are the pr eferred m ethod of br eaking large hunks of
5 Change Log
DateApplications/
Subsystems
Affected
5/17/99, Revision
0.2
5/17/99, Revision
0.2
Description of changes
Change d revision number to 0. 2 f rom
0.1.92
Remove action item f or authentication
of remote redistribution servers. It
was decided in requirements review
27
5/17/99, Revision
0.2
5/17/99, Revision
0.2
5/18/99, Revision
0.2
5/18/99, Revision
0.2
5/18/99, Revision
0.2
5/18/99, Revision
0.2
5/18/99, Revision
0.2
5/18/99, Revision
0.2
6/4/99, Revision
0.2
6/4/99, Revision
0.2
6/4/99, Revision
0.2
6/15/99 Revision
0.2
that host iden tification and the risks it
pre se n ts were tole r a b le and the w a y to
go.
Added meter model to physical assets
database.
Moved PIN number and calibration
factor data out of the specs for the
physical assets database and into the
network configur ation database.
Added logging for remote distribution
serve r applications.
Added alarm by alarm and meter by
meter configuration for remote data
distribution.
Added use of factory commissioning
signature in IMU for factory
commissioning tool if the meter
supp orts it.
Remove requirements for physical
display of Innovatec communications
network.
Updated shortcut keys: Changed Exit
Application from F4 to Ctrl-Q.
Assigned find to Ctrl-F and Paste to
Ctrl-V which is Windows standa rd.
Changed typo in Statusbar area that
said successf u l me ssag es sh ould be in
red, should be in black.
Add requirements for ENICS Health
monitor, add requirement for alarm
monitor to allow for server generated
alarms (in addition to alarm
messages).
Added requirements for COM
interface.
Add field service application database
to intern a l d ata b ase requir em ents.
Signoff complete
28
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.