130 likes | 322 Views
Configuration management. Configuration management. Basic tasks: Management of distribution units of an application Management of communication relationship Placement of distribution units. Operating system processes or selected objects. Elements of application configuration.
E N D
Configuration management • Basic tasks: • Management of distribution units of an application • Management of communication relationship • Placement of distribution units Operating system processes orselected objects Elements of application configuration Placement Elements of systemconfiguration Physical or logical nodes
Configuration management • Disadvantages of approaches without Configuration Management: • lack of portability • difficulties of implementation comprehension • lack of flexibility (dynamic changes) • Approach: • Configuration language • Change language • Run-time mechanisms linked to: • Programming language • Basic run-time system
Distributed Example Application LocalRepository Manufacturing Control Manufacturing Monitor Machine Manufacturing plan Transport vehicle Work piece File Server Global Repository Application components Componentrelationship Data objects
Model of configuration management Configuration language Initial configuration Configuration changes Configuration Manager Generating Change Programming language (Programming of distribution units) Basic run-time system, distributed operating system(communication, synchronization)
System examples • Conic Toolkit: • Conic Module Programming Language • Conic Configuration Language • Configuration manager • Distributed operating system • Syner/J: • Management of Java-components
CONIC ProgrammingLanguage Orders Status Machine Order confirmations task module Machine; entryport Orders: ManufacturingOrder fo; //Accepting of orders Status: Query reply integer; //Status queries exitport OrderConfirmations: ManufacturingOrder fo; //Manufacturing message of orders var OrderCounter: integer; //Current counter of orders begin OrderCounter := 0; loop selectreceive fo from Orders //New fabrication order => OrderCounter := OrderCounter + 1; StartProcessing( fo ); //Call to processing orreceive Processed ( fo ) //Internal fabrication message => OrderCounter := OrderCounter - 1; send fa to OrderConfirmations; //External fabrication message orreceive Orders from Status reply OrderCounter; //Answer to a status query end; end; end.
CONIC Configuration Language Out[1..n] In Distribution Device ... Orders Machine[1] Orders Order Status confirmations Status[1] Status[2] Order confirma-tions Machine[2] ... ... Manufacturing Orders Order Status confirmations Status[n] Machine[s]
CONIC Configuration Language • group module Manufacturing (n: integer :=2); • entryport • Orders: ManufacturingOrder; // Manufacturing orders • Status [1..n]: Query reply integer; // Status queries per each Machine • exitport • OrderConfirmation: ManufacturingOrder; // Return after processing • use • DistributionDevice, Machine; // Internally used task-module types • create • DistributionDevice at Node_X; // Generating of a distribution // device mode • create family k:[1..n] • Machine[k]: Machine at Node[k]; // Generating of several machines • link • Orders to DistributionDevice.In // Order transmission to distribution device • link family k:[1..n] • DistributionDevice.Out[k] to Machine[k].Orders; // Order transmission to // machine • Status[k] to Machine[k].Status; // Transmission of status queries • Machine[k].OrderConfirmations to OrderConfirmations; • // Global output of processed orders • end.
Configuration change Redundant Machine Orders Order Status confirmations Out[1..n] In Distribution Device ... Orders Machine[1] Orders Order Status confirmations Status[1] Status[2] Order confirma- tions Machine[2] ... ... Manufacturing Orders Order Status confirmations Status[n] Machine[s]
Configuration change • create RedundantMachine: Machine at Note[0]; • // Generating of a new Machine • link DistributionDevice.Out[1] to RedundantMachine.Orders; • // Order forwarding • Status[1] to RedundantMachine.Status; • // Status query forwarding • RedundantMachine.OrderConfirmation to • OrderConfirmations; • // Output forwarding • start RedundantMachine; • // Start of new Machine
Initial configuration Preparing Activation of management components Failure of applicationservices Consistence test corresponding to application services and used methods Preference list Determination of placement possibilities for logical nodes Preference list Determination of placement possibilities for conf. nodes Conf. Objectsnon-placeable Placement of logical nodes Execution Internal represent.of init.config. Placement conf. nodes Conf. Objectsdefinitely non- placeable Generating of initial configuration on run-time layer Call of start methods
Initial configuration Resource requirements and placement of phys. nodes Directplacement guidelines Location relation- ship Resource requirements and placement of log. nodes Preferences placement Placement of configured objects