H1 R1 T1 c Client Director Builder Client Concrete Strategy Builder Strategy H2 R2 T2 H3 R3 T3 Composition of Builder and Strategy Java Source Code Parser.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Haystack: Per-User Information Environment 1999 Conference on Information and Knowledge Management Eytan Adar et al Presented by Xiao Hu CS491CXZ.
A component- and message-based architectural style for GUI software
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
James Martin CpE 691, Spring 2010 February 11, 2010.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Exception Handling. Background The fact that software modules should be robust enough to work under every situation. The exception handling mechanism.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Architecture & Data Management of XML-Based Digital Video Library System Jacky C.K. Ma Michael R. Lyu.
Students:Gilad Goldman Lior Kamran Supervisor:Mony Orbach Mid-Semester Presentation Spring 2005 Network Sniffer.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
AspectJ2EE/Clasa Israel Institute of Technology The Computer Science department Itay Maman.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
Review David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Review What have we done during the course? Which topics we have not discussed?
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
 Separating system’s concerns from programmer’s concerns  Language constructs for programming distributed systems  Transparency to various system dependent.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
A Survey of Software Refactoring Tom Mens, Tom Tourwé
Secure Systems Research Group - FAU Aspects and mobile applications Sergio Soares Paulo Borba, “PaDA: A Pattern for Distribution Aspects” In Second Latin.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
 Chapter 6 Architecture 1. What is Architecture?  Overall Structure of system  First Stage in Design process 2.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Secure Systems Research Group - FAU Classifying security patterns E.B.Fernandez, H. Washizaki, N. Yoshioka, A. Kubo.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Copyright © PASS Consulting Corp., Miami 2001 XX/1 XML Application Server.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
Generative Programming. Automated Assembly Lines.
Event Processing A Perspective From Oracle Dieter Gawlick, Shailendra Mishra Oracle Corporation March,
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Abstraction of Transaction Demarcation in Component-Oriented Middleware Romain Rouvoy - Philippe Merle Jacquard INRIA Project LIFL –
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
An OBSM method for Real Time Embedded Systems Veronica Eyo Sharvari Joshi.
Shuman Guo CSc 8320 Advanced Operating Systems
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
TAKE – A Derivation Rule Compiler for Java Jens Dietrich, Massey University Jochen Hiller, TopLogic Bastian Schenke, BTU Cottbus/REWERSE.
Modeling with Filter Objects in Distributed Systems Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology, Bombay.
Presented by: Samia Azhar( ) Shahzadi Samia( )
CS223: Software Engineering Lecture 14: Architectural Patterns.
CSI WG / IETF741/12 Implementation of SeND/CGA and Extensions Beijing University of Posts and Telecommunications HUAWEI.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
CIS 375 Bruce R. Maxim UM-Dearborn
Software architecture
Authors: Khaled Abdelsalam Mohamed Amr Kamel
Model-Driven Analysis Frameworks for Embedded Systems
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Object Oriented Programming
Architectural Design.
Chapter 9 Architectural Design.
LECTURE 2: The Object Model
Principles of Programming Languages
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

H1 R1 T1 c Client Director Builder Client Concrete Strategy Builder Strategy H2 R2 T2 H3 R3 T3 Composition of Builder and Strategy Java Source Code Parser and Fact Generator Fact-Base Design-Pattern Rule-Base TyRuBa or Prolog Pattern and Intent Aspect Base Predicate Templates Virtual File System Device Drivers Memory Management Scheduler Interrupt Handling Wrappers Core kernel URA Artifact Anchor Classification Features Semantic-based Version info Attributed Links to Other URAs Artifact Extraction Mechanism Meta Information Sheet Artifact Authentication Mechanism URA Model

