Encapsule Systems Reducing Software Development Costs.

38
Encapsule Systems Reducing Software Development Costs

Transcript of Encapsule Systems Reducing Software Development Costs.

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

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

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?

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

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

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

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 ModelsProcess /

production dataSimulation /Validation

Hardware Production

Layout Fabrication Test

Model-driven process

Production Specification

New hardware

Tools

Logic synthesis

CAD tools

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

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 Socket

SocketSocket

Module

Module

Module

Module

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

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 [email protected]

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

(207) 846-7773