CosmoVision (Canada) Ltd. (formerly 4215494 Canada Ltd.) is consulting and software development company that specializes in the development of software for SCADA, control, modeling, monitoring and mixed applications. We have been in business since 2003. During the past four years our company has developed new system design technology (M2C Technology - Modeling, Monitoring and Control), which is successfully implemented in several commercial applications. M2C technology roots in the the experience that our team has accumulated over the years of development of control systems for Space launch operations and for related areas of software engineering. This technology is implemented in the VisCMSE design environment, which was already used to design data fusion applications for Earth Observation. VisCMSE however is a universal design environment, and has already been used to design the system integration software for Distributed Control Systems (including power generation), Process Control Automation, Environment Monitoring, Disaster Management, and many other applications. Use of VisCMSE cuts design time and cost very significantly, and essentially increases the reliability of the system design.

About Technology Software Contact News For Start-Ups




Process Control







and Change





Live Web


     M2C Technology Principles

Downloadable brochure
The 2MB brochure includes
technology details and operation


The M2C technology "as is" was developed during 2002 - 2004 with support of the inter-government European Union - USA - Canada Science and Technology Center in Ukraine. The foundations of it however root into design principles for ground component of the space launch operations, which were developed for commercial space launch projects of 1990s, and in the earlier developments in Space guidance and control systems. The M2C technology relies on strictly modular design of the system, controlled object-to-object interface and includes several unique copyrighted software solutions and algorithms. It is implemented in object-oriented Java-2 software, and may be licensed to the user. The details of the M2C technology may be released upon exchange of non-disclosure / non-competition legal instruments.

On the user side however it had demonstrated approximately 5-fold increase of productivity in developing modeling, monitoring and control applications, 2-3 times expanding of the usual set of options available to the user, and considerable increase of the software reliability. During the 2004 verification testing the model application was running without restart from May 15, 2004, till September 19, 2004, and was finally terminated by the user.

M2C technology is implemented by the VisCMSE* (Visual Monitoring, Modeling and Control Environment) software, which takes user step-by-step through creation of the specific application. After the creation process is completed, the user receives turn-key ready software application, which has pre-defined set of the standard features, and is designed specifically for addressing the user's needs. The commonality between M2C applications that are developed for different users is limited to common system architecture principles and to use of the similar utility programs.  The set of configuration options for the monitoring, modeling and control applications that use M2C technology is very broad and customizable.


Monitoring, modeling and control application, which is developed using M2C Builder* is built as a layered system of interacting objects that are linked by peer-to-peer interaction, and is designed to handle asynchronous stream(s) of external events. It interacts with the "outside world" trough device drivers, which have to be designed to comply with very relaxed requirements, and have in fact to be able to ingest and produce alphanumeric input and output parameters.  The user is able to override the input/output setting, to switch from external driver data feed to manual data input or modeled data stream and to explore "what if" scenarios to support decision-making process.

The system may be re-configured "on the go" (without restart), by adding or removing the individual objects, adding or removing peer-to-peer data exchange links, by establishing loop-back links and by re-configuring the objects that form the system. Objects that form the system may bear in fact unlimited internal complexity and may include sophisticated models, which describe their behavior. They also include visual (static and streaming) data, and may include databases or GIS. Internal model for the individual object may be edited or replaced all together, while system continues with it's tasks.

System Architecture
M2C monitoring, command and modeling environment is built around the 3-layer neural network of the "child" objects that expose some of their parameters to the parent object. The input level of the network are hardware drivers5 and software interfaces to the models; hidden intermediate level of the network is a pool of the objects in the network; external level is the parent object that manages event propagation through the networked objects and interfaces with the user through the configurable GUI. The environment includes a set of tools that allow to add or remove objects of the network6, to establish or eliminate links between objects, to rename objects and to alter data types and images that are associated with individual objects, to archive and restore configurations of the network, and to create and run in parallel fully operational versions of the network configurations.

System node design
The core element of the system is the system component, or object, which is serving as a node of the neural network system architecture. Te following picture presents schematic object architecture:













Monitoring Functions

