Models@run.time 2007 Monitoring using Constraint Checking as part of Model Based System Management Nashville, October 2, 2007 Christian Hein, Tom Ritter, Michael Wagner Fraunhofer FOKUS System Monitoring using Constraint Checking as part of Model Based System Management Outline – Monitoring using Constraint Checking as part of Model Based System Management Introduction Monitoring using Constraint Checking Application on CORBA Components Conclusion System Monitoring using Constraint Checking as part of Model Based System Management Introduction system management is always difficult in particular for self-managing systems complex systems in many cases critical points are - size, distribution or heterogeneity many stakeholders with different viewpoints and different interests technical viewpoint - managing resources and technologies system viewpoint - managing system organization and non-functional policies (including security) operational (business) viewpoint - managing operational capabilities in order to optimize business effects information basis is the same but needs to be presented differently System Monitoring using Constraint Checking as part of Model Based System Management Introduction use of model-base engineering techniques, methods and tools also in case of system management model-based system management - MBSM is an approach in which the medium that interfaces between the system manager and the system itself is a model of the system. [ModelPlex Deliverable D5.1a] constraint checking is part of model-base verification technique can be understood as analysing models against expected properties constraint checking and system management to identify malfunction System Monitoring using Constraint Checking as part of Model Based System Management Introduction example of properties which could be monitored homogenous distribution of components to different nodes is a component more used than other components security or safety aspects: definition of security or safety boundaries with constraints e.g.: - maximum number of interconnections - maximum number of specific components System Monitoring using Constraint Checking as part of Model Based System Management Introduction our idea: we use tools which are normally used for development also for management activities use of same models and notation Management stakeholder development tools Real-World system Operational manager System manager Technical manager System Monitoring using Constraint Checking as part of Model Based System Management Monitoring using Constraint Checking Constraint Checker Management stakeholder Real-World System constraint set Operational manager System manager result Adapter input models provides Technical manager conformsTo run time meta model run time model System Monitoring using Constraint Checking as part of Model Based System Management Monitoring using Constraint Checking constraints are represented as OCL constraints Traditional formal languages (e.g. Z) require good mathematical understanding from users - mostly applied in academic world, not in industry - hard to learn, to complex in application The Object Constraint Language (OCL), provided by the OMG, has been developed to achieve the following goals: - formal, precise, unambiguous - applicable for a large number of users (business or system modeler, programmers) - Specification language - not a Programming language many tools already available System Monitoring using Constraint Checking as part of Model Based System Management Content – Monitoring using Constraint Checking as part of Model Based System Management Introduction Monitoring using Constraint Checking Application on CORBA Components Conclusion System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components CORBA Component Model platform used for distributed systems support of design, deployment and execution support introspection mechanism; a good candidate to proof the concept System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components example scenario a Plane can be tracked by a radar station a Radar has its area of observation a SimulationServer retrieves the position of all planes a Display presents information from all radar stations a SimulationController creates new Planes at random as well as new Radar instances Radar SimulationServer Radar Display SimulationController Planes System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components maximum number of specific component e.g. Planes context CCM inv: ComponentInstantiation.allInstances()->select (c|c.type.absoluteName=`Simulation:PlaneSessionImpl`)>size() Problem: How to deal with potential inconsistency of a snapshot ? System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components The number of planes running on one computing device shall not be significantly different from the number of planes on other computing devices. difference is significant if the difference is greater than 3 context HomeInstantiation def: HelpSet: OrderedSet(Integer) = HomeInstanstiation.allInstances()->Iterate( i: HomeInstantiation ; sum: Sequence(Integer)=Sequence{} | sum->append(i.comp.size())).asOrderedSet() context HomeInstantiation def: Range: Integer = HelpSet.last()- HelpSet.first() context HomeDef inv: if (identifier='PlaneHome') then homeImpl->forAll(h|h.instance->forAll(Range<4)) else true endif System Monitoring using Constraint Checking as part of Model Based System Management Application on CORBA Components 25000 introspection mechanism 15000 get a snapshot 10000 5000 0 0 100 200 300 400 500 600 700 number of componentinstances 2500 2000 time in ms time in ms 20000 constraint checker 1500 1 Constraint 10 Constraints 1000 500 0 0 200 400 600 800 1000 number of componentinstances System Monitoring using Constraint Checking as part of Model Based System Management Conclusion Advantages use of the same tools and techniques of development process also for management already existing tool and run time model Disadvantages performance getting a consistency formal representation of the system Further research topics adequate representation in development tools for management stakeholder Model Repairing improve introspection mechanism constraint checking with fuzzy semantic System Monitoring using Constraint Checking as part of Model Based System Management Thank you !!! Any comments or questions? System Monitoring using Constraint Checking as part of Model Based System Management