.15926 Editor  is in open source now. It was developed by TechInvestLab since 2010. The .15926 Editor is more a Platform now than exactly an Editor. The Editor is only one of applications that was built on top of that Platform.

You can get the code of the 1.5beta version from the repository at https://github.com/TechInvestLab/dot15926.git by downloading the archive or cloning the repository using Git client. Instructions to start the software and the list of required Python packages are in the project wiki https://github.com/TechInvestLab/dot15926/wiki/Starting-the-software—Dependencies .

The code is licensed under the GNU Lesser General Public License version 3 https://www.gnu.org/licenses/lgpl.html . Thus the Platform can be used as a part of a proprietary or commercial product. Of course we’ll welcome more contributors, please ask for commiter’s rights to the repository.

Compiled versions are available from http://techinvestlab.ru/dot15926Editor . Both stable 1.43 and experimental 1.5beta versions can be downloaded.


INCOSE Russian chapter have recommended at its 99th regular meeting 28-Jan-2015 publishing of a product “Towards a Systems Engineering Essence”, written  by me. Actual version of it you can always find in science preprint repository arXive: http://arxiv.org/abs/1502.00121.

Special thanks to Harold “Bud” Lawson who greatly help with ideas, commenting and even editing of the paper. Without him this first English language product from our chapter would have been impossible.

SEMAT/OMG Essence provides a powerful Language and a Kernel for describing software development processes. How can it be tweaked to apply it to systems engineering methods description? We must harmonize Essence and various systems engineering standards in order to provide a more formal system approach to obtaining a Systems Engineering Essence. In this paper, an approach of using Essence for systems engineering is presented. In this approach we partly modified a Kernel only within engineering solution area of concerns and completely preserved Language as an excellent situational method engineering foundation.

System Modeling Language

July 14, 2014

SysMoLan is a system modeling language that differ from already known SysML, Modelica, AADL, system dynamics, etc. It:

  • fact-oriented (not object-oriented). Like ArchiMate, not SysML
  • have strong support of system thinking (concepts of system, module and interfaces, component and links, allocation, stakeholders, etc.)
  • ontology-based (think about ISO 15926 and 4D dimensionalism)
  • pattern-based (query language inside)
  • will be using ideas from OMG Essence, ISO 81346, ISO 42010, etc.

SysMoLan is a hot topic in INCOSE Russian chapter. TechInvestLab is experimenting in providing a tool support for it.

I created a special website devoted to SysMoLan development: http://sysmolan.org

Today TechInvestLab released version 1.4 of .15926 Editor. You can take this freeware here: http://techinvestlab.ru/dot15926Editor

There were 1351 issues closed since version 1.31 that was published almost 6 months ago. Main focus of this release was simplicity of usage. We have two main features here:

1. Spreadsheet (MS Excel) adapter. Its target data model is described with patterns using available reference data (classes and templates). Mapping from spreadsheet data model (column structure) to patterns is established in a convenient table interface, and adapter transforms spreadsheet data to ISO 15926 compliant RDF. Data processing capabilities of MS Excel allow to work with the complicated data base exports (e.g. with formulae), smoothly bringing relational/table data to Semantic Web domain.

2. From this release several data verification tests are built in the Editor. Basic compliance to data model restrictions (as defined by Part 2 and template definitions) is verified for relational entities. Typing and classification verification is implemented across the project, to facilitate this disjointness and membership restriction inheritance was inferred for Part 2 type tree.

Other improvements are numerous. Enhancing in usability include local URI search, new pattern-based “engineering” data view, built-in UUID support for data entities created in the Editor, and direct access to UUID generator. It is now much easier to work on complex data projects with project-wide property and module name management. The Editor can read Turtle files now. Documentation was rearranged into several volumes for ease of use, and complete Russian interface is now included in the Editor to demonstrate its potential for localization.”

