Top Banner
Encapsule Systems Reducing Software Development Costs
38
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Encapsule Systems Reducing Software Development Costs.

Encapsule Systems

Reducing Software Development Costs

Page 2: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

The Software Food ChainW

e Think T

op-Dow

nW

e W

ork

Bot

tom

-Up Conceptual Requirements

SubsystemsSubsystem Interactions

Interconnection NetworksData Flow

Design PatternsLibraries

Objects / AssembliesProgramming Languages

Page 3: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Languages Have LimitationsConceptual Requirements

SubsystemsSubsystem Interactions

Interconnection NetworksData Flow

Design PatternsLibraries

Objects / AssembliesProgramming Languages

Expressive power of our

programming languages

starts to fail us

No problem – good process,

good tools

Page 4: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

The Software Quandary

Conceptual RequirementsSubsystems

Subsystem InteractionsInterconnection Networks

Data FlowDesign Patterns

LibrariesObjects / Assemblies

Programming Languages

How to we efficiently

describe the product

requirements?

Page 5: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Software Design Today

Conceptual Requirements

“Pseudo” Design Spec.

SubsystemsSubsystem Interactions

Interconnection NetworksData Flow

ΣProgramming Language

Break a big design problem into smaller design problems that you think can be solved…

Best effort

Page 6: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Software Production Today

Product?Subsystems

Subsystem InteractionsInterconnection Networks

Data FlowDesign Patterns

LibrariesObjects / Assemblies

Programming Languages

Extremely difficult code that must be

written by hand…

No problem

Page 7: Encapsule Systems Reducing Software Development Costs.

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

NO

Page 8: Encapsule Systems Reducing Software Development Costs.

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

Page 9: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Software Application

Software components

Interconnection logic

Hardware Device

Integrated circuits

Wires

Two Different Worlds?

==

Page 10: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Hardware Development

Requirements ModelsProcess /

production dataSimulation /Validation

Hardware Production

Layout Fabrication Test

Model-driven process

Production Specification

New hardware

Tools

Logic synthesis

CAD tools

Page 11: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

High-Level Software ModelingEncapsule Aurora™ CSDLComponent 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

Page 12: Encapsule Systems Reducing Software Development Costs.

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”

Page 13: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 14: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 15: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 16: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 17: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 18: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 19: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 20: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 21: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 22: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Partitioning

Page 23: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

CSDL Recombinant Models™

Software ApplicationModule

Socket Socket

SocketSocket

Module

Module

Module

Module

Page 24: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Encapsule Aurora™ Platform

SolutionModel Librarian

Specification Editor

Production Engine

CSDL Database•Pins•Processors•Sockets•Modules•Buses

User InterfaceCSDL editor

Logic SynthesisCSDL Circuit compile

CSDL elements CSDL circuit

Page 25: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Aurora™ Specification Editor

Screen Shots

Page 26: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Model Librarian

Page 27: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Specification 1

Page 28: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Specification 2

Page 29: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Specification 3

Page 30: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Specification 4

Page 31: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Model Librarian 2

Page 32: Encapsule Systems Reducing Software Development Costs.

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

Page 33: Encapsule Systems Reducing Software Development Costs.

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

Page 34: Encapsule Systems Reducing Software Development Costs.

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.

Page 35: Encapsule Systems Reducing Software Development Costs.

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

Page 36: Encapsule Systems Reducing Software Development Costs.

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

Page 37: Encapsule Systems Reducing Software Development Costs.

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

Page 38: Encapsule Systems Reducing Software Development Costs.

Copyright © 2003 Encapsule Systems, Inc.

Further Information

Chris Russell [email protected]

Encapsule Systems, Inc.170 Berryfield Road, Yarmouth, Maine 04096

(207) 846-7773