Difference between revisions of "Simantics Developer Documentation"

From Developer Documents
Jump to navigation Jump to search
m (Reverted edits by Tuukka Lehtonen (talk) to last revision by Toni Kalajainen)
 
(76 intermediate revisions by 8 users not shown)
Line 2: Line 2:
 
[[image:Simantics_logo_pile_01.png|right|border|400px]]
 
[[image:Simantics_logo_pile_01.png|right|border|400px]]
  
'''Simantics''' is a software platform for modelling and simulation. The system has client-server architecture with a semantic ontology-based modelling database and Eclipse framework -based client software with plug-in interface. The Simantics platform and many of its components are open source under Eclipse Public License (EPL).
+
'''Simantics''' is a software platform for modelling and simulation. The system has client-server architecture with a semantic ontology-based modelling database and Eclipse framework -based client software with plug-in interface. The Simantics platform and many of its components are open source under [http://www.eclipse.org/legal/epl-v10.html Eclipse Public License (EPL)].
  
 
The philosophy of the Simantics platform is to offer an open, high level application platform on which different computational tools can be easily integrated to form a common environment for modelling and simulation. The platform includes several modelling tools, so-called editors, for e.g. 2D graph-like hierarchical model composition and semantic graph browsing.
 
The philosophy of the Simantics platform is to offer an open, high level application platform on which different computational tools can be easily integrated to form a common environment for modelling and simulation. The platform includes several modelling tools, so-called editors, for e.g. 2D graph-like hierarchical model composition and semantic graph browsing.
Line 11: Line 11:
  
 
This ''Simantics Developer Documentation'' is targeted to programmers and software developers developing either the platform itself or additional plug-ins to be used with or on the platform. The [[userwiki:Main_Page|Simantics End User Documentation]] complements to documentation for the Simantics platform offering overview and detailed information about the platform from the user's point of view. The [https://www.simantics.org/simantics Simantics] website is the source of information for the Simantics project and related subjects[[Tutorials|.]]
 
This ''Simantics Developer Documentation'' is targeted to programmers and software developers developing either the platform itself or additional plug-ins to be used with or on the platform. The [[userwiki:Main_Page|Simantics End User Documentation]] complements to documentation for the Simantics platform offering overview and detailed information about the platform from the user's point of view. The [https://www.simantics.org/simantics Simantics] website is the source of information for the Simantics project and related subjects[[Tutorials|.]]
 +
<div style="color:white;">Disclaimer Warning: This site may cause narcolepsia in some readers. Consult your doctor if sensitive to boredom.</div>
  
  
Line 16: Line 17:
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 
=== Overview ===
 
=== Overview ===
 +
 +
* [[Glossary]]
 
* [[Introduction to Simantics Architecture]]
 
* [[Introduction to Simantics Architecture]]
 
* [[Roadmap]]
 
* [[Roadmap]]
 
* [[Data View]]
 
* [[Data View]]
 
* [[Component View]]
 
* [[Component View]]
* [[Plugins|Plugins]]
 
 
* [[Licensing|Licensing]]
 
* [[Licensing|Licensing]]
 
* [[Useful Links]]
 
* [[Useful Links]]
 +
<!--* [[Simantics Specifications|Specifications]]-->
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Miscellaneous Documents ===
 
=== Miscellaneous Documents ===
* [[Development Environment Setup Guide]]
+
 
 +
* [[Quick Development Environment Setup|Quick Development Environment Setup Guide]]
 
* [[Target Platform]]
 
* [[Target Platform]]
 
* [[Development Practices]]
 
* [[Development Practices]]
* [[Internalization]]
+
* [[Internationalization]]
 
* [[Update Site]]
 
* [[Update Site]]
 
* [[Coding Convention]]
 
* [[Coding Convention]]
 +
* [[Tools]]
 +
* [[Testing]]
 +
* [[FAQ]]
 +
* [[Migration To Git]]
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
=== ===
+
 
 
|}
 
