Difference between revisions of "Org.simantics.databoard"

From Developer Documents
Jump to navigation Jump to search
m
m
 
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
Databoard is a communication library that addresses a number of real-time data management issues in
+
__NOTOC__
Simantics Platform.  
+
Databoard is a software library built upon a simple but well formulated and expressive type system. The design is a compromise of expression power, advanced functions, and performance. In contrast to XML's rich and uninhibited type system, databoard's simple and controlled model has enabled more practical features. Besides the norm features ''binary serialization'', ''human readable type and value notation'', ''network communication'', there are also more advanced features such ''class binding'', ''annotations'', ''recursion'', ''type conversion'', ''value conversions'', ''value comparisons'', ''variant types'' and ''random access''.
  
*There is a '''type system''' for defining simple and exact data types used in efficient data exchange. The design goals have been human readability, minimize ambiguity and errors in understanding. Engineering Units are included in the specification (e.g. SI-units vs. Imperial).
+
Databoard is simple and has low learning curve. No code generation - User classes.  
 +
<syntaxHighlight lang="java">
 +
    Rectangle2D rect = new Rectangle2D.Double();
 +
    Binding binding = Bindings.getBinding( rect.getClass() );
 +
    Serializer serializer = Binding.getSerializer( binding );
 +
    byte[] data = serializer.serialize(rect);
 +
</syntaxHighlight>
  
*There is an '''ASCII''' and '''binary serialization''' for human-to-computer and computer-to-computer communication.
+
See [[Databoard Tutorials]]
  
*There is a specification how to design '''data models''', a communication interface, and implementations for '''sharing, shadowing, persisting''' and exposing data models '''on wire'''.
+
=Trunk Development=
 +
(Requires Simantics Account)
 +
