Workstation Software Framework WSF ESO L Andolfato ESO

  • Slides: 16
Download presentation
Workstation Software Framework (WSF) ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 -

Workstation Software Framework (WSF) ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 1

Workstation Software Framework Models are solution to problems at a higher level of abstraction

Workstation Software Framework Models are solution to problems at a higher level of abstraction (contain less details than code). • Models are easier to read analyze than production code • Models provide good documentation • Models can be reused (and they are easier to reuse than code) • Some models can be executed ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 2

Workstation Software Framework State Machine Models Event driven application are usually designed using State

Workstation Software Framework State Machine Models Event driven application are usually designed using State Machine models because: • They allow to define rigorously the complex behavior of sequential systems • They are mathematical objects and therefore can be analyzed with mathematical tools (formal methods) • State models provide simultaneously a source of documentation and a source of information for generating code • State models can be reused (Catalog of State Patterns) ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 3

Workstation Software Framework The Framework WSF is a framework that from a state machine

Workstation Software Framework The Framework WSF is a framework that from a state machine model generates the code to: • Handle events • State transitions The developer has to write the code to implement: • Actions • Data handling/processing ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 4

Workstation Software Framework Supported State Machines ESO - L. Andolfato ESO Instrumentation Software Workshop

Workstation Software Framework Supported State Machines ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 5

Workstation Software Framework Composite States ESO - L. Andolfato ESO Instrumentation Software Workshop 2008

Workstation Software Framework Composite States ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 6

Workstation Software Framework Supported Platform and Modeling Tools Supported platform: • Scientific Linux •

Workstation Software Framework Supported Platform and Modeling Tools Supported platform: • Scientific Linux • C++ GNU compiler, libraries and development tools • VLT Software Supported modeling tools: • Rational ROSE • Magic. Draw • Enterprise. Architect ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 7

Workstation Software Framework Development Process Model Design • wsf. Create (first time only) •

Workstation Software Framework Development Process Model Design • wsf. Create (first time only) • Modeling tool or Text editor Code Generation • export model • wsf. Config Code Refinement • implementation of the action • implementation of the data classes • update CDT and database classes • implementation TAT tests ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 8

Workstation Software Framework Code Generation From the model it is possible to generate: •

Workstation Software Framework Code Generation From the model it is possible to generate: • The code implementing the states • The code implementing the state transitions • The code for the invocation of the actions • The code implementing internal and EVH events (input commands, replies, timers, DB events, etc. ) • The skeletons of actions and data classes What is NOT possible to generate: • The implementation of the actions • The handling/processing of data ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 9

Workstation Software Framework Action Classes • Action classes encapsulate action methods, events used by

Workstation Software Framework Action Classes • Action classes encapsulate action methods, events used by the action methods, and local data shared among action methods • Action methods are the executable unit of the state machine • Action method names are predefined: • Init • Execute • Complete • Abort • Reject • Supersede ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 10

Workstation Software Framework Data Classes Run-time data class • Containing data generated at run-time

Workstation Software Framework Data Classes Run-time data class • Containing data generated at run-time by the application • Mirrored by a database class Configuration data class • Containing configuration data used by the application • Mirrored by a database class ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 11

Workstation Software Framework Scalability Model Size • The size of the model (number of

Workstation Software Framework Scalability Model Size • The size of the model (number of states, transitions, actions, events) is related with the number of generated classes. • The architecture of the application is based on design patterns which guarantee scalability • Large models need a modeling tool • Large models will generate a large number of classes (and files). IDE like Eclipse allows to easily navigate the code Performances • Access to action methods via map container takes O(log n) where n is number of action classes • Polymorphism overhead depends on the compiler ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 12

Workstation Software Framework Reusability I Reusability on different platforms can be achieved: • by

Workstation Software Framework Reusability I Reusability on different platforms can be achieved: • by porting WSF • generating the code • porting the implementation of action and data classes. Catalog of State Patterns Similarly to the Design Patterns, State Patterns are “ready-to-use” solutions of software design problems using state machines. ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 13

Workstation Software Framework Reusability II ESO - L. Andolfato ESO Instrumentation Software Workshop 2008

Workstation Software Framework Reusability II ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 14

Workstation Software Framework Results ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 -

Workstation Software Framework Results ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 15

Workstation Software Framework More info on WSF Documentation: • Design doc. : VLT-SPE-ESO-17210 -3389

Workstation Software Framework More info on WSF Documentation: • Design doc. : VLT-SPE-ESO-17210 -3389 • User Manual: VLT-MAN-ESO-17210 -3872 • SPIE 2008: Workstation Software Framework Web and Contact: websqa. hq. eso. org/tecsw/bin/view/VLTSW/Wsf landolfa@eso. org ESO - L. Andolfato ESO Instrumentation Software Workshop 2008 - 16