A simple solution could also be to create a Thing (for the machine) and invoke a service each time a property changes.
The service then compares pattern A to pattern B (e.g. via a regex or some ifs and switches) - return value of the service could be BOOLEAN for true if the pattern matches or false if it doesn't.
For a more sophisticated pattern Ankit has a point and it could be ThingWorx Analytics relevant, e.g. with a pattern / threshold recognition via a ThingWatcher
Well not really
I mean in the end you have pattern recognition that's deriving from a Machine Learning background, where TWX Analytics comes into play.
This could be behavioral patterns, patterns & shapes in images, movements and fences etc.
That in turn could relate to vectors, clustering, neural networks, decision trees for analysis.
However, those are all just algorithms, which could be implemented in a custom service. Probably based on a Java Class instead of a Java Script - which would then require programming a custom extension.
If the recognition, or the pattern is quite simple, like getting an numeric input and compare it to a pre-defined range of numbers - or receiving a string and validating it with a pre-existing regular expression... this can be implemented on a TWX service level with Java Script.
You could even have dynamic patterns by modifying the pattern and storing it in a (value) stream to validate, if an incoming value matches e.g. the last 3 stored patterns.
Those could be used for some kind of self-designed machine learning algorithm.
So if the use case is simple enough - depending on the actual patterns (text based instead of images / stream based), a simple service comparing thresholds or regex pattern could also be sufficient. For anything else, with a real machine learning approach / background TWX Analytics is probably most likely the better choice.
But to keep it short: yes, it's possible to use pattern recognition algorithms in a ThingWorx environment
Hi Jeongeun Kim,
I can add something form a ThingWorx Analytics view.
We do have indeed ThingWatcher that is our Anomaly detection module.
This however will not compare to pre-existing data, what it does is read a signal as input and initially learn from the signal (so it is required that in this phase the signal is not anomalous). It will then create a model that will be used to compare the newcoming signal and identify if there is an anomaly.
Currently, as of ThingWorx 7.4, ThingWatcher exist only as a SDK and therefore requires some coding (see Sample Java utility to validate ThingWatcher 52.2 installation for an introduction as well as the Help Center: PTC ).
With release 8.0, this feature will be embedded in the ThignWorx core platform and therefore can be used straight out of the box.
Hope this helps