We already started work on version 1.5 to add web-framework Flask (http://flask.pocoo.org/) to the Editor. We pan to demonstrate new mapping functionality of the Editor 1.4, together with our solution for Linked Data of not released yet alfa version 1.5  at the 29th March of 2014 Hakathon Event of Ontology Summit. Our project is «Reference data for Anime and Manga: Semantic Linking and Publushing of Diverse Data-Sets» (see it in overall international Hackathon project list here: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2014_Hackathon).

Today TechInvestLab released version 1.3 of .15926 Editor. You can take this freeware here: http://techinvestlab.ru/dot15926Editor

There were 181 issues closed since version 1.2 that was published almost 7 months ago. This version is a huge step from research to industrial  grade software: more compliance to semantic web and ISO 15926 standards, performance boost up to 5 times, completeness of software documentation, brand new user interface. There was not too many crashes in previous versions but new release appear even more robust. We know that previous versions was used in multiple research and prototype projects and hope that version 1.3 can be used in industrial applications.

I am glad that among a dozen ISO 15926 related software our .15926 Editor have multiple unique features. E.g. we support structural diff/merge that is needed for ontology configuration management (aka ontology evolution). There are not too much semantic web software packages can do it but .15926 Editor can provide it to ISO 15926 data in addition to common RDF/OWL files. If needed it can be adapted to other kinds of ontology formats. Here is example of diff/merge view:


Work with this structural diff/merge is very similar to work with review of some kind of Office: approve one change, approve another, than undo second approval, then approve a couple of other differences. This is Office-like editing with review mode and undo-redo with not-Office-like type of data. Then we can program on the fly approval of all 23678 changes in Python console (e.g. approve only those that fit to some kind of condition). Bonus to diff/merge feature is a possibility to send only diff instead of huge full ISO 15926 file (e.g. diff between 2 versions of PCA RDL).

We plan that this uniqueness of .15926 Editor will be developing towards “most smart” ISO 15926 software. Patterns support is already one of the best in this emerging software class. Right now you can define your patterns in Python but soon it will be possible with plain RDF. “Pattern recognition” is always was term from artificial intelligence domain. While we have now only “pattern matching” in our architecture understandable where we can add pattern recognition algorithm. Slowly we approaching more intellectual processing in every version.

Computer is not only video cam and audio recorder, not only blog syndication supporting device. Computer can and should think. AI investment bubble already starting and will be greater than internet bubble. .15926 Editor is TechInvestLab’s pass to this smart future.

Big data and deep learning are very breakthrough technologies but both need thoroughly modeled data to begin with. And after of statistical analysis stage it should be theory formation. Civilization is progressed with formalisms, not correlations. .15926 Editor is a development in this formal logic direction but with close attention to traditional numeric analisys (scientific software). Python is the language of choice for scientific computing now. .15926 Editor is capable to perform classical ontological and classical numerical processing. Hope we will find customer that need such a work. We are ready to perform it.

Main new features of this .15926 Editor 1.3 release are:

  • Change management for semantic data: comparison of data sources, building of a structural diff, change review and acceptance. This is just a starting point to change and configuration management processes for reference and project data which can be supported on .15926 Platform.
  • Smart copy, cut and paste – context-aware entity and property transfer between data sources and easy transfer of text data to other applications.
  • Greatly improved work with template definitions. We’ve often received complaints that the Editor can not work with data sources containing both template definitions and class reference data. The Editor was also restricting access to templates on RDF level, hiding from user all complexities of OWL class structure and properties. Now restrictions for work with template definitions are removed. We’ve introduced uniform opening of data sources, search for template definitions in all data sources (local or SPARQL), and supported arbitrary relationships and properties for templates.
  •  Improved restriction enforcement for specialized templates.

Other interesting new features include:

  • Speed increase up to 5 times for loading of big data sources. Work with files compressed by GZIP without unpacking.
  • SPARQL queries to remote endpoints are available through Editor’s console and incorporated in SearchLan for use in scripts and extensions.
  • User-control of UUID prefix in URI generator.
  • Menu optimized for work with multiple projects and many data sources, including shortcuts to recently opened projects and sources. File handling is improved with direct drag-n-drop to the Project from Windows environment. Access to documentation from menu.
  • National language localization started, Russian interface included (incomplete). We’re ready to collaborate on other languages!

And we are proud to announce migration to a new interface library (Python Qt) resulting in a new look and feel of the program and opening possibilities for future interface development. Enjoy new interface of the program, including extended set of data entity icons for better visualization of ontology.

.15926 Editor v.1.2 released!

February 22, 2013

Yesterday we (TechInvestLab) released .15926 Editor version 1.2. We position it as software environment for ISO 15926 that is like Protege for ordinary OWL ontologies. You may download it here (it is freeware): http://techinvestlab.ru/dot15926Editor

Main feature of this version is user-defined patterns. You can define your own patterns which are now multi-role and may have several options, and use them in search queries. Our test “dictionary” implementation supports patterns for many possible areas of use: template expansion/contraction, pattern modelling, pattern mapping, etc. Predefined pattern set and documentation contain examples of patterns from JORD mapping methodology and from IIP project of iRING User Group. This is how you can define e.g. “classification” pattern:

'name': 'Classification',
'signature': {'classifier': 'is classified by', 'classified': 'is classifier of',
'classofclassifier': 'is class of member', 'classofmember': 'is class of classifier'},
'options': [ 
    {'type': p7tpl.ClassificationOfIndividual,          'classifier': 'hasClass',           'classified': 'hasIndividual'},
    {'type': p7tpl.ClassificationOfClass,               'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': p7tpl.ClassificationOfRelationship,        'classifier': 'hasRelation',        'classified': 'hasPair'},
    {'type': p7tpl.ClassificationOfClassOfIndividual,   'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': p7tpl.ClassificationOfClassOfRelationship, 'classifier': 'hasClassClassifier', 'classified': 'hasClass'},
    {'type': part2.ClassOfClassification, 'classofmember': 'hasClassOfClassified', 'classofclassifier': 'hasClassOfClassifier'},
    {'type': p7tpl.ClassOfClassification, 'classofmember': 'hasClassOfClassified', 'classofclassifier': 'hasClassOfClassifier'},

    {'name':       'ClassificationTemplate',    
    'type':        p7tpl.Classification,
                        'classifier':  'hasClassifier',
                        'classified':  'hasClassified',
                        'expansion':       'ClassificationTemplAxiom'},

                        {'name'  : 'ClassificationTemplAxiom',
        'type' : part2.Classification, 
        'classifier' : 'hasClassifier', 
        'classified' : 'hasClassified',}

Here is a screenshot of “out of the box” example patterns visualisation for pump from JORD RDL:


We now have new level of compliance to ISO 15926-8 requirements for RDF/OWL template format. But we still can read multiple non-compiant data, and this reading not constrained only to OWL files. Open-source extension for import of template definitions from Excel table used to populate iRING Tools software is included. And you can add extensions for you favorite data formats, this is only easier since previous version (we have more in our API for extensions development).

Also registration and creation of custom object properties for non-standard representation of relationships is allowed and their visualization is improved (the Editor can now be used as a
general-purpose RDF/XML editing software if need arises, with allowing search and editing by all object and data properties at RDF level). Find you “ordinary OWL ontology” in  http://swoogle.umbc.edu/ and open it with .15926 Editor! Or open biology ontology from http://obofoundry.org in next pane to JORD RDL to work on something like “heart properties of a pump” or vice versa 🙂

We plan to use this version in ontology hackaton/clinic during Ontology Summit 2013. We are registered for participation (http://ontolog.cim3.net/file/work/OntologySummit2013/2013-02-21_OntologySummit2013_Synthesis-I/OntologySummit2013_hackathon-clinics-approach–MikeDean-PeterYim_20130221.pdf) with our russian-speaking community (announce in Russian: http://dot15926.livejournal.com/40280.html).

In the release version 1.2 we closed 53 issues and there was not so many bugs among them. We implemented many new features that not mentioned in this post.

We actively used GitHub.com for software development, not only for configuration management with Git but also for issue tracking with web-based issue tracker of GitHub. We have distributed software development team that resides in Moscow and Saint-Petersburg. Now we want to add in next version 1.3 of our .15926 Editor a set of GitHub-enabled collaborative ontology engineering features (commit to Git, version control with diff function for ontology, issue tracking).

.15926 Editor v.1.1 is here!

November 19, 2012

Today was released .15926 Editor v.1.1, feature release of our ISO 15926 ontology platform (take this freeware here: http://techinvestlab.ru/dot15926Editor).

Main feature of this release is extensively documented API for developing of ISO 15926 mapping adapters (“extensions”, think of plug-ins) according to iRING architecture “ISO 15926 outside”. There are several samples of such an adapters for different file formats (.xlsx, JSON, .txt with example of creation new type of editable view panel within user-defined extension). This extensions can be not only importers and exporters, editors and browsers of different formats. Same API can be used to extend .15926 Editor with validators, reasoners, natural language processors and other “semantic” and “classic AI” stuff. This is rather serious software, documentation for version 1.1 have more than 150 pages.

Software have Python 2.7 REPL with dynamic importing of Python modules (e.g. you can say “import nltk” and have all the power of NLTK software and data along with ISO 15926 ontology programming). We support “exploratory programming” methodology that is mean emphasizing programming and scripting languages over point-and-click interfaces. One of first usage of this feature from 3rd party developers is generation of Python snippets for ISO 15926 visual diagrams with DiagramDesigner of Roman Riabenko. This snippets in .15926 Editor produce valid Part 8 RDF/OWL file that correspond to graph diagram. Download ISO 15926 DiagramDesigner version (alpha) from http://yadi.sk/d/KdFdMAQ50Bql9 and full English documentation from http://yadi.sk/d/bqI3C5zG0HxEN.

We also published small amount of reference data that needed for our samples and examples in TechInvestLab.ru RDL sandbox SPARQL endpoint (http://rdl.techinvestlab.ru:8891/sparql) . Link to our public RDL was added to menu with other known to us ISO 15926-compliant RDLs.

We have better packaging, i.e. Windows installer and update checker to users not miss our next releases.

Sure, there are numerous interface improvements and bug-fixes.

Now we have plans to strengthen work with ISO 15926 patterns in the next release of .15926 Editor. Our software will be smarter.


We at TechInvestLab have experience of introducing of ISO 15926 to general public (not professional ontologists) in self-education mode. It required very special reading sequence (in Russian this is in more details at http://dot15926.livejournal.com/27293.html):   

 I. Theory for general understanding.   

 1. Read a book of Chris Partridge “Business Objects: Re-Engineering for Re-Use” http://www.borosolutions.co.uk/research/content/files/books/BusObj-Printed-20050531-with-watermark.pdf/at_download/file (while this book has no references to ISO 15926 or any other language or software or standard). This is mandatory reading for all beginners. In Russian we have video about 4D vs 3D ontology that we recommend as addition for 7th Chapter of this book. Try to find something equal to support 4D understanding (it is very tricky).   

 2. Only then you should read “An Introduction to ISO 15926” issued by FIATECH consortium — http://fiatech.org/images/stories/techprojects/project_deliverables/iso-intro-ver1.pdf

3. Then you should read first part of book of Matthew West “Developing High Quality Data Models”: http://www.amazon.com/Developing-High-Quality-Data-Models/dp/0123751063 (second part of this book is HQDM specific data model, you need not to read it. First part is mandatory).  

4. Read thesis of Andries van Renssen “Gellish. A Generic Extensible Ontological Language”: http://repository.tudelft.nl/assets/uuid:de26132b-6f03-41b9-b882-c74b7e34a07d/its_renssen_20050914.pdf This is also not about ISO 15926 and not even 4D but there are many interesting things about relations and table format. Take ideas about table data representation and usage of ontology in engineering.  Take no ontology from this book (except very good set of relations).   

This is about 1200 pages (about 4 month for 4 hours/day or reading).   

Many people stops here. This is general education in engineering approach to ontology.   

II. Now you are ready to mastering knowledge of ISO 15926 as a standard.   

1. Read ISO 15926 Part 2 (this is upper ontology, 201 type of entities). 241 pages.   

2. Read 47 pages of draft of ISO 15926 Part 6 (RDL management).

3. Take  .15926 Editor (freeware, http://techinvestlab.ru/dot15926Editor) . Have fun browsing PCA RDL (about 2.7mln triples for near 50000 concepts like “centrifugal pump” — you can prefer do it online from SPARQL endpoint or load from OWL file that take about 1 minute 20 second on a notebook with our Editor). Spend not too much time for this. This is like reading Encyclopedia, only to get understanding.    

4. Read ISO 15926 Part 7 (templates in logic language Plan 9), 126 pages and Part 8 (templates in OWL). 

5. Now try to see examples from http://15926.info/ — now you have a chance to understand it. We have several examples of engineering data in .15926 Editor samples directory. See also sample diagrams on http://techinvestlab.ru/iso15926_sample_diagrams. Up to this moment you will find multiple examples from different sources.

6. Read “ISO 15926 outside” methodology for reference data engineering: http://techinvestlab.ru/files/RefDataEng/RefDataEngr_ver_2_25feb11.doc — 18 pages.    

7. Subscribe for community “ISO 15926” in LinkedIn and read discussions. Read http://iringug.org (implementations hub) and news at http://iringtoday.com.   

This is about 500 pages and many diagrams to understand. 2 month.

Most of people stops here. If you are not scared, proceed to real thing.   

III. Now you are ready to do you first ISO 15926 systems federation project.

Join somebody with ISO 15926 experience to supervise you modeling activity and tool chain mastering (e.g. TechInvestLab with .15926 Platform tool chain).

Welcome to the ontology-based systems federation community of practice! You have “yellow belt” qualification at this point.

After 3 year you will have “black belt” master level and can participate at Modeling Meeting of POCSCaesar Association.

This is valid for general public while for more experienced developers this self-education sequence can be passed really fast!

TechInvestLab.ru made release of .15926 Editor v1.0 as a freeware. The Editor is intended to become for ISO 15926 data what Protégé became for OWL data – a primary free tool for data exploration and creation. It can be downloaded here: http://techinvestlab.ru/dot15926Editor

.15926 Editor is one of realizations of iRING architecture (http://iringtoday.com/). This is first ISO 15926 software that  included voluntary JORD requirements Compliance Report in its documentation.

With .15926 Editor v1.0 you can
•    Browse ISO 15926-2 upper ontology and use it in three different namespaces:  JORD/PCA RDL, legacy RDS/WIP or ISO 15926-8.
•    Search and navigate all public ISO 15926 SPARQL-endpoints,
… or any other ISO 15926 endpoint you like, with authorization capabilities,
… including search for legacy RDS/WIP identifiers.
•    Search, navigate and edit reference data files distributed publicly, including ISO 15926-4, JORD/PCA RDL and ISO 15926-8 templates,
… or any other ISO 15926 files you like.
•    Create from scratch your own reference classes and templates (or project data including template instances),
… in forms ready for file exchange or upload to triple store,
… generating URI in your namespaces using UUID compliant with RFC 4122 / ITU-T X.667 / ISO/IEC 9834-8,
•    Build complex data project from local files and endpoints, bringing reference data, template definitions and project data together for integrated navigation and verification, customizing namespaces and meta-data attributes.
•    Design and run intricate semantic queries or whole data mining and data verification algorithms for ISO 15926 data,
… using the power of Python general purpose programming language through full-featured REPL environment,
… and accessing APIs of various .15926 Platform components to read, analyze and change reference and project data.
•    Visualize broad set of predefined data patterns and search for patterns in your data.
•    Make conversion of reference and project data from TabLan.15926 data description tables (.xlsx) to ISO 15926.
•    Import reference data from JSON files created by engineering catalog application (third party).
•    Explore (with somewhat limited capabilities) large datasets of non ISO 15926 data,
… OpenCYC knowledge base, for example.

This is how .15926 Editor recognize and show ontology patterns in JORD reference data library:

Most of the contemporary ontology-related applications suppose point-and-click interface, but .15926 Editor combine easy multi-window mouse clicking with the power of interactive text-based Python query exploration and creation of ISO 15926 data. Assume you have a need to send an email to a colleague with designations of all reference data entities on JORD RDL which are instances of Scale and have “celsius” in their labels. It can be done with this script in Python console of .15926 Editor:

outfile = file(‘scales_celsius.txt’, ‘w’)

scales=find(type=part2.Scale, label=icontains(‘celsius’))

for entity in scales:

    designations=find(id=entity, hasDesignation=out)

    for property in designations:

       outfile.write(entity+’ : ‘+property+’\n’)


Results will be in scales_celsius.txt file in the main program folder.

Or let’s analyze patterns of data in RDL to identify all possible instances of the p7tpl template ClassOfCauseOfBeginningOfClassOfIndividual and form list of possible signatures in a separate file. Run the following script:

outfile = file(‘COCOBOCOI_sign.txt’, ‘w’)

begun=find(type=part2.ClassOfCauseOfBeginningOfClassOfIndividual, hasClassOfBegun=out)

for elem1 in begun:

    causer=find(hasClassOfBegun=elem1, hasClassOfCauser=out)

    for elem2 in causer:



and look for COCOBOCOI_sign.txt  file in the main program folder.

The Editor as an example of .15926 Platform application is not designed to support any particular data integration workflow for specific engineering life cycle processes. Specific applications that take care of diversity of specific CAD/CAM/PLM/ERP/EAM/CRM/etc. data format and support needed format-specific Readers and Writers should be built on .15926 Platform with usage of it semantic graph Builder API (for Readers) and semantic graph Scanner API (for Scanners) that supported by the Platform. Mapping components are integrated in .15926 Platform environment as Python modules, with possibility to access external or internal pattern mapping descriptions and direct access to APIs of source/target data bases.

Russian and English language community for .15926 discussions now have more than 100 subscribers: http://dot15926.livejournal.com/

Slides of my presentation on Ontology Summit 2012 session on System Integration and Federation (http://ontolog.cim3.net/cgi-bin/wiki.pl?ConferenceCall_2012_03_01):

Actually I was co-chaired the session, along with Cory Casanave. Me and Cory also champions of the Summit System Integration and Federation Track. This was very interesting experience.

Ontology Summit is an organized thinking machine that work from January to April every year to brain-storm one of a topic of interest for ontology engineering community. Ontology Summit producing a special artifact: Communique with results of the brain-storming and discussion. One more outcome is synchronization of understanding of the topic of interest by ontology engineering community, but this outcome is intangible.

Summit Communique will be endorsed by Summit participants and broader community and then will be open published on a website (past Communiques: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit) and in “Applied Ontology” journal, the premier journal in the field of Formal Ontology for information systems. Communique has co-lead Editors and track champions as editors. Producing of Communique as a final stage of year’s Summit is a main task of Summit participants meeting in person for 2 days long “Workshop and Symposium” in USA (at a NIST place). Workshop and Symposium at NIST place has possibility of virtual presence (it is “virtureal”) of those participants that cannot be present in person. This symposium has co-chairs. Ontology Summit has general co-chairs.

Year’s topic is decomposed to 3-7 facets/aspects that intensively discussed separately. Such a facet is called “track”. Summit tracks discussion is facilitated by Track Champions and have wiki page “Track Synthesis” as a main outcome artifact. Track Synthesis page (for our Track this is http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2012_SystemsFederationIntegration_Synthesis)  is edited by track champions on a basis of:

Track champions also serve as co-editors for Communique that will comprise of major ideas of Track Synthesis pages of all Tracks.

General Summit co-chairs is responsible for thematic integrity of all Tracks and Workshop and Symposia to provide needed scrutiny to Summit topic.

Every track have one or more online 2-hours Sessions that is comprised of 3-6 short slide presentations on track topics, group chat and Q&A session with a panel of presenters. Audio, slides, chat transcripts and survey results will be published and used by track champions to prepare Track Synthesis. Every separate Session usually have two co-chairs. Session co-chairs are responsible for inviting leading experts on relevant areas relevant to the session topic as speakers, and facilitation of chat and moderate discussion among the panelists and other session participants.

Overall process leads by Organizing Committee that comprised of track champions, workshop and symposium co-chairs, lead co-editors, general Summit co-chairs. Also Organizing Committee has representatives of current six Ontology Summit organizers (Ontolog, NIST, NCOR, NCBO, IAOA, NCO_NITRD) and PR champion.

All the logistics and overall organizing work in “virtual” part of Summit (i.e. tracks and virtual part of Workshop and Symposium) is coordinated by a designate from the Ontolog Forum that acting on behalf and for Organizing Committee. The same organization/logistics function for real part of Workshop and Symposium is similarly provided by a coordinator designated by NIST.

Thus ideas on current Summit topic flow from

  • Ontology Summit discussion list to
  • Track Sessions presentations, panel discussion and chat; surveys and polls, Delphi study to
  • Track Input pages (for all Sessions and surveys) to
  • Track Synthesis pages to
  • Workshop and Symposia final discussions to
  • publishable Communique of a Summit.