IgnitionML edition (without JAVA)?

Machine Learning is not possible with Jython. It needs full stack Python. I think, time for Ignition to think about releasing a special edition for ML. “Python + JS Perspective” (without JAVA) will be a game changer.

In fact, i would suggest 2 versions for IgnitionML. One open source community version and another pro version. What do you think?.

So… you want IA to create a completely new product. My guess is that this will never happen.

1 Like

I think, they have already taken that direction. The new visualization module Perspective is based on front-end web technologies such as HTML5, Javascript, React and CSS3. No JAVA. This will add browser-based clients to Ignition. So, JAVA is removed from the clients.

ML is the hottest thing in automation. Being a disruptive automation company, Ignition can NOT remain outside ML engine any longer because of the fact that it got stuck with Jython and Java on the server side. JS ecosystem and React has tons of components far better than Java. Java component development has come to a dead end. There’s nothing much to offer with JAVA for Ignition other than regular updates. I think, they will do away with Java+Jython and fullstack Python ML Engine will become integral part of IgnitionML.

1 Like

You keep saying no java, but I do no think you fundamentally understand how Ignition works. Perspective, from a client standpoint, will use HTML5, that is correct. However, the gateway and designer context of perspective will still be strongly linked to Java, because that is what the server runs on, the JVM. To implement “IgnitionML” to not use Java, would be creating a whole new product, because the server would have to be completely rewritten.

You also say there is not much that Java offers for Ignition. This also is incorrect, as it is the stable base and foundation that the whole application runs on. Yes, in terms of a client, I am very excited for Perspective and HTML5/JS, but I think you are seriously downplaying the importance of Java and how strong of a environment that Java provides.

1 Like

Yes. I am talking about a new product called IgnitionML. If we ask the question, "what next in automation?", the answer is ML. Python has built, tested and proven the ML framework. Had Java built a better ML framework, i would have definitely supported Java.

Google was forced to invent a better language Kotlin, because Java doesn't allow innovation. The very fact, IA decided to release a non-Java visualization module Perspective for better user experience proves my point beyond any doubt. I think, Java Ignition and IgnitionML will coexist. Let users decide what they want.

If you look at my proposition from stake holder's perspective, Python is the best safety net against Java. They can't wait until Oracle pulls them to court and forces them to cough up every single penny they had hard earned so far and snatches away their bread. This is like pre-emptive strike. Business and politics can be merciless. If you were a stake holder in IA, you will definitely support my point :slight_smile:

I do not think Python or "Java" built the frameworks, rather, the community did, mainly based on the strengths and weaknesses of both languages. While Python is preferred, Java is 3rd, next to c/c++. However, Tensorflow pushed Python adoption further, imo.

Google did not invent Kotlin, JetBrains did. Please, list for me how Java and the JVM do not allow for innovation. IA "decided" to release perspective because everyone wants a "clientless" client, running on the most ubiquitous platform, which is the web browser. Releasing perspective does not "prove your point beyond any doubt", because Java is still one of the strongest server technologies in the market. This whole paragraph is silly.

I am about as invested into Inductive Automation as anyone can be, without actually being a stakeholder. Python isnt really a safety net "against" anything, it is merely another language. One that has strengths, and weaknesses, like any other language. I am not sure who you are referring to with "they", but I do not think anyone wants to go to court with Oracle. I am not sure on what grounds Oracle could use to force "them" to cough up every single penny, using your terms.

As someone invested (from a business standpoint) heavily in Inductive Automation, my preference would be for them to keep developing the technologies they have, adding features as emerging technologies become more mature (like Perspective), and continuing to build on JVM technologies, as that scales relatively well in my experience.

Your opening post says that "Machine Learning is not possible with Jython", however, there was a session at ICC 2017 called "Introduction to Machine Learning", which kind of proves otherewise.

4 Likes

That was a very good initiative which actually encouraged me to think about IgnitionML edition. But with Jython, it's NOT possible to go too far into ML. The present framework is well optimized for SCADA. Bundling full stack Python into Ignition will destabilize the platform. Ignition team will NEVER do that blunder. So, the only way out to build a ML powered Ignition is IgnitionML without Java.

Check Jython project site:

Jython 2.7.0 Final Released (May 2015)

Jython 3 sandbox:

