Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Software Quality Assurance Plan
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Chapter 6: Design of Expert Systems
Requirement Engineering – A Roadmap
Overview of Software Requirements
1 Optimizing Utility in Cloud Computing through Autonomic Workload Execution Reporter : Lin Kelly Date : 2010/11/24.
Describing Syntax and Semantics
Meaningful Learning in an Information Age
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
BIS310: Week 7 BIS310: Structured Analysis and Design Data Modeling and Database Design.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
The Software Development Life Cycle: An Overview
S/W Project Management
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
CSI315 Web Applications and Technology Overview of Systems Development (342)
University of Kansas Electrical Engineering Computer Science Jerry James and Douglas Niehaus Information and Telecommunication Technology Center Electrical.
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Recent research : Temporal databases N. L. Sarda
This chapter is extracted from Sommerville’s slides. Text book chapter
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Lecture 7: Requirements Engineering
Educational Objectives
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
Ch 10 Methodology.
Requirements Engineering Process
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Requirements Analysis
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
1 Security and Dependability Organizational Patterns - A Proof of Concept Demo for SERENITY A. Saidane, F. Dalpiaz, V.H. Nguyen, F. Massacci.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Chapter 1 The Systems Development Environment
CSCI 578 Software Architectures
Towards Easier Data-Binding for Derived Values in Ecore-based Models
Chapter 6: Design of Expert Systems
Chapter 1 The Systems Development Environment
Software Design Methodology
Software Engineering (CSI 321)
Model-Driven Analysis Frameworks for Embedded Systems
Model based design.
ece 627 intelligent web: ontology and beyond
Chapter 13 Quality Management
Requirements Document
Chapter 1 The Systems Development Environment
Presentation transcript:

Identifying, Modifying, Creating, and Removing Monitor Rules for SOC Ricardo Contreras Andrea Zisman Software Engineering Group School of Informatics City University London UK

Andrea Zisman Background Motivation MADap Framework Overview Patterns Adaptation Process Initial Evaluation Conclusions and Future Work Outline

Andrea Zisman Background Monitoring of service-based systems –Collecting information about the execution of SBS and verifying if the system operates correctly based on system’s properties (monitor rules) SBS monitoring supports –adaptation, repair, and evolution of SBS –discovery and replacement of services –notification of SLA, business rules, and KPI violations –optimization of resource allocation Existing monitoring approached are based on: –Type of information being monitored (what) –Purpose of monitoring activity (why) –Used techniques for monitoring (how) Intrusive: instrumentation of the SBS or its services Non-intrusive: use special components to capture runtime service information

Andrea Zisman Motivation Monitoring approaches – assume monitor rules are pre-defined and known in advance Monitor needs to support changes in –SBS and services used by SBS –Types of interactions of users with the system –Context characteristics of the users interacting with the system

Andrea Zisman Motivation (Example) Cultural event service-based system (CE_SBS) S1: What’s going on (per city) S2: Ticket search and selection S3: Payment S4: Performance scheduling S5: Resource search and allocation S6: Catering S7: Performance review …

Andrea Zisman Framework Overview Pattern-based HCI-aware monitor adaptation framework (MADap) - changes in monitor rules due to user’s interaction and different types of user context Adaptation activities: identification, modification, creation, removal Rule patterns for different types of user context: role, skills, needs, preferences, cognition, time, location, environment Rules concerned with execution parts of SBS for a user context type User models for representing information about users Patterns and monitor rules represented in event- calculus (EC)

Andrea Zisman Context Types  Direct: information about the characteristics of users  Role: the social behavior of an individual within the domain of a SBS (e.g., occupation, access type, privilege)  Skill: the level of expertise of an individual with respect to a SBS (e.g., level of expertise, years of experience)  Preference: an individual’s choice over pre-established alternatives of computational resources of a SBS  Cognition: individual’s characteristics associated with the process of thought (the way that individuals think, feel or react; e.g., attention level, comprehensive ability)  Need: an individual’s requirement or desire from a SBS  Related: information that may influence data about a user  Time: the moment an individual interacts with a SBS  Location: the place where an individual interacts with a SBS  Environment: the environment where a SBS is used

Andrea Zisman User Context

Andrea Zisman Event Calculus Why? It supports –rule representation as first order logic providing expressiveness for large range of applications –specification of quantitative temporal constraints and relationships –distinction between events and states –definition of influences between events and states It uses events and fluents to represent system’s behavior –Event: action occurring at a specific time and may change the state of a system –Fluent: condition of a system state that may be affected by events