M2C application by default performs regular monitoring of the status of all the objects that compose the system. These objects may be individual sensors, or may be complex software models of the natural or human-made processes, like diffusion models for environment pollution, or development of floods. Monitored hardware objects may be handled on one-by-one basis through individual drivers, or may be handled as a group, if so designed. Monitoring of remote objects relies on messaging interface, which is capable to receive and decode both text and e-mail messages. At this time the default mode for M2C applications to handle far remote (hundreds of kilometers away) sensors is e-mail messaging interface with Novacom's platform, which was developed by French CLS company, and which is capable to receive messages through all existing commercially operational satellite messaging systems (Inmarsat, Argos, Iridium, Orbcomm), and bring to the unified format.

System also includes object state interpreters by design for all the objects that form the system. These interpreters analyze the current object's parameters, and determine the object's state, which is then reflected by the color, which is used to show the object (Fig.1), and which is also used for the system automation.










Figure 1. Monitoring screen for the control system of the small UPS power substation with back-up diesel generator.

 Combination of reliable internal event propagation algorithm, state-based system analysis (also known as Final State Modeling), system and object modification capabilities, built-in e-mail and text messaging, with de-facto unrestricted driver design allows to use M2C for very wide variety of monitoring tasks.

Modeling Functions

While in the default monitoring regime the application blocks the modification of the incoming data by the user, but still shows them. User however has object-by-object capability (in commanding is enabled) to disconnect the object driver from the system and to switch to generated or manual data feeding. This allows to explore the influence of specific factors on the system overall, to explore "what if" scenarios, and to model the system's behavior under the impact of different external factors to develop emergency response procedures and to provide recommendations to the operator.

The system may also include the objects which has no monitoring hardware associated with them. Examples of such objects may be, for instance, wind diffusion model for environment or emergency response application, or system component that is exposed to extreme conditions, under which accurate monitoring of its properties is impossible. In this case object has to include accurate, and sometimes very complex, modeling procedure which will derive its status from the known parameters and from the impact of another objects through established peer-to-peer links. Standard M2C application supports such modeling, includes a library of most frequently used standard functions and procedures (like spline, Lagrangian and Newtons interpolation, or Simpson integration, etc.), and allows to run third-party software models, written in C++ or Fortran g77 programming languages. Procurement may also include support of the Mathlab applications, if requested by the customer. Following the M2C operational philosophy user is enabled to switch between models, while doing modeling, and between modeling and monitoring for the system as a whole or for any object of the system without restarting the monitoring system.

 These standard modeling capabilities may be used to:

1.      Integrate existing 3-rd party models with the live monitoring data from multi-type sensor networks

2.      Model the impact of the integration of the new object into the system

3.      Model the reverse impact of the system environment on the individual object

4.      Predict behavior of the system under different conditions and avoid expensive field trails

5.      Verify accuracy of the models

6.      Conduct post-accident investigations

7.      Run "what if" scenarios to support decision-making process

8.      By-pass the objects with knowingly fault sensors within the monitoring framework without triggering the system-wide alarm or blocking the system's execution.

Media Use

The objects that form the system by design include software model, object's image and object's scheme/map/engineering drawing/blueprint, in fact any kind of visual schematics that is commonly accepted in the specific areas of human activities, for which M2C application is deployed. Besides that, object may, but don't have to, carry with it object-specific data source. These data may be carried by any case-specific type of media, ranking from the less-common image formats and databases to streaming video from the remote location. The following Fig. 2 presents the screenshot of the application that combines spectral analysis of the satellite image to detect possible air pollution, with streaming video of the roads in the monitored area.










Figure 2. Combining different data media within monitoring application.

Each media type certainly requires it's specific plug-in to handle it, but (similarly to mathematical models), these plug-ins may be developed with a little effort and may rely on existing commercially available 3-rd party software. Broad variety of available data media input and visualization options allows user to conduct general analysis of the situation, that includes data from substantially different sources, and to take informed decisions using all, not only part, of the information that may be available. Combining multiple sources of data within the same visual display may be particularly useful for applications like

        Forrest fire detection, monitoring and response (combining sensor data, diffusion models, video from the sites, aerial and satellite photography)

        Environment monitoring (combining pollution measurements with local video stream of traffic or major polluters)

        Resource management (combining database, GIS, sensor and modeling data),

        Industrial process control

        Physical protection and access security, and variety of other applications.

