60 likes | 231 Views
Strategy. Java Source Code. Attributed Links to Other URAs. URA. Classification Features. Parser and Fact Generator. Predicate Templates. Artifact Anchor. Virtual File System. Semantic-based Version info. Fact-Base. Design-Pattern Rule-Base. Device Drivers. Memory
E N D
Strategy Java Source Code Attributed Links to Other URAs URA Classification Features Parser and Fact Generator Predicate Templates Artifact Anchor Virtual File System Semantic-based Version info Fact-Base Design-Pattern Rule-Base Device Drivers Memory Management Scheduler Wrappers Interrupt Handling TyRuBa or Prolog T3 T1 T2 Artifact Extraction Mechanism Meta Information Sheet Artifact Core kernel Authentication Mechanism c H1 H3 H2 Pattern and Intent Aspect Base R1 R3 R2 URA Model Builder Director Client Concrete Strategy Client Builder Composition of Builder and Strategy Software Engineering Research @ DOS Lab, IIT-Madras
Java Source Code Parser and Fact Generator Predicate Templates Fact-Base Design-Pattern Rule-Base TyRuBa or Prolog Pattern and Intent Aspect Base T T : Number of Template methods H : Number of Hook methods H R : Number of Rigid methods R Gate Simple call link G Composite call link Client Class Pattern Oriented Software Development 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. 329-358 . • 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 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 2004. • 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
Server.m() f m() Object Client Object Filter Object Server Public Interface Capture Specification Replicate Agent Captured message Captured message Replica 2 Replica 1 Shadow Objects : A Programming Model for Service Replication R. K. Joshi, and D. Janakiram Shadow Objects: A Programming Model for Control Replication in Distributed Systems Journal of Parallel and Distributed Computing, Oct, 1999. • 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 • 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 Message Filters For OO Systems R. K. Joshi, N. Vivekananda, D. Janakiram Message Filters for Object Oriented Systems Software Practice & Experience, Vol 27(6), pp. 677-699 (June 1997)
Strategy T1 T2 H1 G H2 T1 T3 T2 C R1 R2 H2 H3 H1 R1 R3 R2 Pattern Graph for Composite Pattern Builder Director Design structures c D. Janakiram, P. Jithendra Kumar Reddy and M S RajasreeAn Approach to Estimate Design Attributes of Interacting Patterns , QAOOSE'2003, in conjunction with 17th European Conference on Object-Oriented Programming ECOOP 2003 • 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 Client Concrete Strategy Client Builder Composition of Builder and Strategy 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
Virtual File System Device Drivers Memory Management Scheduler Wrappers Interrupt Handling Core kernel Design of Wrapper Based Kernel Process Int. Handler Handler BhHandler Swapper Pager Concrete handler Task WorkQueue Module Lock Modules Drivers Mutex Semaphore SpinLock CharDriver BlockDriver PCIDriver Object Oriented Wrapper Framework for Linux Kernel Object Oriented Linux • 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 • 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.
Modeling Design Versions R. Ramakrishnan and D. Janakiram Modeling Design VersionsProceedings of the 22nd International Conference on Very Large Databases, VLDB'96 • Model to capture versioning of designs in Object-Oriented Databases based on the concepts of Design Attributes, Design Equivalences and Design Versions. X : 20 Y : 20 A2 Semantics based versioning A1 A new Design Version Modify 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 X : 10 Y : 20 A1 • A generic model for semantic based version management in projects • Support for capturing change propagation in large projects X : 10 Y : 30 Design Attribute : x A new Design Equivalent