Encapsule Systems Reducing Software Development Costs.

Slides:



Advertisements
Similar presentations
Developed by Reneta Barneva, SUNY Fredonia
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
02/12/00 E-Business Architecture
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
Copyright  1999 Daniel D. Gajski IP – Based Design Methodology Daniel D. Gajski University of California
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
1 Platform-Based Design A paper by Alberto Sangiovanni-Vincentelli EE 249, 11/5/2002 Presenter: Mel Tsai.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Distributed Systems: Client/Server Computing
CSC230 Software Design (Engineering)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software System Integration
Software maintenance Managing the processes of system change.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Slide 1 Copyright © 2003 Encapsule Systems, Inc. Hyperworx Platform Brief Modeling and deploying component software services with the Hyperworx™ platform.
CPTE 209 Software Engineering Summary and Review.
Figure 1 Hyperworx Platform Technical Disclosure [ Figure 1 ] © 2003 Encapsule Systems, Inc. Revised: 9/9/2015 Hyperworx Conceptual Diagram Hyperworx embodies.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
1 SYS366 Week 3 Lecture 1 Introduction to Requirements Gathering: Part 1.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
CHAPTER FOUR COMPUTER SOFTWARE.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Introduction to Interactive Media Interactive Media Tools: Software.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
7-1 Embedded Systems Algorithms and Software Design Lecture Notes 7.
Versus JEDEC STAPL Comparison Toolkit Frank Toth February 20, 2000.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
HRL © 2009 IBM Corporation Model-Driven Product-Lines for Embedded Software and for Supply-Chain Companies Tali Yatzkar-Haham Julia Rubin,
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Part VII: Design Continuous
1 CMPT 275 High Level Design Phase Modularization.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Computer Science 340 Software Design & Testing Software Architecture.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
The Information Systems Development Processes Chapter 9.
Definition of CIM “CIM is the integration of the total manufacturing enterprise through the use of integrated systems and data communications coupled.
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Software Maintenance
Software Engineering Lecture #14.
Cost Xpert Group Copyright © 2001, Marotz, Inc..
Good Morning/Afternoon/Evening
CS310 Software Engineering Lecturer Dr.Doaa Sami
Logical Architecture & UML Package Diagrams
Presentation transcript:

Encapsule Systems Reducing Software Development Costs

Copyright © 2003 Encapsule Systems, Inc. The Software Food Chain We Think Top-Down We Work Bottom-Up Conceptual Requirements Subsystems Subsystem Interactions Interconnection Networks Data Flow Design Patterns Libraries Objects / Assemblies Programming Languages

Copyright © 2003 Encapsule Systems, Inc. Languages Have Limitations Conceptual Requirements Subsystems Subsystem Interactions Interconnection Networks Data Flow Design Patterns Libraries Objects / Assemblies Programming Languages Expressive power of our programming languages starts to fail us No problem – good process, good tools

Copyright © 2003 Encapsule Systems, Inc. The Software Quandary Conceptual Requirements Subsystems Subsystem Interactions Interconnection Networks Data Flow Design Patterns Libraries Objects / Assemblies Programming Languages How to we efficiently describe the product requirements?

Copyright © 2003 Encapsule Systems, Inc. Software Design Today Conceptual Requirements “Pseudo” Design Spec. Subsystems Subsystem Interactions Interconnection Networks Data Flow Σ Programming Language Break a big design problem into smaller design problems that you think can be solved… Best effort

Copyright © 2003 Encapsule Systems, Inc. Software Production Today Product? Subsystems Subsystem Interactions Interconnection Networks Data Flow Design Patterns Libraries Objects / Assemblies Programming Languages Extremely difficult code that must be written by hand… No problem

Copyright © 2003 Encapsule Systems, Inc. Did We Succeed? Product? Test against design specification OK? $ Back to production $ Alpha test Beta release OK? $$$ Back to design $$$ NO

Copyright © 2003 Encapsule Systems, Inc. Addressing the Problem Current languages and tools fail to help us design and produce: Subsystems Subsystem Interactions Interconnection Networks Data Flow Software Application Software components Interconnection logic

