.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.