RO-1.1 Research Efforts in Software Engineering Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut Storrs,

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

Database System Concepts and Architecture
COM vs. CORBA.
CSE300-1 Profs. Steven A. Demurjian Q. Jin, J. Nam, Z. Qian and C. Phillips Computer Science & Engineering Department 191 Auditorium Road, Box U-155 The.
An Open Source Google Apps Integration (Bboogle) Patricia Goldweic, Sr. Software Engineer, Northwestern University.
Introduction To System Analysis and Design
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
CSE.RO-1.1 Research Efforts in Computer Science & Engineering at UConn Prof. Steven Demurjian, Prof. Reda Ammar, Prof. Robert McCartney, Prof. Thomas Peters,
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
CS 432 Object-Oriented Analysis and Design
© Copyright Eliyahu Brutman Programming Techniques Course.
CSE298 CSE300 OV-1.1 CSE333 Distributed Component Systems Overview and Course Objectives Prof. Steven A. Demurjian, Sr. Computer Science & Engineering.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
The chapter will address the following questions:
Web-based Software Development - An introduction.
Chapter 6– Artifacts of the process
Introduction To System Analysis and design
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Chapter 9: Novell NetWare
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
An Introduction to Software Architecture
ISU Alumni Association Online Store Abstract The Iowa State University Alumni Association desires a complete overhaul of their online store. The current.
Fundamentals of Database Chapter 7 Database Technologies.
Spring 2011 CIS 4911 Senior Project Catalog Description: Students work on faculty supervised projects in teams of up to 5 members to design and implement.
Architecting Web Services Unit – II – PART - III.
Introduction To System Analysis and Design
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
Archivists' Toolkit - CRADLE Presentation, 10 Feb The Archivists’ Toolkit CRADLE Presentation 10 Feb
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved COS240 O-O Languages AUBG,
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
D R A T D R A T ABSTRACT Every semester each department at Iowa State University has to assign its faculty members and teaching assistants (TAs) to the.
The overview How the open market works. Players and Bodies  The main players are –The component supplier  Document  Binary –The authorized supplier.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
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.
Business Applications– Using Java _____ Presented by Priya Saha.
System Architecture CS 560. Project Design The requirements describe the function of a system as seen by the client. The software team must design a system.
Advanced Software Engineering Dr. Cheng
J2EE Platform Overview (Application Architecture)
Web-based Software Development - An introduction
Chapter 8 Environments, Alternatives, and Decisions.
Recipes for Use With Thin Clients
Architecting Web Services
Architecting Web Services
Reference: COS240 Syllabus
Inventory of Distributed Computing Concepts
Analysis models and design models
Chapter 7 –Implementation Issues
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

RO-1.1 Research Efforts in Software Engineering Prof. Steven A. Demurjian Computer Science & Engineering Department The University of Connecticut Storrs, CT (860)

RO-1.2 Overview of Presentation  Reusable Component Framework (Demurjian)  Data Consistency, Interoperability and Architectural Design (Demurjian/Shin)  Security Issues for Distributed Applications Comprised of Legacy/COTS (Demurjian)  Architectural Specification/Deployment of Distributed Systems (Demurjian/Shvartsman)  Summary: Potential Interactions (All)

RO-1.3 Reusable Component Framework (Demurjian)  Popular OO Methodologies Omit/Ignore Reuse  Current Research Concentrates on Consumer (Reuser) and Not Producer (Creator)  Two-Fold Goal  Elevate Reuse to Equal Partner  Domain-and-Organization Specific Reuse  Capabilities of Evaluation Techniques  Identify the Reusable Portions of Design/Code  Estimate/Measure Reusability Automatically  Support Refactoring Guidelines for Reuse Improvement  For Newly Created Designs and Legacy Code  Design Reuse Evaluation Tool: C++ and Java

RO-1.4 Reusable Component Framework(Demurjian) General/Specific Characterization  Best Estimate on Potential Utility of Class  General Class (G)  Those Application Classes that Facilitate Domain-and-Organization Specific Reuse  Abstract Classes/Root Classes/Non-Leaf Classes in Inheritance Hierarchies  Specific Class (S)  Only Applicable in Current Applications  Unlikely to be Reused in Future Applications  Purposes  Determine Classes with Highest Reuse Potential for Organization’s Future Systems  Quantify Dependencies that Hinder Reuse