Commanding and Automation

The software by default reserves an opportunity to incorporate commanding driver into any object of the system. It also eliminates any need to use scripting languages or command-line interface to create, modify and issue the specific commands. As a matter of fact the process engineer or technician, which is aware of high-level commands that are required to operate the system, or for the system to react in the automated regime, can "train" the application to execute these commands or to undertake necessary automatic response steps if triggering event occurs. The commands that are handled by user have humanly readable form (see example interface of generator commands editor for the power station application, Fig.3):










Figure 3. Command editor.

The commands are automatically grouped by object, may include command sequences, delays, and special conditions. The user may access commands for review, change delay or target state parameters, add or remove elementary commands from the command sequences, and create brand-new commands or command sequences on the go.  

Through use of Final State Modeling in the system allows also to get away from rule-based rigid automation programming and use system (or individual object) states as trigger for automated actions. If  M2C automation is included in the application's configuration, the user can pre-set arbitrary state con figuration f the system as a trigger for the elementary command or command sequence, for instance:


-incoming voltage is LOW and

-fuel tank level is NOMINAL and

-generator is OFF


-open fuel tank valve

-start generator

-set generator to 600 RPM

-disconnect external power after 2 minutes,


All these auto response conditions and commands are set through the simple and humanly understandable interface. Setting the automated response sequence of commands does not require any programming experience and can be completed based solely on the knowledge of the hardware operation.

 After particular command issued the system automatically monitors status of its execution and notifies the operator if command is not completed successfully, and what parameters of the targeted system state are not reached yet.

Communication and Visualization

The M2C-based applications are normally outfitted with standard configurable Graphic user Interface (GUI), which allows to simultaneously monitor states and parameters of all communication capabilities, that are built-in by default. These include:

1.      Support to the live website. Each M2C system by default generates the content of the system-related website, and updates it automatically with every refresh of the system in monitoring and/or modeling regime. The number of the remote addresses where information about the system may be sent is unlimited, and user us enabled to create, eliminate, connect or disconnect remote WAN or LAN client sites. The website is light-weight and carries the most recent information about the system. The website like this may be very useful to deliver the current situation data to remote low band-width clients (response teams in the field, etc.), and for other applications.

2.      Electronic mail alert. The system may be pre-set to issue e-mail notifications if pre-defined conditions are met or if the system approaches state boundaries. The content of the note may be pre-defined and may range from full raw data list to very brief note.

This feature may be particularly useful for industrial installations that operate in unmanned regime. If the system experiences hardware failure, software can perform a set of automated tests and send the results to the repair team, which will then know exactly what happened, what spare parts are needed for repair, and will save time and money on repair operation.

3.      Receiving commands via e-mail. The user has to identify the e-mail message format, POP server, provide the password and the username for the system to login into remote server.  As soon as the message with pre-defined subject line arrives, the system verifies its content against locally stored command format, and then executes command sequence as defined in the e-mail.

This feature is particularly useful for remote operation, diagnostics and re-configuration of unmanned industrial installations, management of the sensor networks, ocean buoys, monitoring devices and cameras, etc.


 As a whole M2C technology has proven to be a new word in development of the modeling, monitoring and control systems at low cost and with improved functionality. The following sections will present some applications that were developed using M2C technology.


04.01.2021. CosmoVision (Canada) Ltd, (a.k.a. 4215494 Canada LTD) comppletes documents for submission to Australian Space Agency by Cosmovision Global for license application for Cape York space launch site with support of Yuzhmash rocket builder from Ukraine. 01.10.2018. CosmoVision (Canada) completes Alpha-testing of VisCMSE environment for Windows-10.

31.03.2011. Alpha-testing of M2C and VisCMSE new generation software for Linux is completed.

21.09.2010.Series of studies on East European oil and gas sector is completed for West European customer. Studies cover pipeline projects, energing transit conflicts, role of corruption, and predictions for 2011.

11.06.2009.CosmoVision (Canada) completes Beta-testing of M2C Runtime for Linux.

Developer Link