Skip to main content

EDK Examples

The purpose of the EDK examples is to provide worked usage of all aspects of ELARA using the EDK npm package. The source code for all examples can be found in the edk-examples repository.

Projects#

See below for the various project categories and corresponding links.

General projects#

  • Expression: usage of Expressions to manipulate streaming data values.
  • Events: usage of Events and explicit date properties to simulate common business processes.

Datasource projects#

  • File: usage of FileUri to create CsvDataSource, XlsxDataSource, JsonDataSource to create streaming Expression values from local files.
  • FTP: usage of FtpUri to create CsvDataSource, XlsxDataSource, JsonDataSource to create streaming Expression values from remote files.
  • Procedural: usage of the RangeDataSource, ClockDataSource and ArrayDataSource to create procedural streaming Expression values .
  • RESTFul API: usage of a RestAPIDataSource to create streaming Expression values from the Github API
  • SQL: usage of a SQLDataSource to create streaming Expression values from an example SQL database.

Pipeline projects#

  • Pipelines: usage of Pipelines to apply operations such as FilterOperation, AggregateOperation, JoinOperation, SelectOperation to transform data.

Plugin projects#

Machine learning projects#

  • Machine Learning: usage of MLFunction to predict unknown functions from data records.

Option projects#

  • Sensitivity: usage sensitivity Options to understand how much impact pricing decisions have on maximising profit.
  • Automatic: usage of automatic Options to find the optimal pricing choice to maximise profit.
  • Manual: usage of manual Options to explore the impact of manually adjustying different properties of a sales process.
  • Queues: usage of automatic Options to optimise a complex queueing process.

Application projects#

  • Visuals : an example documenting usage of Pages, Visuals and Seriess to visualise data in a secure web application.

Reference#

For general usage and code examples we provide the following detailed documentation:

  • EDK CLI: detailed CLI usage reference and examples
  • EDK API: programmatic api for the cli functionality

Release Notes#

The following release notes summarise changes accross edk, edk-io package, edk-examples.

  • Version 3.x.x

    • edk/lib:
      - Application:    - Added `GroupCombinedVisual` to visualise a combination column and line chart on a shared numeric y axes.    - Added `VisualList` to allow secondary charts to be shown on a page using drag and drop into existing `PanelVisual` objects    - Added `powered`, `ApplicationIcon` and updates to `ApplicationColors` for customised styling of UI.    - Add improved UI view download, filtering and sorting- Structure:    - Add `Settable``Property` to facilitate event based single-value properties.    - Remove `predict` predicate in `Process`, `Resource` and `Agent` entities, to automate seperation of deterministic trajectories from probabilistic trajectories in simulation.    - Improve status output for `Optimization`- Plugin:        - Added `OptimizationPlugin` to diagnose state and progress of `Optimization`.        - Added `OptionsPipelinePlugin` to create a pipeline flattening `Option`, `Value` and `Function` property values across defined scenarios.        - Added `PredictionPlugin` to diagnose state and progress of `Prediction`.
      -edk/io:
      - Store:    - Added `skip` paramater to skip a number of rows for `top`.    - Added `list`, `size` and `top` commands to enable interaction with the file store.
    • edk-examples:
      • Added customisation of Application and VisualList to Visual Example in edk-examples.
      • Update all examples with removal of predict predicate in Process, Resource and Agent entities.
  • Version 2.x.x

    • edk
      • Added edk add visual command to manage visual assets.
      • Added edk build speed improvements.
      • Added edk links command to view the relationships to a specificed project asset.
      • Seperated input/ouput (including detection) related edk functionality into edk-io package.
      • Added handling of uri schema to edk add datasource and edk-io detect.
      • Added version command to view currently installed version of edk-io and edk.
    • edk/lib:
      • Pipeline:
        • Added DistributionOperation to generate grouped distributions in a Pipeline.
        • Added OffsetOperation to select expressions from sorted offset rows in a Pipeline.
      • Structure:
        • Add explicit date configuration for SingleEvent and MultipleEvent.
      • Application:
        • Added RowPivotVisual to visualise ordered structs in a dense pivot grid.
        • Improve UI and visual styling
        • Improved Layout and Axis definition and helper functions.
        • Added RowRidgelineVisual to visualise high resolution stacked ridgeline charts.
        • Added z_overlap to RowRidgelineVisual and GroupRidgelineVisual to control of z vertical cutoff.
        • Added key to GroupLineVisual to generate nested lines.
        • Improved Layout and Axis definition and helper functions.
      • Datasource:
        • Added uri schema to DataSource for generalised specification of the following protocols: ftp://, sftp://, http://, https://, mssql://, file://.
      • Schema:
        • Seperate Visual into root of schema object.
      • Plugin:
          - Added `ScenarioFlattenPlugin` to transpose multiple `Scenario` rows into value `Expression`s per `Scenario`.  - Added `TimeBoundsPlugin` to calculate the temporal range accross multiple `Table`s.
    • edk-examples:
      • Update Visual Example in edk-examples to demonstrate RowPivotVisual.
      • Added Large Example in edk-examples to demonstrate simulation for large problems.
      • Added Queue Example in edk-examples to demonstrate optimisation of service orientated work.
      • Added Event Example in edk-examples to demonstrate explicit event dates in simulation.
      • Added Manual Example in edk-examples to demonstrate practical use of manual options.
      • Update Pipeline Example in edk-examples to demonstrate OffsetOperation and DistributionOperation.
      • Initial publish of edk-examples.
  • Version 1.x.x

    • Initial public release