Model Driven Development using

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

- 1 - Component Based Development R&D SDM Theo Schouten.
Chapter 1 The Systems Development Environment
SSIS Over DTS Sagayaraj Putti (139460). 5 September What is DTS?  Data Transformation Services (DTS)  DTS is a set of objects and utilities that.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
1 SERVICE ORIENTED ARCHITECTURE ANTHONY GACHANGO D61/70547/2008 DIS 601.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
CIS 234: Object-Oriented Programming with Java
The Holmes Platform and Applications
Information System Applications
J2EE Platform Overview (Application Architecture)
Progress Apama Fundamentals
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Appium Studio Appium testing made easy at any scale.
Segments Introduction: slides 2–6, 8 10 minutes
EI Architecture Overview/Current Assessment/Technical Architecture
Component and Deployment
CIM Modeling for E&U - (Short Version)
Netscape Application Server
Modern Systems Analysis and Design Third Edition
N-Tier Architecture.
Sabri Kızanlık Ural Emekçi
Chapter 1 Introduction to Computers, Programs, and Java
Self Healing and Dynamic Construction Framework:
GWE Core Grid Wizard Enterprise (
Cross Platform Development using Software Matrix
Modern Systems Analysis and Design Third Edition
Design and realization of Payload Operation and Application system of China’s Space Station Wang HongFei 首页.
Mastering UML with Rational Rose 2002
Software Reuse ©Ian Sommerville 2006.
Intent To provide a framework to manage the process of software salvage and promote loose coupling through message passing. Salvage means recycling significant.
Distribution and components
Part 3 Design What does design mean in different fields?
Web Application Modeling
CORBA Within the OS & Its Implementation
Understand Windows Forms Applications and Console-based Applications
A Case Study on Enterprise Architecture
Distributed System Concepts and Architectures
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Advantages OF BDD Testing
LFM Software Using Microsoft Azure Delivers a Step Change in Asset Management, Combining Intelligence and Real-World 3D Visualization TEMPLAE NOTES Our.
System And Application Software
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Modern Systems Analysis and Design Third Edition
Lecture 1: Multi-tier Architecture Overview
Inventory of Distributed Computing Concepts
Tools for Composing and Deploying Grid Middleware Web Services
Keep Your Digital Media Assets Safe and Save Time by Choosing ImageVault to be Your Digital Asset Management Solution, Hosted in Microsoft Azure Partner.
Resources and Schedule
Modern Systems Analysis and Design Third Edition
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Quality Assurance for Component-Based Software Development
C++/Java/COM Interoperability
Modern Systems Analysis and Design Third Edition
Mark Quirk Head of Technology Developer & Platform Group
.Net for Test and Measurement
Presentation transcript:

Model Driven Development using Software Matrix Tilak Patel Advisor: Dr. James Fawcett 21 December 2007

Research Overview Efficient Support for software salvage using Model Driven Development approach Salvage: lifting significant blocks of existing systems and inserting them into newly developed system We develop a framework to facilitate Rapid Application development using Model Driven Development approach We show how the Software Matrix framework can be used for the development of such framework Developing a prototype Computer-Aided Software Engineering tool for software development with effective software salvage Advantages: reduced development cost and maintenance cost, gains in development schedule and quicker time to market, increased robustness and quality Message Passing to achieve loose coupling between various system blocks

Software Reuse Not a new idea Effective reuse promises: Reduced development and maintenance cost Gains in development schedule and quicker time to market Increased robustness and quality Prior approaches object-oriented reuse component-oriented reuse Neither software reuse nor CASE is new idea however if we didn't re-invent the wheel from time to time, we still be riding on stone wheels

Model Driven Development Commercial products using same approach: IBM Rational Rose Sparx Enterprise Architect Separate design from architecture and choosing from the best and most fitting in both domains Existing piece of code always part of design but lack of frameworks supporting Salvage Old saying about the shoemaker’s children: the shoemaker is so busy making shoes for others that his children don’t have shoes of their own. Many software developers are “shoemaker’s children” Although these technical professionals build complex systems and products that automates the work of others, they used very little automation themselves. Differences between approaches and concepts used to realize designs and the concepts and technologies used to realize architectures Definition of Model Driven Development: The Model Driven Development approach defines system functionality using a platform-independent model (PIM) using an appropriate domain-specific language. Then, given a platform definition model (PDM) corresponding to CORBA, .NET, the Web, etc., the PIM is translated to one or more platform-specific models (PSMs) that computers can run. The PSM may use different Domain Specific Languages, or a General Purpose Language like Java, C#, Ruby, Python, etc. (ref: wikipedia) Various Model Driven Development Approaches (commercial products like rational rose and Sparx) Software Reuse models (Object Oriented Reuse, Component Oriented Reuse)

Matrix Framework Framework for reuse Integrated Network of Cells with Cells supporting automated testing Simple XML messaging interface with auto Cell discovery Sync and Async message passing Loosely coupled code blocks for effective software salvage Heterogeneous network of Cells possible Auto cell discovery on in local Matrix

A Closer Look at Matrix Cells Message Queues for communication with other Cells Unique Cell ID Capability List for advertising services Functionality which is the processing for the services provided Dispatcher thread monitoring blocking queue and processing messages GUID as unique ID Switch-case for different message types

Improvements to the Software Matrix Test Support Enabled Cells: Cells can be loaded in Automated Test Harness for automated testing Auto Cell Discovery: Cell can now discover Cells from local Matrix for required functionality Intelligent Loader: Loader directly registering Cells based on Cell diagram and so direct message exchange between Cells without Mediator

Athena Designer Prototype Computer Aided Software Engineering tool Design time support for Model Driven Development with compatibility with Visual Studio 2005 and later versions Developed using Windows Presentation Foundation (.NET 3.0)

Athena Designer Components myCanvas : provides hosting panel to create Cell Diagrams and does line routing between the Cell connections . diagramInfo: maintains information related to diagram constructed on canvas. codeGen: generates code compatiable with Visual Studio 2005 and later versions Next slide has more details (Screenshot) about line routing

Line Routing See: Chapter 4, page 54

Line Routing See: Chapter 4, page 55

Sample Cell Diagram See: Chapter 2, page 21

Project Templates See: Chapter 4, page 57 Original project file snippet Template to create emptyCell snippet <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="8.00" Name=”emptyCell” ProjectGUID=”{BD2CE710-DEE2-4b4b-869F- 4B6E0CC612C8}” RootNamespace=”matrix” Name=" [ ! safe projectname ] " ProjectGUID=" { [ ! safe GUID ] } " RootNamespace="[!safe rootnamespace ] " See: Chapter 4, page 57

Code Generation Mapping between Cell Diagram and Visual Studio Solution See: Chapter 4, page 49

Test Application: Process and Port Sniffer Scans machine to observe processes running and ports currently hosting connection We demonstrate construction of Sniffer Application using Model Driven Development approach We construct Cell Diagram using Athena Designer and generate code to build Sniffer application

Components of Sniffer Application Sniffer block: observes all processes running or ports hosting a connection and updates safe/unsafe process/port list Communication block: exchange information between server-client and exchange commands from client to server to update safe/unsafe list User interface block: accept user command and display safe/unsafe process/port information. Executive block: host Sniffer block and communication block at server

Cell Diagram: Sniffer Server See: Chapter 3, page 41

Cell Diagram: Sniffer Client See: Chapter 3, page 44

Generated Sniffer Application Project See: Chapter 3, page 43

Instance of Sniffer Application See: Chapter 3, page 45

Thesis Conclusions Model Driven Development with effective software salvage is possible and we have developed prototype tool and framework to support it Our work shows that effective software salvage is possible without drastic change in software development process with framework developed using Software Matrix

Thesis Conclusions Our work shows that Model Driven Development using Software Matrix is based on system decomposition and is better suited for system development environment characterized by rapidly changing conditions and requirements Our work shows how placeholder cells evolves into new “standard” cells easily

Thesis Conclusions We have demonstrated that Model Driven Development with effective software salvage increases development speed and helps to ensure that quality is built into the system.

Future Work Integrated Designer, Repository and Test Harness server Auto Upgrading Systems with real time Cell replacement or up-gradation Cross platform wrapper Cell to develop application with Cells developed using different languages Load balancing Sophisticated Network Cells

Thank You