|}
  
Line 40: Line 49:
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Ontology Development ===
 
=== Ontology Development ===
 +
 
* [[:Media:Layer0.pdf|Layer0.pdf]] ([[:File:Layer0.pdf|log]])
 
* [[:Media:Layer0.pdf|Layer0.pdf]] ([[:File:Layer0.pdf|log]])
* [[Graph Compiler|Graph Compiler]]
+
* [[Graph Compiler]]
* [[Transferable Graph|Transferable Graph]]
+
* [[Transferable Graph]]
* [[Graph File Format|Graph File Format]]
+
* [[Binary Container Format]]
 +
* [[Graph File Format]]
 
* [[Version Migration]]
 
* [[Version Migration]]
 
* [[Tutorial: Ontology Development]]
 
* [[Tutorial: Ontology Development]]
 +
* [[Check list: Model browser contributions]]
 +
* [[XML Schema Conversion]]
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
  
 
=== Database Development ===
 
=== Database Development ===
*[[Tutorial: Quickstart]]
 
*[[Tutorial: Database Development]]
 
  
* [[Team Features]]
+
* [[Interface summary]]
 +
* [[Tutorial: Quickstart]]
 +
* [[Tutorial: Database Development]]
 
* [[Resource Adaptation]]
 
* [[Resource Adaptation]]
* [[Undo and Redo]]
+
* [[Resource Serialization]]
 
* [[Inverse Relations]]
 
* [[Inverse Relations]]
* [[Resource Serialization]]
+
* [[Virtual Graphs]]
 +
* [[Functions]]
 +
* [[Procedural Values]]
 +
* [[Variable]]
 +
* [[Undo Mechanism]]
 +
* [[Team Features]]
 
* [[Subgraph Extents]]
 
* [[Subgraph Extents]]
 +
* [[Database Testing]]
 +
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
  
 
=== Data management & Experiment Control ===
 
=== Data management & Experiment Control ===
 +
 
* [[Databoard Specification]]
 
* [[Databoard Specification]]
 
* [[Databoard Developer Manual|Databoard Java Manual]]
 
* [[Databoard Developer Manual|Databoard Java Manual]]
* [[Databoard_Specification#History_Contract|History]]
+
* [[Experiment Control]]
 
* [[Dataflows]]
 
* [[Dataflows]]
* [[Task protocol]]
 
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
  
 
=== UI Development ===
 
=== UI Development ===
 +
 
* [[Org.simantics.browsing.ui_Manual|Browser Manual]]
 
* [[Org.simantics.browsing.ui_Manual|Browser Manual]]
* [[org.simantics.browsing.ui|Browser Component]]
+
* [[org.simantics.browsing.ui.feature|Browser Component]]
 +
* [[Org.simantics.scenegraph.loader|Scene Graph Loader]]
 
* [[Org.simantics.message|Messages]]
 
* [[Org.simantics.message|Messages]]
 +
* [[Org.simantics.views|Modelled Views]]
 +
* [[Org.simantics.document|Documents]]
 +
* [[Selection View]]
 
|}
 
|}
 