* [[Databoard Developer Manual|Java Developer Manual]] (0.6.2) ([http://dev.simantics.org/index.php?title=Databoard_Developer_Manual&action=pdfbook&format=single Download])
 +
* [[Databoard Specification]] (0.6.2) ([http://dev.simantics.org/index.php?title=Databoard_Specification&action=pdfbook&format=single Download])
 +
* [[svn:foundation/databoard/|SVN]] (0.6.2)
 +
* [https://www.simulationsite.net/svn/simantics/foundation/databoard/trunk/org.simantics.databoard/doc/changelog.txt Change Log].
 +
 
 +
=Download Releases=
  
*There are specialized data models for '''history recordings''', '''simulation experiments''', and '''data repositories'''.
+
===Version 0.6.5 (6.3.2012) ===
 +
* {{Rev|Databoard_Specification|1699|Databoard Specification 0.6.5}}
 +
* {{Rev|Databoard_Developer_Manual|1703|Databoard Developer manual 0.6.5}}
 +
* [[svn:foundation/databoard/tags/0.6.5|SVN 0.6.5]]
 +
* [[Licensing#Eclipse_Public_License|License]] (EPL v1.0)
 +
* Download Plain Old Java Objects Library (.jar)
 +
**[[Media:org.simantics.databoard-0.6.5.zip]] The release
 +
**[[Media:org.simantics.databoard-0.6.5.jar]] Library
 +
**[[Media:org.simantics.databoard-0.6.5_project.zip]] All project files
 +
**[[Media:org.simantics.databoard_0.6.5_src.zip]] Source library
 +
* Download Eclipse plug-in
 +
**[[Media:org.simantics.databoard_0.6.5.jar]] Eclipse plug-in
 +
**[[Media:org.simantics.databoard.source_0.6.5.jar]] Source plug-in
 +
**'''Dependency''' [[Media:trove-3.0.2.jar]]  Gnu Trove 3.0.2 [http://trove4j.sourceforge.net/]
 +
**'''Dependency''' [[Media:asm-3.2.jar]] ASM 3.2.2 (Recommended, but optional Dependency)
  
*There is a specified mechanism how to '''capture''' experiments and real-time data sources, and to '''store''' in recodings.
 
  
=Documents=
+
===Version 0.6.1 (25.1.2011) ===
* [[Databoard Specification]]
+
* {{Rev|Databoard_Specification|1699|Databoard Specification 0.6.1}}
* [[Databoard Developer Manual|Java Developer Manual]]
+
* {{Rev|Databoard_Developer_Manual|1703|Databoard Developer manual 0.6.1}}
* [[svn:foundation/databoard/|SVN]]
+
* [[svn:foundation/databoard/tags/0.6.1|SVN 0.6.1]]
* [https://www.simulationsite.net/svn/simantics/foundation/databoard/trunk/org.simantics.databoard/doc/changelog.txt Change Log].
+
* [[Licensing#Eclipse_Public_License|License]] (EPL v1.0)
 +
* Download Plain Old Java Objects Library (.jar)
 +
**[[Media:org.simantics.databoard-0.6.1.zip]] The release
 +
**[[Media:org.simantics.databoard-0.6.1.jar]] Library
 +
**[[Media:org.simantics.databoard-0.6.1_project.zip]] All project files
 +
**[[Media:org.simantics.databoard_0.6.1_src.zip]] Source library
 +
* Download Eclipse plug-in
 +
**[[Media:org.simantics.databoard_0.6.1.jar]] Eclipse plug-in
 +
**[[Media:org.simantics.databoard.source_0.6.1.jar]] Source plug-in
 +
**'''Dependency''' [[Media:gnu.trove2_2.0.4.jar]]  Gnu Trove 2.0.4 [http://trove4j.sourceforge.net/]
 +
**'''Dependency''' [[Media:org.objectweb.asm_3.1.0.v200803061910.jar]] ASM 3.1.0 (Optional Dependency)
 +
 
 +
 
 +
===Version 0.5.4 ===
 +
* {{Rev|Databoard_Specification|7665|Databoard Specification 0.5.4}}
 +
* {{Rev|databoard_dev|7669|Databoard Developer manual 0.5.4}}
 +
* [[svn:foundation/databoard/tags/0.5.4|SVN 0.5.4]]
 +
* [[Licensing#Eclipse_Public_License|License]] (EPL v1.0)
 +
* Download Plain Old Java Objects Library (.jar)
 +
**[[Media:org.simantics.databoard-0.5.4.zip]] The release
 +
**[[Media:org.simantics.databoard-0.5.4.jar]] Library
 +
**[[Media:org.simantics.databoard-0.5.4_project.zip]] All project files
 +
**[[Media:org.simantics.databoard_0.5.4_src.zip]] Source library
 +
* Download Eclipse plug-in
 +
**[[Media:org.simantics.databoard_0.5.4.jar]] Eclipse plug-in
 +
**[[Media:org.simantics.databoard.source_0.5.4.jar]] Source plug-in
 +
**'''Dependency''' [[Media:gnu.trove2_2.0.4.jar]]  Gnu Trove 2.0.4 [http://trove4j.sourceforge.net/]
 +
**'''Dependency''' [[Media:org.objectweb.asm_3.1.0.v200803061910.jar]] ASM 3.1.0 (Optional Dependency)
  
=Download=
 
  
===Release 0.5.2 ===
+
===Version 0.5.2 ===
 
* {{Rev|Databoard_Specification|7665|Databoard Specification 0.5.2}}
 
* {{Rev|Databoard_Specification|7665|Databoard Specification 0.5.2}}
 
* {{Rev|databoard_dev|7669|Databoard Developer manual 0.5.2}}
 
* {{Rev|databoard_dev|7669|Databoard Developer manual 0.5.2}}
 
* [[svn:foundation/databoard/tags/0.5.2|SVN 0.5.2]]
 
* [[svn:foundation/databoard/tags/0.5.2|SVN 0.5.2]]
* [http://www.eclipse.org/legal/epl-v10.html License] (EPL v1.0)
+
* [[Licensing#Eclipse_Public_License|License]] (EPL v1.0)
 
* Download Plain Old Java Objects Library (.jar)
 
* Download Plain Old Java Objects Library (.jar)
 
**[[Media:org.simantics.databoard-0.5.2.zip]] The release
 
**[[Media:org.simantics.databoard-0.5.2.zip]] The release
Line 30: Line 82:
 
**[[Media:org.simantics.databoard-0.5.2_project.zip]] All project files
 
**[[Media:org.simantics.databoard-0.5.2_project.zip]] All project files
 
**[[Media:org.simantics.databoard_0.5.2_src.zip]] Source library
 
**[[Media:org.simantics.databoard_0.5.2_src.zip]] Source library
* Download Eclipse plugin / OSGi bundle
+
* Download Eclipse plug-in
**[[Media:org.simantics.databoard_0.5.2.jar]] Eclipse/OSGi plugin/bundle.
+
**[[Media:org.simantics.databoard_0.5.2.jar]] Eclipse plug-in
**[[Media:org.simantics.databoard.source_0.5.2.jar]] Eclipse/OSGi source plugin/bundle.
+
**[[Media:org.simantics.databoard.source_0.5.2.jar]] Source plug-in
 
**'''Dependency''' [[Media:gnu.trove2_2.0.4.jar]]  Gnu Trove 2.0.4 [http://trove4j.sourceforge.net/]
 
**'''Dependency''' [[Media:gnu.trove2_2.0.4.jar]]  Gnu Trove 2.0.4 [http://trove4j.sourceforge.net/]
 
**'''Dependency''' [[Media:org.objectweb.asm_3.1.0.v200803061910.jar]] ASM 3.1.0 (Optional Dependency)
 
**'''Dependency''' [[Media:org.objectweb.asm_3.1.0.v200803061910.jar]] ASM 3.1.0 (Optional Dependency)
 +
 +
=Contact=
 +
* [[User:Toni Kalajainen|Toni Kalajainen]]

Latest revision as of 20:00, 6 March 2012

Databoard is a software library built upon a simple but well formulated and expressive type system. The design is a compromise of expression power, advanced functions, and performance. In contrast to XML's rich and uninhibited type system, databoard's simple and controlled model has enabled more practical features. Besides the norm features binary serialization, human readable type and value notation, network communication, there are also more advanced features such class binding, annotations, recursion, type conversion, value conversions, value comparisons, variant types and random access.

Databoard is simple and has low learning curve. No code generation - User classes. <syntaxHighlight lang="java">

   Rectangle2D rect = new Rectangle2D.Double();
   Binding binding = Bindings.getBinding( rect.getClass() );
   Serializer serializer = Binding.getSerializer( binding );
   byte[] data = serializer.serialize(rect);

</syntaxHighlight>

See Databoard Tutorials

Trunk Development

(Requires Simantics Account)

Download Releases

Version 0.6.5 (6.3.2012)


Version 0.6.1 (25.1.2011)


Version 0.5.4


Version 0.5.2

Contact