An IEEE 1451.0 TEDS With Open Source Software Components
An IEEE 1451.0 TEDS With Open Source Software Components
net/publication/273886898
CITATIONS READS
3 726
2 authors:
All content following this page was uploaded by Paul Celicourt on 23 March 2015.
Email address:
pcelico00@citymail.cuny.edu (P. Celicourt), mpiasecki@ccny.cuny.edu (M. Piasecki)
Abstract: This paper introduces a Graphical User Interface supported and platform-independent application to generate a
Transducer Electronic Data Sheet (TEDS) based on the IEEE 1451.0 standard using Python programming language. Compared
to other TEDS application development efforts, this application provides a help system that improves the usability as it requires
little familiarity with the IEEE 1451 standard. It is built on the Hierarchical Model-View-Controller software design architecture
to improve reusability and modularity, it is platform agnostic, light-weight and easy to install, it produces both binary and
Text-based TEDS, supports a large array of physical units used in the hydrology field and also incorporates sensor data
management provision. We have used the Consortium of Universities for the Advancement of Hydrologic Sciences, Inc.’s
Observations Data Model (CUAHSI ODM) as a test case to demonstrate how backend demands on data management can be
incorporated in front end applications such as the TEDS. We have tested the results of our application with examples provided in
the IEEE 1451.0 documentation, and both results show agreement.
Keywords: IEEE 1451, Transducer Electronic Data Sheet, CUAHSI’s Observations Data Model,
Automatic Data Management, Python, Low-Cost Sensor Network
1. Introduction
Implementing a sensor network requires, in most cases, the While offering substantial benefits, implementation of the
use of proprietary protocols and programming languages to IEEE 1451 standards, more importantly the TEDS for
configure sensors and loggers. When using different sensors traditional sensors and sensor platforms, remains a tedious
platforms the configuration task becomes more complex due task especially for practitioners with no or little background in
to the need of having to learn different proprietary data computer programming. Hence, the development of an
formats and protocols which constitute a bottleneck for the application that incorporates an intuitive Graphical User
expansion of sensor networks [1]. In response to this rising Interface (GUI) to generate the TEDS represents a critical step
complexity the Institute of Electrical and Electronics to both reduce work load and also to avoid mistakes as manual
Engineers (IEEE) have sponsored the development of the compilation has shown to be tedious and error prone [1, 4, 11,
IEEE 1451 standard [2, 25, 46] to introduce a common 12, 45, 55-57]. Multiple mistakes in manually assembling the
standard. This standard is a family of eight (8) (sub)standards, TEDS in addition to lack of knowledge of the IEEE 1451
as of the date of this writing, that provides the common standard have been reported in Rana et al. [11] where, for
interface and enabling technology for the connectivity of example, instead of providing the “Design operational upper
transducers to microprocessors, control and field networks, and lower measurement limits” for the temperature sensor
and data acquisition and instrumentation systems in a they use in their setup; they provide the operating temperature
plug-and-play fashion [2]. The standard puts forth the concept range for the Arduino board itself.
of a Transducer Electronic Data Sheet (TEDS) which plays the TEDS generators have been developed before; see [3, 5-10,
role of an identification card attached to smart transducers 44, 61-62]. A key aspect to evaluate most of these TEDS
enabling transducers self-identification, self-description, generators is their level of convenience vis-à-vis the user’s
self-diagnosis, self-calibration, and plug-and-play experience or expertise with this standard. In other words,
functionality. these applications require the users to know the intricate
2 Paul Celicourt and Michael Piasecki: An IEEE 1451.0-based Platform-Independent TEDS Creator using Open
Source Software Components
details and technical terms of the standard. Acquiring detailed SensorML [65-67]. None of these applications have an
knowledge of the standard however is a time consuming and interface or mechanism that would allow integration of
onerous task for one because it is an expansive standard, for controlled vocabularies such as the CUAHSI ODM [29]
another because it is filled with technical jargon. For example, Physical Units controlled vocabularies, which we seek to use
the TEDS generator in [6] requires the users to understand in the present application to improve on and ease the burden of
how physical units are represented in the TEDS and they have inserting correct units. Another important aspect that has been
to insert the proper and correct forms themselves, which has overlooked and omitted in TEDS applications is the fact that
shown to be a likely source of error in TEDS creation; see the IEEE 1451 is flexible enough to allow practitioners to
table 1 for more details. Additionally, these applications suffer store ancillary information (metadata) about the sensors data
from a general lack of controlled vocabularies to allow sensors values that in turn can be used to provide traceable heritage
data to be organized, cataloged and retrieved painlessly. For from raw measurements to usable information and be
example, in [3] temperature unit is “celsius” while in [6] it is unambiguously interpreted in the form of Text-based TEDS.
“DEGREE CELSIUS”. A somehow similar issue has been For this TEDS category, the IEEE 1451.0 documentation [12]
raised by Hu et al. [37] prompting them to develop ontology to only provides a suggestive model of the Text portion. Hence,
model terminologies defined in IEEE 1451.4 [63] and this TEDS category is not fully documented to be seamlessly
consequently, bridge the gap between IEEE 1451 and replicated.
Table 1. Summary of the existing TEDS editors characteristics.
common basis to enable interoperability between the other the data value octets describing the property of the entry.
members (named IEEE 1451.X). Within this interoperability There is an exception to this convention however; the User’s
philosophy, the IEEE 1451 standard defines a common set of Transducer Name TEDS, even when implemented as a binary
commands for setting up, accessing sensors and actuators TEDS, has the “TCName” user-dependent entry, a name to
connected in various physical configurations such as recognize the TIM that does to not follow the TLV rule. The
point-to-point, distributed multi-drop and wireless data block of the Text-based TEDS also ignores this
configurations as well as reading and writing the data used by convention. It is also worthwhile noting that not all of the
the system [13]. It defines the functions that are to be defined entries in any TEDS need to be included in the
performed by a transducer interface module (TIM) and the implemented TEDS information block. For example, the field
common characteristics for all devices that implement the indicating the time and date when a sensor was last calibrated
TIM. More importantly, it specifies the formats for the TEDSs can be omitted in the Calibration TEDS.
and defines a set of commands to facilitate the setup and The TEDS for smart sensors are typically stored and
control of the TIM. It also defines Application Programming shipped on a nonvolatile memory embedded in the sensor or
Interfaces (APIs) to facilitate communications with the TIM the TIM. However, the standard allows the TEDS to be stored
and with applications through a network link. As this paper is in other places within the user’s system; in this case they are
concerned with the IEEE 1451.0 member only, the bolts and known as Virtual TEDS. These permit traditional analog
nuts of the IEEE 1451 family of standards are not explained sensors to also enjoy the benefits of TEDS without needing to
here. Further details can be found in [2] and [13]. be retrofitted with an embedded nonvolatile memory. This is
achieved by generating and storing the TEDS on the sensor
platform or downloading it from an online repository managed
by the sensor manufacturer. Once implemented and loaded to
the TIM or somewhere within the system a copy of each
TEDS is transferred to the NCAP; this action utilizes the
TEDS information to help identify which TIMs are attached to
it and further identify which transducers are attached to a TIM
[16].
Figure 1. Smart Transducer model (a) vs IEEE 1451 Smart Transducer Model
(b).
3. TEDS Background
The IEEE 1451.0 defines 16 TEDS types [46] divided in
Figure 2. IEEE 1451.0 TEDS types and their categorization.
two general categories based on the content of the TEDS
information block and can accommodate a wide range of
potential sensors and actuators. These are: the Binary TEDS 4. Application Design Principles
which are divided into two sub-categories, Required and
Optional TEDS; and the Text-based TEDS which are all The TEDS generator is built upon the following key design
Optional TEDS. However, the exceptions to the rule are the principles:
Optional Manufacturer-defined and End User’s Application 4.1. Minimal Dependency on Python’s Non-Native Package
Specific TEDS which can be either a Text-based or Binary
TEDS the choice of which is left up to the user’s discretion. Our application has been developed in Python, an
Fig. 2 depicts the division of the IEEE 1451.0 TEDS. interpreted, interactive, and object-oriented programming
The IEEE 1451.0 format for binary TEDS consists of three language. It is built using primarily python’s built-in packages
major blocks: the Length block specifying the number of to make installation and utilization as easy and convenient as
octets in the information block and the checksum, the possible. This design principle allows the application to be as
Information block (a series of ordered entries) and the light-weight as possible in terms of memory usage and also
Checksum block to verify data integrity. In addition, each permits it to run on resource constrained devices like the
entry in the information block uses the Time-Length-Value Raspberry Pi. Moreover, because the application is developed
(TLV) format where T is an octet representing the entry in Python it is platform agnostic which means that it is able to
number, L represents the number of octets in the V, and V is run common platforms such as Windows, Mac OS, Linux,
4 Paul Celicourt and Michael Piasecki: An IEEE 1451.0-based Platform-Independent TEDS Creator using Open
Source Software Components
TEDS. In addition, if the IEEE standard is subject to some the TEDS structure model with only, if at all, minimal changes
future revisions, the same method can be used without needed in the View and Controller classes.
modification to accommodate new entries by simply updating
Figure 4. Example of the TEDS model used as a helper to create the TEDS.
References [16] J., Wiczer & K., Lee (2005). ‘A Unifying Standard for
Interfacing Transducers to Networks–IEEE 1451.0. In
[1] J., Higuera, J., Polo, & M., Gasulla (2009). A ZigBee wireless Proceedings of ISA Conference, Chicago, IL.
sensor network compliant with the IEEE 1451 standard. In
Proceedings of the IEEE Sensors Applications Symposium. [17] G. E., Krasner & S. T., Pope, “A cookbook for using the
model-view-controller user interface paradigm in smalltalk-80,”
[2] K., Lee (2000). IEEE 1451: A standard in support of smart J. Object Oriented Program., vol. 1, no. 3, pp. 26–49, Aug.
transducer networking. In Instrumentation and Measurement 1988.
Technology Conference, 2000. IMTC 2000. Proceedings of the
17th IEEE (Vol. 2, pp. 525-528). IEEE. [18] T., Reenskaug (2003). The Model-View-Controller (MVC): Its
Past and Present. [Online] Draft of August 20, 2003. Accessed
[3] Liu, W. (2006). Design of teds writer, reader and testing system January 15th, 2015.
for transducer interface modules based on the ieee 1451 http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/MVC_patt
standard. State University of New York at Buffalo. ern.pdf
[4] D., Wobschall (2007). IEEE 1451—a universal transducer [19] T., Reenskaug (2007). The original MVC reports. [Online]
protocol standard. In Autotestcon, 2007 IEEE (pp. 359-363). February 12, 2007. Accessed January 15th, 2015.
IEEE. http://heim.ifi.uio.no/~trygver/2007/MVC_Originals.pdf
[5] L., Cámara, O., Ruiz, & J., Samitier (2000). Complete [20] J., Deacon (2009). Model-view-controller (mvc) architecture.
IEEE-1451 node, STIM and NCAP, implemented for a CAN Online][Citado em: 10 de março de 2006.]
network. In Instrumentation and Measurement Technology http://www.jdl.co.uk/briefings/MVC.pdf
Conference, 2000. IMTC 2000. Proceedings of the 17th IEEE
(Vol. 2, pp. 541-545). IEEE. [21] A., Bower & B., McGlashan (2000). Twisting the triad: the
evolution of the Dolphin Samlltalk MVP application
[6] S., Manda & D., Gurkan (2009). IEEE 1451.0 compatible framework. Tutorial Paper for ESUG, 2000.
TEDS creation using. NET framework. In Sensors
Applications Symposium, 2009. SAS 2009. IEEE (pp. [22] S., Burbeck (1987). Applications Programming in
281-286). IEEE. Smalltalk-80(TM): How to use Model-View-Controller (MVC).
Accessed January 15th, 2015.
[7] J., Guevara, F., Barrero, E., Vargas, J., Becerra, & S. Toral
(2012). Environmental wireless sensor network for road traffic [23] M., Fowler (2006). GUI Architectures. [online]
applications. IET Intelligent Transport Systems, 6(2), 177-186. martinfowler.com. Available at:
http://martinfowler.com/eaaDev/uiArchs.html [Accessed 16
[8] D., Markovic, U., Pesovic, & S., Randic (2012)"TEDS Jan. 2015].
specification for IEEE 1451.0 smart Transducer,"
Telecommunications Forum (TELFOR), 2012 20th, vol., no., [24] T., Reenskaug (1979). Models - Views - Controllers. Technical
pp.1532, 1535, 20-22 Nov. 2012. note, Xerox PARC.
[9] N., Kularatna & B. H., Sudantha (2008). An environmental air [25] K. B., Lee (2014). Smart Transducer Interface Standard for
pollution monitoring system based on the IEEE 1451 standard Sensors and Actuators. Industrial Communication Technology
for low cost requirements. Sensors Journal, IEEE, 8(4), Handbook, Second Edition. Aug. 2014, 1 -17.
415-422.
[26] R. E., Johnson & B., Foote (1988). Designing reusable classes.
[10] Jevtic, N., & Drndarevic, V. (2013). Design and Journal of object-oriented programming, 1(2), 22-35.
implementation of plug-and-play analog resistance temperature
sensor. Metrology and Measurement Systems, 20(4), 565-580. [27] D. G., Tarboton, J. S., Horsburgh & D. R., Maidment (2007).
CUAHSI community Observations Data Model (ODM)
[11] R., Rana, N., Bergmann, & J., Trevathan (2011). Towards version 1.1 design specifications.
plug-and-play functionality in low-cost sensor network. In
Intelligent Sensors, Sensor Networks and Information [28] J. S., Horsburgh & D. G., Tarboton (2008). CUAHSI
Processing (ISSNIP), 2011 Seventh International Conference Community Observations Data Model (ODM) Version 1.1. 1
on (pp. 265-270). IEEE. Design Specifications.
[12] IEEE Standard for a Smart Transducer Interface for Sensors [29] J. S., Horsburgh & D. G., Tarboton, D. R., Maidment & I.,
and Actuators – Common Functions, Communication Zaslavsky (2008). “A relational model for environmental and
Protocols, and Transducer Electronic Data Sheet (TEDS) water resources data.”, Water Resources Research, Vol. 44
Formats, IEEE Standard 1451.0-2007. (2008).
[13] E. Y., Song & K., Lee (2008). Understanding IEEE [30] M., Stonebraker & U., Cetintemel (2005). “One Size Fits All:
1451-Networked smart transducer interface standard-What is a An Idea Whose Time has Come and Gone”. In Proceedings of
smart transducer?. Instrumentation & Measurement Magazine, the International Conference on Data Engineering (ICDE),
IEEE, 11(2), 11-17. 2005.
[14] W., Elmenreich, & S., Pitzek (2003). Smart [31] Cai, J., Kapila, R. and Pal, G. (2000). HMVC: The layered
transducers-principles, communications, and configuration. na. pattern for developing strong client tiers. [online] Available at:
http://www.javaworld.com/article/2076128/design-patterns/h
[15] S., Woods et al. (1996). “IEEE-P1451.2 Smart Transducer mvc--the-layered-pattern-for-developing-strong-client-tiers.ht
Interface Module,” Proceedings Sensors Expo Philadelphia, pp. ml [Accessed 17 Jan. 2015].
10 Paul Celicourt and Michael Piasecki: An IEEE 1451.0-based Platform-Independent TEDS Creator using Open
Source Software Components
[32] B., Cogan (2010). HMVC: an Introduction and Application - [45] T. A. dos Santos Filho, A. C. R. da Silva, A. Luiz, A. Nogueira,
Tuts+ Code Tutorial. [online] Code Tuts+. Available at: S. R. Rossi, E. A. Batista (2010). Descricao Dos Teds Para O
http://code.tutsplus.com/tutorials/hvmc-an-introduction-and-a Controle De Motores De Passo Em Conformidade Com Do
pplication--net-11850 [Accessed 17 Jan. 2015]. Padrao IEEE 1451. [online]
http://www.eletrica.ufpr.br/anais/cba/2010/Artigos/65581_1.p
[33] W., Crow (2012). Hierarchical Model-View-Controller df [Accessed 01-29-2015]
(HMVC): Planning for the Future. [online] Available at:
http://somethingstatic.com/hierarchical-model-view-controller [46] K. Lee, A Smart Transducer Interface Standard for Sensors and
-planning-future/ [Accessed 17 Jan. 2015]. Actuators, The Industrial Information Technology Handbook,
Zurawski R. (Ed.), CRC Press, Boca Raton, FL, 2004
[34] B., Hamilton (1996). A compact representation of units.
Hewlett-Packard Laboratories, Technical Publications [47] Ilyas, M., & Mahgoub, I. (Eds.). (2004). Handbook of sensor
Department. networks: compact wireless and wired sensing systems. CRC
press.
[35] A., Thompson and B. N., Taylor (2008), Guide for the Use of
the International System of Units (SI) NIST Special Publication [48] National Instruments, (2006). Sensor Calibration with TEDS
811, 2008 Edition (version 3.0). [Online] Available: Technology. [online] Available at:
http://physics.nist.gov/SP811 [Saturday, 24-Jan-2015 22:46:15 http://www.ni.com/white-paper/4043/en/ [Accessed 29 Jan.
EST]. National Institute of Standards and Technology, 2015].
Gaithersburg, MD.
[49] N. Rappin and R. Dunn, wxPython in action. Greenwich, Conn.:
[36] G. S., Novak (1995). Conversion of units of measurement. Manning, 2006.
Software Engineering, IEEE Transactions on, 21(8), 651-661.
[50] M. Summerfield, Rapid GUI programming with Python and Qt.
[37] Hu, P., Robinson, R., & Indulska, J. (2007). Sensor standards: Upper Saddle River, NJ: Prentice Hall, 2008.
Overview and experiences. In Proceedings of the 3rd
[51] Sasine, J. M., & Toal, R. J. (1995, November). Implementing
International Conference on Intelligent Sensors, Sensor
Networks and Information Processing ISSNIP’07. the model-view-controller paradigm in Ada 95. In Proceedings
of the conference on TRI-Ada'95: Ada's role in global markets:
[38] R. L., Oostdyk, C. T., Mata & J. M., Perotti (2006). A Kennedy solutions for a changing complex world (pp. 202-211). ACM.
Space Center implementation of IEEE 1451 networked smart
[52] A. Kumar, V. Srivastava, M. Singh and G. Hancke, 'Current
sensors and lessons learned. In Aerospace Conference, 2006
Status of the IEEE 1451 Standard Based Sensor Applications',
IEEE (pp. 20-pp). IEEE.
IEEE Sensors Journal, pp. 1-1, 2014.
[39] Zaslavsky, I., Valentine, D., Maidment, D., Tarboton, D. G.,
[53] Fadzil, M. H., Abas, M. A., & Hakiim, A. K. (2010, April).
Whiteaker, T., Hooper, R., & Rodriguez, M. (2009). The Development of Environmental Monitoring Data Management
evolution of the CUAHSI Water Markup Language (WaterML).
System using OSS Python. InProceeding of the International
In EGU General Assembly Conference Abstracts (Vol. 11, p.
Conference on Electrical and Computer Engineering.
6824).
[54] Freescale Semiconductor (2010). 'Integrated Silicon Pressure
[40] Valentine, D., Zaslavsky, I., Whitenack, T., & Maidment, D. R. Sensor On-Chip Signal Conditioned, Temperature
(2007). Design and implementation of CUAHSI WATERML Compensated and Calibrated', 2010. [Online]. Available:
and WaterOneFlow Web services. In Proceedings of the http://cache.freescale.com/files/sensors/doc/data_sheet/MPX5
Geoinformatics 2007 Conference, San Diego, California (pp. 050.pdf. [Accessed: 04- Feb- 2015].
5-3).
[55] Kamala, J. and Umamaheswari, B. “IEEE 1451.0-2007
[41] Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). compatible smart sensor readout with error compensation using
Design patterns: elements of reusable object-oriented software. FPGA”, International Journal of Sensors and Transducers, Vol.
Pearson Education. 102, Issue 3, pp. 10-21, 2009 (Elsevier Publishers).
[42] J. Sadler, S. Bolster, D. Ames and E. Nelson (2013). [56] R. J. Costa, G. R. Alves, and M. Zenha-Rela, “Extending the
Internationalizing HydroServer - Multilingual Support for IEEE 1451.0 Std. to serve distributed weblab architectures,“ in
Water Data Sharing. In: CUAHSI conference on 1st Experiment@ International Conference (exp.at’11),
Hydroinformatics and Modeling. [online] Available at: Calouste Gulbenkian Foundation, Lisboa-Portugal, 2011.
https://www.cuahsi.org/PageFiles/2013PosterAbstracts.pdf
[Accessed 25 Jan. 2015]. [57] G. Giorgi and C. Narduzzi, “Instrumentation electronic data
sheets: IEEE 1451-like extension to measuring
[43] D. G. Tarboton, J. S. Horsburgh, D. R. Maidment, T. Whiteaker, systems,“ Instrumentation and Measurement Technology
I. Zaslavsky, M. Piasecki, J. Goodall, D. Valentine, and T. Conference (I2MTC), 2012 IEEE International, 2012.
Whitenack, "Development of a community hydrologic
information system," in 18th World IMACS Congress and [58] Almoradie, A., Popescu, I., Jonoski, A., & Solomatine, D.
MODSIM09 International Congress on Modelling and (2013). Web Based Access to Water Related Data Using OGC
Simulation, 2009, pp. 988-994. WaterML 2.0. Specialissue, 3(3).
doi:10.14569/specialissue.2013.030310
[44] Barrero, F., Toral, S., Vargas, M., & Becerra, J. (2012).
Networked Electronic Equipments Using the IEEE 1451 [59] P. Taylor, S. Cox, G. Walker, D. Valentine and P. Sheahan,
Standard—VisioWay: A Case Study in the ITS Area. 'WaterML2.0: development of an open standard for
International Journal Of Distributed Sensor Networks, 2012, hydrological time-series data exchange', Journal of
1-12. doi:10.1155/2012/467124 Hydroinformatics, vol. 16, no. 2, p. 425, 2014.
International Journal of Sensors and Sensor Networks 2015; 3(1): 1-11 11
[60] Akyildiz, I. F., Su, W., Sankarasubramaniam, Y., & Cayirci, E. [64] Eccles, L. (1999). IEEE-1451.2 Engineering Units Conversion
(2002). Wireless sensor networks: a survey. Computer Algorithm. Sensors Magazine, [online] (Volume 16, No. 5).
networks, 38(4), 393-422. Available at:
http://archives.sensorsmag.com/articles/0599/0599_p107/inde
[61] D., Wobschall (2008). Networked sensor monitoring using the x.htm [Accessed 30 Jan. 2015].
universal IEEE 1451 standard. Instrumentation &
Measurement Magazine, IEEE, 11(2), 18-22. [65] Botts, M. (2002). Sensor Model Language (SensorML) for
In-situ and Remote Sensors IPR. OpenGIS Project Document.
[62] Ma, A. Cherian and D. Wobschall, 'IEEE 1451 Development
Kit Description', Esensors Inc., 2013. [Online]. Available: [66] Reichardt, M. (2005). Sensor web enablement: An OGC white
http://eesensors.com/media/wysiwyg/pdf/1451_manual.pdf. paper. Open Geospatial Consortium (OCG).
[Accessed: 12- Feb- 2015].
[67] M. Botts and L. McKee, 'A Sensor Model Language: Moving
[63] IEEE Standard 1451.4 (2004) IEEE Standard for a Smart Sensor Data onto the Internet | Sensors', Sensors Magazine,
Transducer Interface for Sensors and Actuators: Mixed-Mode 2003. [Online]. Available:
Communication Protocols and Transducer Electronic Data http://www.sensorsmag.com/networking-communications/a-se
Sheet (TEDS) Formats, IEEE Standard 1451.4-2004. nsor-model-language-moving-sensor-data-internet-967.
[Accessed: 14- Feb- 2015].