Copyright © 2003 Encapsule Systems, Inc. Software Application Software components Interconnection logic Hardware Device Integrated circuits Wires Two Different Worlds?

Copyright © 2003 Encapsule Systems, Inc. Hardware Development Requirements Models Process / production data Simulation / Validation Hardware Production LayoutFabricationTest Model-driven process Production Specification New hardware Tools Logic synthesis CAD tools

Copyright © 2003 Encapsule Systems, Inc. High-Level Software Modeling Encapsule Aurora™ CSDL Component Software Description Language  Software model integration protocol  Defined by XML schema  Based on electrical circuit metaphor  Describes:  Low-level software components  Component interconnection patterns  Software applications

Copyright © 2003 Encapsule Systems, Inc. Aurora™ CSDL Hierarchy  CSDL “Processor” - Components  Low-level component software description  Expressed in terms of CSDL “Pins”  CSDL “Module” – Recombinant Models™  Network of “Processors” containing:  Inter-processor connections  CSDL “Sockets”  CSDL “Circuit” – Software Application  Network of “Modules” assembled using:  CSDL “Sockets” and “Buses”

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Partitioning

Copyright © 2003 Encapsule Systems, Inc. CSDL Recombinant Models™ Software ApplicationModule Socket Module

Copyright © 2003 Encapsule Systems, Inc. Encapsule Aurora™ Platform Solution Model Librarian Specification Editor Production Engine CSDL Database Pins Processors Sockets Modules Buses User Interface CSDL editor Logic Synthesis CSDL Circuit compile CSDL elementsCSDL circuit

Copyright © 2003 Encapsule Systems, Inc. Aurora™ Specification Editor Screen Shots

Copyright © 2003 Encapsule Systems, Inc. Model Librarian

Copyright © 2003 Encapsule Systems, Inc. Specification 1

Copyright © 2003 Encapsule Systems, Inc. Specification 2

Copyright © 2003 Encapsule Systems, Inc. Specification 3

Copyright © 2003 Encapsule Systems, Inc. Specification 4

Copyright © 2003 Encapsule Systems, Inc. Model Librarian 2

Copyright © 2003 Encapsule Systems, Inc. Aurora™ Process Roles  Requirements specification (CSDL Circuit creation)  Non-technical task performed by anyone  Application architecture (CSDL Module definitions)  Senior/Principle Design Engineering staff  Application Implementation (CSDL Processor definitions)  Junior/Senior Production Engineering staff

Copyright © 2003 Encapsule Systems, Inc. Aurora™ Platform Benefits  Lower development costs  Decouples requirements & technology  Decouples specification & implementation  Top-down holistic process  Superior technology re-use  Early testing = fewer defects  Clearly defined maintenance / migration

Copyright © 2003 Encapsule Systems, Inc. Modeling Tools Today  Leverage OO programming concepts  Good for OO (C++/Java) components  Poor for complex interconnect nets  Function of OO programming languages  Adoption problems (10% adoption) Aurora™ used in addition to, not in place of current tools.

Copyright © 2003 Encapsule Systems, Inc. Where Can This Be Useful? Potential markets for Aurora™:  Enterprise software  Multi-billion dollar space  Desktop software  Multi-billion dollar space  Development tools  Multi-billion dollar space  Embedded systems  100’s of millions dollars

Copyright © 2003 Encapsule Systems, Inc. How to Play? Business model selection:  Create and sell shrink wrapped product?  Compete against existing players  License core technology?  Partner with existing players  Sell integration services?  Use tool internally for competitive advantage  Operate as an Application Service Provider (ASP)  Give the tool away / sell models

Copyright © 2003 Encapsule Systems, Inc. Challenges  Short Term  Extensive market research required  Product completion  Limited funding  Long Term  Significant marketing effort  Evangelism + customer education  Ongoing fund raising efforts

Copyright © 2003 Encapsule Systems, Inc. Further Information Chris Russell Encapsule Systems, Inc. 170 Berryfield Road, Yarmouth, Maine (207)