1 Configuration management 2 Configuration management Basic tasks
1 Configuration management
2 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 Physical or logical nodes Elements of application configuration Placement Elements of system configuration
3 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
4 Distributed Example Application Local Repository Manufacturing Control Manufacturing Monitor Manufacturing plan Machine Transport vehicle Work piece File Server Global Repository Application components Component relationship Data objects
5 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)
6 System examples Conic Toolkit: Conic Module Programming Language Conic Configuration Language Configuration manager Distributed operating system Syner/J: Management of Java-components
CONIC Programming Language Order confirmations Orders Status 7 Machine task module Machine; entryport Orders: Manufacturing. Order fo; //Accepting of orders Status: Query reply integer; //Status queries exitport Order. Confirmations: Manufacturing. Order fo; //Manufacturing message of orders var Order. Counter: integer; //Current counter of orders begin Order. Counter : = 0; loop select receive fo from Orders //New fabrication order => Order. Counter : = Order. Counter + 1; Start. Processing( fo ); //Call to processing or receive Processed ( fo ) //Internal fabrication message => Order. Counter : = Order. Counter - 1; send fa to Order. Confirmations; //External fabrication message or receive Orders from Status reply Order. Counter; //Answer to a status query end; end.
8 CONIC Configuration Language In Orders Out[1. . n] Distribution Device . . . Status[1] Status[2] Machine[1] Orders Status Order confirmations Machine[2]. . . Manufacturing Orders Status[n] Status Order confirmations Machine[s] Order confirmations
CONIC Configuration Language group module Manufacturing (n: integer : =2); entryport Orders: Manufacturing. Order; Status [1. . n]: Query reply integer; Machine exitport Order. Confirmation: Manufacturing. Order; use Distribution. Device, Machine; module types create Distribution. Device at Node_X; 9 // Manufacturing orders // Status queries per each // Return after processing // Internally used task// Generating of a distribution // device mode create family k: [1. . n] Machine[k]: Machine at Node[k]; // Generating of several machines link Orders to Distribution. Device. In // Order transmission to distribution device link family k: [1. . n] Distribution. Device. Out[k] to Machine[k]. Orders; // Order transmission to // machine Status[k] to Machine[k]. Status; // Transmission of status queries Machine[k]. Order. Confirmations to Order. Confirmations;
Configuration change 10 Redundant Machine Orders In Orders Out[1. . n] Distribution Device Status . . . Status[1] Status[2] Order confirmations Machine[1] Orders Status Order confirmations Machine[2]. . . Manufacturing Orders Status[n] Status Order confirmations Machine[s] Order confirmations
11 Configuration change create Redundant. Machine: Machine at Note[0]; // Generating of a new Machine link Distribution. Device. Out[1] to Redundant. Machine. Orders; // Order forwarding Status[1] to Redundant. Machine. Status; // Status query forwarding Redundant. Machine. Order. Confirmation to Order. Confirmations; // Output forwarding start Redundant. Machine; // Start of new Machine
Initial configuration Preparing Failure of application services Execution Conf. Objects definitely nonplaceable 12 Activation of management components Consistence test corresponding to application services and used methods Determination of placement possibilities for logical nodes Preference list Determination of placement possibilities for conf. nodes Preference list Placement of logical nodes Conf. Objects non-placeable Placement conf. nodes Internal represent. of init. config. Generating of initial configuration on run-time layer Call of start methods
13 Initial configuration Direct placement guidelines Preferences placement Resource requirements and placement of log. nodes Resource requirements and placement of phys. nodes Placement of configured objects Location relationship
- Slides: 13