Andrea Zisman Event Calculus (Predicates) PredicateMeaning Happens (event, t, R(t1,t2))The occurrence of an event, at sometime t, where t is between t1 and t2 Initiates (event, fluent, t)The initialization of a fluent; which means a fluent starts to hold after an event occurs at a time t Initially P (fluent)The fluent holds (is valid) from time 0 Initially N (fluent)The fluent does not hold from time 0 HoldsAt (fluent, t)The fluent holds (is valid) at a time t Clipped (t1, fluent, t2)The fluent is terminated between the time interval specified by t1 and t2 Declipped (t1, fluent, t2)The fluent is initiated between the time interval specified by t1 and t2 Terminates (event, fluent, t) The fluent ceases to hold after an event occurs at a time t Plus: logical, relational, implication operators & axioms

Andrea Zisman MADap Architecture

Andrea Zisman Patterns Parts: –Monitor rule: properties of a systems that need to be monitored –Assumptions: formulae to identify system’s state information Event types –Operation request/response: prefix ic/ir –Initial/last event: ic_initial/ic_last –User interaction: ic/ir + user_op

Andrea Zisman Examples: Pattern Role R1: Happens (ic_start_CE, t1, R(t1,t1))  Happens (ic_shows, t2, R(t1,t1+2500)) Ass: Happens(ic_shows, t1, R(t1, t1))  Initiates (ic_shows, list_shows, t1) R2: Happens (ic_start_CE, t1, R(t1,t1))  Happens (ic_perfschedule, t2, R(t1,t1+3000)) Ass: Happens(ic_perfschedule, t1, R(t1, t1))  Initiates (ic_perfschedule, list_perfschedule, t1) Monitor Rule: Happens (ic_initialeventE, t1, R(t1,t1))  Happens (ic_operX, t2, R(t1,tn)) Assumption: Happens(ic_operX, t, R(t, t))  Initiates (ic_operX, fluent, t)

Andrea Zisman Pattern Cognition R3: Happens (ic_userIdentification, t1, R(t1,t1))  Happens (ir_userIdentification, t2, R(t1,t1+90)) Assumption: Happens(ic_userIdentification, t, R(t, t))  Initiates (ic_userIdentification, userIdentification, t) Monitor Rule: Happens (ic_OperX_User_op, t1, R(t1, t1))  Happens (ir_OperX_User_op, t2, R(t1, t1+(response time for OperX))) Assumption: Happens(ic_OperX, t1, R(t1, t1))  Initiates (ic_OperX, fluent, t1)

Andrea Zisman Adaptation Process Identify semi-instantiated pattern; Search for rules that match semi-instantiated pattern (SI); C1: repository has rules Set(R) that fully match SI pattern /*verify if time values in rules are consistent */ For every rule R in Set(R){ if time values in rules are consistent {rules maintained in the repository;} if time values in rules are not consistent {rules are modified with new time values based on SLAs/historical execution data;} }

Andrea Zisman Adaptation Process C2: repository has rules Set(R) that only match invariant part of SI pattern create new rule by instantiating time values for SI pattern; add new rule in repository; /*verification of the validity of rules*/ For every rule R in Set(R){ if there is valid path in SBS specification that uses R {time values for R are checked and adjusted if necessary;} if there is no valid path in SBS specification that uses R {R is removed from repository;}} C3: repository does not have rules that match SI pattern create new rule by instantiating time values for SI pattern; add new rule in repository;

Andrea Zisman Implementation and (Initial) Evaluation Prototype tool implemented Evaluation –CE-SBS with seven services –Demonstration of four adaptation cases: identification, modification, creation, removal –Context types: role, skills, need, preference, cognition –Five different cases

Andrea Zisman CasesResults 1: Empty repository29 rules with assumptions were created: 8 for context type role; 6 for context type need; 4 for context type skill; 8 for context type cognition; 3 for context type preference 2: Repository with 100 unrelated rules29 rules/assumptions were created (Case 1) 3: Repository with 29 related rulesFor each different context type relevant rules were identified 4: Repository with 29 related and 100 unrelated rules For each different context type relevant rules were identified (as in Case 3) 5: Repository with 100 unrelated and 27 related rules, and 5 rules that match invariant parts for each context type For each context type relevant rules from the 27 rules were identified, two rules were created, and 5 rules matching invariant parts were identified and checked for maintenance or removal from repository

Andrea Zisman Conclusions and Future Work Conclusions: –Framework for identifying, modifying, creating, and removing monitor rules expressed in EC –HCI-aware monitor adaptation –Use of rule patterns Current/Future Work: –Creation of more patterns –Evaluation: Performance Use of adapted rules –Extension of the work to support: Adaptation of assumptions Adaptation due to changes of several context types Patterns/Rules specified in other formalisms