Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas.

Slides:



Advertisements
Similar presentations
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC Lawrence Chung The.
Advertisements

An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
Java Security: From HotJava to Netscape & Beyond Drew Dean, Edward W. Felten, Dan S. Wallach Department of Computer Science, Princeton University May,
Basic Concepts in Component-Based Software Engineering
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Eliciting Goals for Business Process Models with Non-Functional Requirements Catalogues Evellin C. S. Cardoso, João Paulo A. Almeida, Giancarlo Guizzardi.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
درس مهندسی نیازمندی ها استاد دکتر عبداله زاده دانشجو خیرالنسا مرچانت Dealing with NFR : Three Experimental Studies of a Process-Oriented Approach.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Dealing.
Addressing Non- functional Requirements in Software Architecture By: Dennis Bystritsky.
Usability 2004 J T Burns1 Usability & Usability Engineering.
Modeling challenges: Compliance (1/2) Compliance management has emerged as a major problem following major corporate governance scandals (e.g. Enron, WorldComm)
Refactoring workshop, WCRE'03 Software refactoring guided by multiple soft-goals Yijun Yu, John Mylopoulos, Eric Yu, Julio C. Leite, Linda Lin Liu, University.
Dealing with NFRs Vahid Jalali Amirkabir university of technology, Department of computer engineering and information technology, Intelligent systems laboratory,
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Non-functional requirements
Selecting COTS Products Using a Requirements-Based Approach
Problems in handling NFR Term Paper (as-is) problem statement BY AJAYKUMAR ASWATHAPPA CS/SE 6361 EXECUTIVE.
Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung.
The Software Development Life Cycle: An Overview
SE-565 Slide 1 SE-565 Software System Requirements Non-functional Requirements.
Capturing, Organizing, and Reusing Knowledge of NFRs: An NFR Pattern Approach Sam Supakkul 1 Tom Hill 2 Ebenezer Akin Oladimeji 3 Lawrence Chung 1 1 The.
1 TAPAS Workshop Nicola Mezzetti - TAPAS Workshop Bologna Achieving Security and Privacy on the Grid Nicola Mezzetti.
Objectives  Testing Concepts for WebApps  Testing Process  Content Testing  User Interface Testing  Component-level testing  Navigation Testing.
Virtual OSGi Framework and Telecommunications Sam Supakkul Yotta Networks Digital Pockets, LLC Dallas, Texas Lawrence Chung Dept.
Applying a Goal-Oriented Method for Hazard Analysis: A Case Study Sam Supakkul The University of Texas at Dallas Lawrence Chung The.
Service Transition & Planning Service Validation & Testing
Software Testing Testing types Testing strategy Testing principles.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
AMPol-Q: Adaptive Middleware Policy to support QoS Raja Afandi, Jianqing Zhang, Carl A. Gunter Computer Science Department, University of Illinois Urbana-Champaign.
1 Security in the Context of Dependability Tacksoo Im John D. McGregor School of Computing Clemson University ORNL Presentation.
Sam Supakkul Lawrence Chung The University of Texas at Dallas
Lecture 7: Requirements Engineering
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
1 ECCF Training 2.0 Implemental Perspective (IP) ECCF Training Working Group January 2011.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
COTS-Aware Requirements Engineering and Software Architecting
HR for XML WebService -- Week 2 System Design Phase Smartest Fish.
Requirements and Use Cases
Lecture 18: Object-Oriented Design
Developing Adaptable Software Architectures for Real-Time Systems Using Design Patterns Lawrence Chung, Kendra Cooper, Anna Yi The University of Texas.
COMPONENT DIAGRAM in UML 2.0 Veronica Carrega. PLAN OF TALK  Introduction about components  Components and component diagrams in uml 2.0  Case study.
A Mediated Approach towards Web Service Choreography Michael Stollberg, Dumitru Roman, Juan Miguel Gomez DERI – Digital Enterprise Research Institute
Evaluating Off-The-Shelf Architectural Components Kendra Cooper Lawrence Chung Weimin Ma
Evaluating the JBoss Application Server Architecture By Yichuan CaoSupervisor: Eleni Stroulia April 22, 2004.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Presented by Chin-Yi Tsai.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Sam Supakkul Network Surveillance Systems MCI Lawrence Chung Dept. of.
CS223: Software Engineering Lecture 13: Software Architecture.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
 Authors  Purpose  Main Phases  Related Literature  PDD  Examples  Conclusions.
