A Proposal for an Embedded Systems Pattern Language

Download Report

Transcript A Proposal for an Embedded Systems Pattern Language

A Proposal for an Embedded
Systems Pattern Language
David E. DeLano
Object Technology International
OOPSLA 2001
Begin at the Beginning
■
■
■
■
Pattern Languages
need to be in a context
Too many Patterns fall
in middle/end of PL
What got us to where
we are today?
Beginning helps identify
problems / Patterns
along the way
City Country Fingers - Alexander
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
2
What Defines an Embedded System?
■
■
■
■
■
■
■
■
Hardware?
Control?
Dedicated?
Small?
Fast?
Connected?
Independent?
Software?
DED - OOPSLA 2001
Hardware
Interfaces
Software
Copyright 2001 © Object Technology International
3
Embedded Systems as APL
■
The Distribution of
Towns
■
Distribution of
Components
■
City Country Fingers
■
Hardware/Software
■
Country Towns
■
Firmware
■
Magic of the City
■
Processor
■
Common Land
■
Data Storage
■
Scattered Work
■
Operating System
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
4
Where Do Patterns Occur?
■
Edges
– Define Borders
– Define Ports
■
Borders
– Interactions
– Responsibilities
■
Hardware
Interfaces
Software
Internal
– Sub-components
– New separations
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
5
Questions to Ask
■
■
■
■
■
■
■
Why do we need it?
How much do we need?
How do the parts interface?
What if we want more?
What if we want something different?
How do we define it?
How much will it cost?
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
6
OS Abstraction Layer
■
■
■
■
■
■
■
■
Assume agreement on having Software and OS
Want a more portable application or framework
Want multiple applications to be portable
Don’t want to worry about OS intricacies
Don’t want to worry about Hardware/Interfaces
Want to have/support standards
Don’t mind not using all OS/Hardware features
Want simpler system for designers to learn - once!
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
7
Examples
■
■
■
■
■
■
OS Class in ACE
Java VM
Real-Time Java
Proprietary Implementations
(Telephony)
Microkernel??*
Middleware Layer**
*POSA; Buschmann, Meunier, Rohnert, Sommerlad, Stal
**Software Reuse; Jacobson, Griss, Jonsson
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
8
Real-Time Java
■
■
■
■
■
■
■
■
■
Threads
Scheduling
Memory Management
Synchronization
Time
Timers
Asynchrony
System and Options
Exceptions
DED - OOPSLA 2001
Copyright 2001 © Object Technology International
9