Latest commit 5b4dc2d on Jul 18, 2017

Not very active.

This is my perspective of Ignition Road map:

1.I agree 100% with the above statement. Java based Ignition server engine is rock solid and it will remain as the heart of plant automation and SCADA. Jython is well optimized for Ignition server engine and IA will take care of it.

2.Visualization will move to JS Perspective. React js will become the component builder engine of Perspective. This will forge a strong bond between IA and FB which will pave the way for IB (Infrastructure Book) and HB (Home Book). Thousands and thousands of Ignition edge embedded data collectors will become data feeders for IB and HB data centres.

We have to take note that Perspective will communicate with Ignition server via MQTT and the heart of FB messenger engine too is MQTT. There's a fantastic synergy :slight_smile:

I think, there will be separate designer and components library for Perspective because Java components can not run on Perspective.

3.What are the deliverables of IgnitionML?.

  1. Process Optimization ( aka MES)
  2. Asset Optimization (predicting demand-supply, emerging markets)
  3. Maintenance Optimization (predictive maintenance, manpower optimization)

IgnitionML will become a partner solution for Ignition SCADA and any SCADA.

Vision and Perspective will both be maintained for the foreseeable future. Yes, visualization will eventually use Perspective, for both desktop and mobile clients, but I am not sure when you would completely ditch Vision.

I have no idea what Infrastructure Book and Home Book are, I could not find any information on these in a quick Google search.

Perspective does not use MQTT afaik, I am guessing it will be using Websockets.

Of course there will be a whole new component set. As for the designer, I do not think it will be a separate designer, probably just a new workspace inside the existing designer.

Sure, I guess so. However, I think I would rather let the experts build the vertical specific applications, and hook them into Ignition using MQTT and the likes.

1 Like

I'm going to respectfully disagree. (credentials: I co-presented the session on ML last year and my Master's is in ML and AI.) In fact, we've added quite a bit of ML capability into Ignition 7.9.8, and you can easily use services like Microsoft Azure and Amazon AWS with Jython or use third party modules to do the same. Having access to SciPy/NumPy is absolutely not a requirement for ML.

Like I said in one of your other threads, the forum is not the best place to convince IA to make broad changes to Ignition -- very few of the employees even read the forum. Your best bests are going to be ideas.inductiveautomation.com and talking to your sales rep.

7 Likes

Carl and Colby mentioned that Perspective will not have the same polling functionality that exists in the Vision module, but will instead concentrate on pushing data to Perspective clients when data changes. This is very nice and indicates to me a trend (starting with MQTT) with Inductive Automation products to get rid of polling and instead push data when it changes. Great!

I don't see any other better framework than MQTT to publish and subscribe huge amount of data reliably.

http://blog.perfectabstractions.com/2017/09/25/ignition-community-conference-2017-notes/

This is just my extrapolation of Facebook concept. Since Perspective will be using React library of Facebook, i could imagine one day FB will be using Ignition as a social SCADA for the public to monitor their city infrastructure and people to monitor their home security and showcase their home automation ideas (IgnitionHA). In fact, i am selling Ignition to Mark Zuckerberg :wink:

I feel absolute freedom and power when i push data out of Ignition as JSON (thanks for supporting this idea in some thread), use React and full stack Python ML engine to do whatever i want.

Most of my ideas are not a feature or functionality request for Ignition. They are disruptive business ideas by which i would like to explore how to use Ignition for the mass market (low margin, high volume). I want some public debate and brain storming sessions with the Ignition users and automation community to gauge the viability of my ideas. I found this forum as a lively place to engage brilliant minds and attract more Ignition users from Indian subcontinent and ME which is my target market.

Right now, i am playing street artist and crowd puller for my target audience. This is my road show for my business plan. So far, the results are encouraging. I will talk to sales when i gain enough momentum.

Impossible is not possible.

Is it possible to fit a square peg in a round hole?.

Well, there’s the Apollo13 CO2 filter

Innovation with what is available right in front of you.

We can innovate, as long as someone is going to pay for it. Sometimes, we must also learn to laugh on our own shortcomings.
(we all have done it before... sure, we can do it again :wink: )

Of course. If the length of the side of the square peg is equal to or less than the diameter of the circle / root(2). You can derive this from Pythagorean's theorem.