A new methodology of object oriented design which proactively includes design patterns during Object Oriented development Presents key attributes (Size, static adaptability, dynamic adaptability, extensibility) of design patterns and a mechanism to quantify them. A new representation of design patterns, called pattern graph, which mainly facilitates derivation of metrics, was introduced D. Janakiram, K. N. Anantharaman, K. N. Guruprasad, M. Sreekanth, S.V.G.K. Raju and A. Ananda Rao An Approach for Pattern Oriented Software Development Based on a Design Handbook Annals of Software Engineering, Vol. 10, 2000, pp Pattern Oriented Software Development Pattern oriented refactoring J Rajesh and D Janakiram JIAD: A Tool to Infer Design Patterns in Refactoring Proceedings of the 6th ACM-SIGPLAN International Conference on Principles and Practice of Declarative Programming, August Automates the identification of intent aspects which helps in applying suitable design patterns during refactoring Methodologies for identifying design patterns from code developed using Object Oriented and procedural methodologies H R T G T : Number of Template methods H : Number of Hook methods R : Number of Rigid methods Client Class Gate Simple call link Composite call link Java Source Code Parser and Fact Generator Fact-Base Design-Pattern Rule-Base TyRuBa or Prolog Pattern and Intent Aspect Base Predicate Templates

Transparent interception of messages delivered to an object Language extensions in C++ for supporting message filters Message filters as high level design patterns for building distributed object systems R. K. Joshi, N. Vivekananda, D. Janakiram Message Filters for Object Oriented Systems Software Practice & Experience, Vol 27(6), pp (June 1997) Message Filters For OO Systems Shadow Objects : A Programming Model for Service Replication A programming model to address the needs of control replication in distributed object oriented systems Primitives for building highly redundant and available services Messages accessing the services of a server object are captured on-the- fly and appropriately scheduled on the replicas R. K. Joshi, and D. Janakiram Shadow Objects: A Programming Model for Control Replication in Distributed Systems Journal of Parallel and Distributed Computing, Oct, Server.m()fm() Object Client Object Filter Object Server Replicate Agent Replica 2Replica 1 Public Interface Capture Specification Captured message

Design a system using the fine grain design structures T, H and R as basic building blocks of design Estimate various quality metrics using design structures Design structures Framework for Design Pattern Composition using Design Structures D. Janakiram and M.S Rajasree Framework for Design Patterns Composition QAOOSE'2003, in conjunction with 17th European Conference on Object-Oriented Programming ECOOP 2003 Analyze different types of pattern interactions Compose design patterns using design structures T1T1 H1H1 R1R1 T2T2 H2H2 R2R2 G C Pattern Graph for Composite Pattern H1 R1 T1 c Client Director Builder Client Concrete Strategy Builder Strategy H2 R2 T2 H3 R3 T3 Composition of Builder and Strategy D. Janakiram, P. Jithendra Kumar Reddy and M S Rajasree An Approach to Estimate Design Attributes of Interacting Patterns, QAOOSE'2003, in conjunction with 17th European Conference on Object-Oriented Programming ECOOP 2003

Redesign of Linux kernel to build a secure and maintainable Object Oriented framework for Linux kernel A C++ wrapper framework for Linux kernel which provides Object Oriented view of kernel to the external modules Augment wrapper framework with Object oriented filter support for transparent filtering. A device driver recovery model based on filters A dynamic security model based on Object Oriented filters for hardening the kernel D Janakiram, Ashok Kumar G, Suneetha N, Vineeth Rajani, Vinay Kumar Reddy K Object Oriented Wrappers for Linux Kernel, Accepted in Software-Practice and Experience Object Oriented Linux Virtual File System Device Drivers Memory Management Scheduler Interrupt Handling Wrappers Core kernel Design of Wrapper Based Kernel Pager Swapper Process Int. HandlerHandler Concrete handler BhHandler WorkQueueTask Lock Mutex Semaphore SpinLock Module DriversModules CharDriver BlockDriver PCIDriver Object Oriented Wrapper Framework for Linux Kernel

Semantics based versioning A generic model for semantic based version management in projects Support for capturing change propagation in large projects S. Srinath, R. Ramakrishna and D. Janakiram Generic Model for Semantics Based Versioning in Projects IEEE Transactions on Systems, Man and Cybernetics, Part A, March, 2000 Model to capture versioning of designs in Object-Oriented Databases based on the concepts of Design Attributes, Design Equivalences and Design Versions. R. Ramakrishnan and D. Janakiram Modeling Design Versions Proceedings of the 22nd International Conference on Very Large Databases, VLDB'96 Modeling Design Versions X : 10 Y : 20 X : 20 Y : 20 X : 10 Y : 30 Modify A new Design Version A new Design Equivalent Design Attribute : x A1 A2