RO Reusable Component Framework(Demurjian) Demonstrating Levels of Generality DairyItemDeliItem Item ProduceItem NonPerishItemPerishItem BigYProdItemDoleProdItemBigYDairyItemHoodDairyItem Where can Item be Reused? Where can NonPerishItem and PerishItem be Reused? Where can ProduceItem and DairyItem be Reused? Are DoleProdItem and HoodDairyItem Specific?

RO-1.6 Reusable Component Framework(Demurjian) Reusability in Supermarket Domain Specific Applications for Big Y or Shaw’s or Stop/Shop (S) Root classes for Items, ItemDB, etc., which are Most General. Inventory Control Other Components. Classes Specific to Grocery Store Domain. Inventory Control Tool for Ordering Items from Suppliers Cost Accounting Tool for Tracking Net and Gross Profit

RO-1.7 Reusable Component Framework(Demurjian) Reusability in Supermarket Domain Specific Applications for Big Y or Shaw’s or Stop/Shop (S) Root classes for Items, ItemDB, etc., which are Most General. Inventory Control/Other Components. Classes Specific to Grocery Store Domain. Classes for Large Supermarket Classes for Specialty Supermarket Classes for 24 Hour Convenience

RO-1.8 Reusable Component Framework(Demurjian) The DRE Tool - Version 2.02

RO-1.9 Reusable Component Framework(Demurjian) Reusability in Together CC

RO-1.10 Reusable Component Framework(Demurjian) Status and Objectives  Work Currently Funded by Electric Boat, Inc. (T. Rando, T. Daggett, and M. Price) and Jointly Conducted with USNA (Dr. D. Needham)  Planned Research Over Next 12 Months  Complete Prototypes (DRE /TCC)  Genetic Algorithm for Refactoring/Assessment  Formal Reuse Model  XML/Reuse  Research - Through 2004  Focus on Comprehensive Reuse Framework  Guided Reusability Assessment/GA Analysis  Component Repository with Search Capabilities  Leverage Domain/Organization Specificity  UML, XML, and Java Components  See:  See:

RO-1.11 Data Consistency, Interoperability and Architectural Design (Demurjian/Shin) Legacy COTS Database NETWORK (LAN, WAN) Java Client Java Client How do Systems and Applications Interact? Applications Interact? What is the Role of XML, JDBC, ODBC, JINI, CORBA? How are New Clients Added? New Servers Added? New Servers Added? What are Performance Constraints? What Platforms Must Interact?

RO-1.12 Data Consistency, Interoperability and Architectural Design (Demurjian/Shin)  Reuse in a Distributed Computing Environment  Reuse Legacy/COTS in Innovative Ways  Not Cost Effective to Redesign/Reimplement  Wrappers for Cohesive/Seamless Interactions  Apply to Languages (C, C++, Ada, etc.) and Paradigms (OODBS, CORBA, RPC)  Address Communication, Translation, Security, Concurrency, Performance, Bandwidth, etc.  Communications Alternatives Dictated by Domain  Low-Level (Sockets) vs. Mid-Level (RCP, RMI) vs. High-Level (CORBA, DCOM, …)  Message/Database Translations via XML

RO-1.13 Data Consistency, Interoperability and Architectural Design (Demurjian/Shin)  Consistency in Distributed Environment  When is Data Sent from Client to Legacy Server?  Automatic (Regular) vs. User-Initiated?  When Network Traffic is Low?  Distributed Computing Spans Broad Spectrum  Database Interoperability  Many Platforms (Oracle, Sybase, Infomix, …)  Translation Between Different Databases  Exploring XML Capabilities  Funding:  Current: State of CT Insurance Department  Previous: Mitre Corp, Eatontown NJ

RO-1.14 Role-Security in Distributed Environment (Demurjian) Legacy COTS Database NETWORK (LAN, WAN) Java Client Java Client How is Security Handled for Individual Systems? for Individual Systems? Security Issues for New Clients? New Servers? Across Network? What if Security Never Available for Legacy/COTS/Database? for Legacy/COTS/Database? Can Software Agents be Utilized for Distributed Security? Authentication Is the Client who S/he Says they are? Authorization Does the Client have Permission to do what S/he Wants? Privacy Is Anyone Intercepting Client/Server Communications?

