LIP6 UPMC CNRS Move-team Macao FrameKit CPN-AMI
LIP6 > Software > MoVe Sofware > FrameKit > Services

Services in FrameKit

To enable a flexible access to tools' functions FrameKit introduce the notion of service. A service is a tool function that can be applied on a model (set of data). It produces results automatically related to the model it is applied to. When the model is modified, results are automatically discarded and must be recomputed if needed.

A service is associated to a set of formalism. So, a user working on a model associated to one formalism in this set, potentially reaches it. When the user logs on FrameKit (via the "platform" menu, the platform computes the set of reachable services and download a menu.

Figure 1: Example of service menu.

In Figure 1, there is an example of service menu: "AMI-Net" (extracted from the CPN-AMI 2.0 environment we have built on top of FrameKit). When the user selects a service from this menu, it is applied on the current model (here, untittled). Results are displayed back to the user, either graphically or textually (it depends on what the tool's function associated to this service does).

The main required information to describe a service is:

  • the tool external name (there might be one external name per supported language),
  • the tool internal name (unique),
  • the executable path of the tool associated to this service,
  • the parameters that activate tool's function associated to this service,
  • access rights (to hide/show services to FrameKit users or groups). This information is used at connection time to compute the set of reachable services for the loged user,
  • precondition (to temporarily enable/disable services according to the current state of the session). It is used after each service execution to dynamically compute what is possible for the logged user.

In Figure 1, all the services (Petri net verification, boolean condition, CPN unfolder, GreatSPN services, Dead marking, Simulation services) are reachable for the logged user. However, he must run first the "Petri net verification service that appear to be the only one enabled, according to the involved service preconditions.

To have a deeper look on how to use FrameKit, please have a look a scenario involving the use of services.