As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com.

Changes

Jump to: navigation, search

Common Tool Information

1,405 bytes added, 03:25, 29 September 2016
m
Class Diagram
== Loading/Saving the Settings ==
The settings are not saved with the project (we may improve it in the future), but instead, you can use the "Save Settings" option (inside the Project menu) to dump this information to the "settings.cwset" file, inside the project directory. Once saved, the settings can be re-loaded using the load button in the settings tabs (general, scope, traget,...). Another possibility would be to use the Save Button and choose different filenames for each settings profile that you wanto want to use.
== Class Diagram ==
[[File:Cw classdiagram.png|1100x1100px]]
The general architectural idea is to start the Flow with a TraceSource, allow the connection off of multiple preprocessing modules (that are both a TraceObserver : ActiveTraceObserver and a TraceSource) and end the chain in an a TraceObserver (that can be a widget or an AnalysisSource). The sigTracesChanged signal (in the TraceSource objects) is used to propagate this notification through the chain and activate a callback method (processTraces) in the ActiveTraceObserver objects (like the WaveFormWidget) to read the new data. The PassiveTraceObservers (like the AnalysisSource and the TraceRecorder widget) will ignore this signal, so the processSignal() should be called manually.
In the diagram bellow, the arrows show the data flow (the requests are made in the opposite direction) and the vertical lines the inheritance structure:
[ TraceSource] -> [(Active)TraceObserverActiveTraceObserver, TraceSource] -> [(PassiveActiveTraceObserver/Active)TraceObserverPassiveTraceObserver] AnalysisSource -> AnalysisObserver | | / | | \ / | Channel PreprocessingBase AnalysisSource -------------> [AnalysisObserver] | | AttackBaseClass AttackObserver TraceManager TraceRecorder | WaveFormWidget | | [AttackObserver]| ResyncSAD TraceRecorder | ResultsTable Analysis Widgets (ResultsTable, AddNoiseJitter CPA CorrelationVsTrace, ... Template ...)
<br>Description of some other important classes: AnalysisSource - define signals (started, updated and done) that the AnalysisObserver objects will "listen" when emitted by these objects to execute the appropriate operation. AttackObserver - specialized class that will listen for AttackBaseClass emitted signals and update the ResultWidgets (table, plots...). ResultsBase - have a list of registered objects. When changes in this list happen, a signal is emitted to notify the GUI to create a new dock and add it to the Window menu. This list is also largely used in the current code base to allow easy access to the existing widgets (if they exist). Plugin - marker interface that informs that the class should be considered when importing plugins from a module. AutoScript - helper class with methods to setup the output when the class that uses it need to have scripts as output. Parameterized - helper class with methods to maintain (add/find/delete) the parameters when the class that extends it makes use of parameters.
218
edits

Navigation menu