{|width="100%"
 
{|width="100%"
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Simantics Constraint Language===
 
=== Simantics Constraint Language===
* [[SCL_Language|SCL Language]]
+
 
* [[Org.simantics.scl_Compiler|SCL Compiler]]
+
* [http://www.simantics.org/~niemisto/Introduction%20to%20SCL.pptx Introduction to SCL]
* [[Org.simantics.scl_Tutorial|SCL Tutorial]]
+
* [[SCL Compiler]]
 +
* [[SCL Tutorial]]
 +
* [[SCL Types]]
 +
<!--* [[SCL_Language|SCL Language]] -->
 +
<!--* [https://www.simantics.org/wiki/index.php/Org.simantics.scl_Compiler SCL Compiler]-->
 
* [[Org.simantics.objmap_Manual|Object Map Manual]]
 
* [[Org.simantics.objmap_Manual|Object Map Manual]]
 +
* [[SCL Registry]]
 +
* [https://www.simantics.org/download/master/scldoc SCL Reference]
 +
<!--
 +
* [http://www.simantics.org/~niemisto/Transformations.pdf Transformation language specification]
 +
* [http://www.simantics.org/~niemisto/Transformations_2015_01_23.pdf Transformation language presentation]
 +
* [http://www.simantics.org/~niemisto/CHRGuide.html CHR Guide]
 +
-->
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Model Development ===
 
=== Model Development ===
 +
 
* [[Structural Ontology]]
 
* [[Structural Ontology]]
 +
* [[Users and Roles]]
 
* [[Models]]
 
* [[Models]]
*[[Tutorial: Model Development]]
+
* [[Concept Versioning]]
 +
* [[Component Identification]]
 +
* [[Tutorial: Model Development]]
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Project Development ===
 
=== Project Development ===
 +
 
* [[Project Management Conceptual Model]]
 
* [[Project Management Conceptual Model]]
 
* [[Project Development]]
 
* [[Project Development]]
Line 98: Line 143:
  
 
|width="25%" valign="top"|
 
|width="25%" valign="top"|
 +
 
=== Diagram Development ===
 
=== Diagram Development ===
*[[2D Ontologies]]
+
 
*[[org.simantics.diagram|Diagram]]
+
* [[2D Ontologies]]
*[[org.simantics.scenegraph|Scenegraph]]
+
* [[org.simantics.diagram|Diagram]]
*[[Diagram connections]]
+
* [[org.simantics.scenegraph|Scene graph]]
*[[Tutorial: Diagram Development]]
+
* [[Diagram connections]]
 +
* [[Tutorial: Diagram Development]]
 +
 
 +
|}
 +
{|width="100%"
 +
|width="25%" valign="top"|
 +
 
 +
=== Issue Development ===
 +
 
 +
* [[Issue subsystem general description]]
 +
 
 +
|width="25%" valign="top"|
 +
 
 +
=== Utilities ===
 +
 
 +
* [[Simantics Generic File Import]]
 +
* [[Logging in Simantics Platform]]
  
 
|}
 
|}
  
 
-----
 
-----

Latest revision as of 12:42, 7 May 2019

Simantics logo pile 01.png

Simantics is a software platform for modelling and simulation. The system has client-server architecture with a semantic ontology-based modelling database and Eclipse framework -based client software with plug-in interface. The Simantics platform and many of its components are open source under Eclipse Public License (EPL).

The philosophy of the Simantics platform is to offer an open, high level application platform on which different computational tools can be easily integrated to form a common environment for modelling and simulation. The platform includes several modelling tools, so-called editors, for e.g. 2D graph-like hierarchical model composition and semantic graph browsing.

One of the biggest innovations in the Simantics platform is the semantic modelling approach itself and high-level ontology tools. The semantic database, i.e. triplestore, on the server side enables high performance data management and arbitrary mappings of data. This enables e.g. efficient mapping of simulation and measurement data to the model configuration and its visualisation.

The Simantics development and maintenance process is built to be solid and scalable from the very beginning. The objective is to aim far to the future what comes to requirements for scalability, usability, and reliability.

This Simantics Developer Documentation is targeted to programmers and software developers developing either the platform itself or additional plug-ins to be used with or on the platform. The Simantics End User Documentation complements to documentation for the Simantics platform offering overview and detailed information about the platform from the user's point of view. The Simantics website is the source of information for the Simantics project and related subjects.

Disclaimer Warning: This site may cause narcolepsia in some readers. Consult your doctor if sensitive to boredom.


Overview

Miscellaneous Documents

Ontology Development

Database Development


Data management & Experiment Control

UI Development

Simantics Constraint Language

Model Development

Project Development

Diagram Development

Issue Development

Utilities