Rule-based Context-aware Adaptation Using a Goal-Oriented Ontology Hongyuan Wang (Jilin University, China) Rutvij Mehta (The University of Texas at Dallas,USA)
Defining and Managing Project Scope. MOV Scope Phases Time Estimates Resources Tasks Schedule Budget Sequence Project Planning Framework.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
LOGO e-Citizen. Phan Nhật Minh Phạm Thị Dinh Vũ Xuân Đông Phạm Thị Huyền Nguyễn Thùy Trang
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
Supervisor : Trần Vinh Thu
COMPONENT & DEPLOYMENT DIAGRAMS
The University of Texas at Dallas
A Tutorial for a RE-Tool
Online Grades Calculation and Reporting Application
Integrating FRs and NFRs: A Use Case and Goal Driven Approach
Evaluating Off-The-Shelf Architectural Components
Presentation transcript:

Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas at Dallas

Component interoperability: current focus Functional interoperability Syntactic interoperability e.g. interface signature compatibility Semantic interoperability e.g. the meaning of “ID” used by the client and server

Functional interoperability: syntactic compatibility Client interface definition void addClasses(String[] c) Server interface definition void addClasses(Classes c) Client and server may compile but will not interoperate during run-time Required interface Provided interface

Non-functional interoperability question  The client expects secure interface.  The server claims it provides secure interface.  Can we conclude that the security expectation is met?

Non-functional mismatch – different NFR definition Client does not want the communication to be seen by third parties Server wants to make sure only valid client is using the interface

Non-functional mismatch – different NFR implementation

Non-functional interoperability: definition Definition compatibility Implementation compatibility

Non-functional interoperability analysis issues How to represent the opposing NFRs NFR definition NFR implementation How to compare the NFRs How to resolve non-functional mismatches

Non-functional interoperability analysis process and techniques UML component diagram  component  interface The NFR Framework  a goal-oriented method  NFR definition  NFR implementation

The NFR Framework: a review NFR softgoal naming convention = Type [Topic] Type = Security Topic = WebsiteComm operationalizing softgoal (implementation alternative) AND decomposition claim softgoal positive contribution negative contribution Select (check) alternatives that are desirable or give better trade-off Side-effect toward other NFRs By-product toward other NFRs AND decomposition Propagate the check labels upward

Step 1: Model component capabilities Functional components interfaces Non-functional NFRs definitions implementations

Step 1: Model component capabilities Login interface represents the realization of the operationalizing softgoal

Step 2: Identify capability mismatches

Mark the matched softgoals with common indicators Compare only the selected implementations Identify mismatches Compare the NFR softgoals and their refinement For each compatible interface Compare NFR softgoals (definition) For each compatible leaf NFR softgoal Compare operationalizing softgoals (implementation)

Types of non-functional mismatches Unsupported NFR Unneeded NFR Unsupported implementation Unneeded implementation Defined only by client Defined only by server NFR definition NFR implementation

Step3: Resolve non-functional mismatches 3.1 Replace server components to meet client’s expected NFRs 3.2 Negotiate for more attainable NFRs to adjust client’s expected NFRs if server’s NFRs are acceptable 3.3 Use adapter components to meet client’s expected NFRs without affecting server to satisfy server imposed restrictions without affecting client

Tactic 1: Replace server components Consider server components that provide the same functional interoperability Compare the NFR definition and implementation as normal

Tactic 2: Negotiate for more attainable NFRs For unsupported definitions and implementations (expected by client) Can they be removed or postponed? Are impacts (cost, security) acceptable or mitigated? If yes, remove them from the client’s NFR goal graph For unneeded definitions and implementations (imposed by server) Are they acceptable or desirable? Are impacts (cost, usability) acceptable or mitigated? If yes, add them to the client’s NFR goal graph

Tactic 3: Use adapter components - strategy Mismatches to be resolved Adaptation strategy For unsupported definitions and implementations (expected by client) Adapter supports the required definitions or implementations For unneeded definitions and implementations (imposed by server) Adapter uses the imposed implementation

Tactic 3: Use adapter components - result Use login/password as required by the client Use fixed smartcard ID to satisfy the server The adapter satisfies both the client and server Use SSL as required by the client

Observation Adapter circumventing stronger security measures Some security measures are not desirable e.g. smartcard for web applications Common in practice e.g. database connection manager component Opportunities for other non-functional interoperability analysis By claims and justifications By side-effects and by-products (correlations)

Conclusion Contributions Explicit representation of NFRs in the UML component diagram to depict both NFR expectations and contracts A process for non-functional interoperability analysis 3 tactics for resolving non-functional mismatches Future work Non-functional semantic matching e.g. JavaSecureLib=OpenSSLLib Interoperability analysis between the system-level NFRs and the integrated components Tool support

Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas at Dallas Thank you!