RO-1.15 Role-Security in Distributed Environment (Demurjian)  Can we Provide Customized Control to APIs of Legacy, COTS, Databases?  API Typically Public to All  No Explicit way to Prohibit Access  Only Exactly What’s Needed and No More  Current Research/Prototyping of Constraint-Based Distributed Role-Security Model  Integrated Prototype on NTs/Linux Using Java, Oracle/Access, and JINI/VisiBroker  Security Authorization/Management Tools  Clients Limited in API Usage Based on Role  Web Page Currently Under Development  Work Currently Funded by AFOSR(Previously Mitre)

RO-1.16 Architectural Specification/Deployment of Distributed Systems(Demurjian/Shvartsman)  Architect/Deploy of Distributed Software  Formal Definition (textually in Z or graphically in UML) of a Distributed Application  (Re)Deploy (Existing) New Distributed Application  Distributing Standalone Legacy Application  I 5 : An Integrated Five-Level Specification Framework for Distributed Systems  Support for the Architectural Specification of OO and Component Based Distributed Systems  With a Uniform Notation and With Different Levels of Abstraction

RO-1.17 SOFTWAREHARDWARE Dependencies Deployment Performance: Efficient Use of Resources w.r.t. Throughput/Number of Messages Integrated Framework for Design and Deployment Architectural Specification/Deployment of Distributed Systems(Demurjian/Shvartsman)

RO-1.18  The Five Levels of I 5  Interface (I1) - Types of Components, Nodes and Connectors  Implementation (I2) - Classes of Components, Nodes and Connectors  Integration (I3) - Dependencies Between Component and Node Classes  Instantiation (I4) - Instances of Each Class Definition  Installation (I5) - Deployment of Each Instance (Requirements and Complete Deployment) Architectural Specification/Deployment of Distributed Systems(Demurjian/Shvartsman) Abstraction Detail

RO-1.19 Dependencies Between Levels Component TypesNode Types INTERFACE IMPLEMENTATION INTEGRATION INSTANTIATION INSTALLATION Component ClassesNode Classes Implementation Dependencies Inst. ComponentsInst. Nodes Installation Req. (together,separated) Installation Req. (fix location) Complete Installation System Instantiation

RO-1.20 A First Look at the Interface Level  Component and Node Types Are Specified As Well As Their Connections. PNODE CITY PUZZLE SLIST PATH USERBASE TCP/IP types INTERFACE INHERITANCE IMPLEMENTATION INSTANTIATION INSTALLATION

RO-1.21 A First Look at the Inheritance Level  Two Types of Inheritance:  Implementation  Inheritance  Interface  Refinement WINDOW DIALOG BOX x_window x_dialog box w_window w_dialog box classes types INTERFACE INHERITANCE IMPLEMENTATION INSTANTIATION INSTALLATION

RO-1.22 A First Look at the Implementation Level  Implementation Constraints State the Class of Node Where Each Implementation Class of Component Should Run puzzleslistpath user > stereotypesclasses INTERFACE INHERITANCE IMPLEMENTATION INSTANTIATION INSTALLATION

RO-1.23 A First Look at the Instantiation Level  Instantiation Identifies the Instance Components and Computers of Each Class That Form Part of the Actual System pnode: PNODE puzzle: PUZZLE slist1: SLIST city: CITY slist2: SLIST path: PATH instances INTERFACE INHERITANCE IMPLEMENTATION INSTANTIATION INSTALLATION user1: USER user2: USER base1: BASE base2: BASE

RO-1.24 Complete Installation user1: USER user2: USER base2: BASE base1: BASE puzzle: PUZZLE slist1: SLIST slist2: SLIST path: PATH pnode: PNODE city: CITY

RO-1.25 Architectural Specification/Deployment of Distributed Systems(Demurjian/Shvartsman)  Benefits of I 5  Organize Design of New Systems and Documentation of Existing Systems  Firm Basis for Configuration Management  UML Usage Exploits Large User Community  Other Aspects of Framework  Binary Integer Programming Model  Optimal Deployment Based on Communication  Tested on Toy, Seek Real OO Applications  Explored Genetic Algorithm for Deployment  Ph.D. Research of C. Bastarrica  

RO-1.26 Summary: Potential Interactions (All)  Funded Interactions  Faculty Consulting (Year Round/Sabbaticals)  Funded Research Contracts to UConn  Faculty Funding During Summer/Academic Year  Graduate Student Research Assistantships  Cooperative Research Funding  Collaborations  Faculty Presentations  Industry Presentations (CSE Courses)  Graduate/Undergraduate Semester Projects