© M.E. Fayad 2000-2006 SJSU -- CmpE
Software System Engineering
Dr. M.E. Fayad, Professor
Computer Engineering Department, Room #283I
College of Engineering
San José State University
One Washington Square
San José, CA 95192-0180
http://www.engr.sjsu.edu/~fayad
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S2 Model-Based Arch.
2
Lesson 21:Stable Model-Based
Architectures
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S3 Model-Based Arch.
Lesson Objectives
Objectives
3
Understand model-based architecture Explore the base for reuse Understand the impact of software stability on reuse Apply the software stability in a case study
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S4 Model-Based Arch.
Size of Software product increases fast
Software product becomes more and more complex
Existing large amount of commonality from one software to another
4
Why reuse?
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S5 Model-Based Arch.
Model is critical for the software
Model reuse is efficient and productive
Traditional model is hard to reuse because it is unstable under changes
SSM is naturally suit for model reuse for its stability and adaptability
5
More on Why Software Stability Model?
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S6 Model-Based Arch.
Material Transportation Scheduling System
6
Case Study
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S7 Model-Based Arch.
7
Transport material by dump truck
Waste Dump
P1
1W
6 8
W2
Mineral Processing Facility
1097
2P
W3
54
3
21
N
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S8 Model-Based Arch.
8
Traditional Model for dump truck transport
Ore Waste
Material
Shovel
n
1..n
Mineral_Processing_Facility
DumpTruck
1
n
1
n
delivers
Waste_Dump
1..n
n
delivers
1..n
n
Waste_Removal_Opening
n
1..n 1
1..n
Schedule
1
n
1
n
schedules
n
1
n
1
schedules
1..n
1
1..n
1
assigns resource
Ore_Extraction_Opening
n1..n
1
1..n
1..n
1assigns resource
1..n
1
loadsn
1..n
works on
1
1..n
works on
1
1..n
extract
n
1..n
extract
n1..n
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S9 Model-Based Arch.
9
Stability Model for dump truck transportEBT BO IO
WasteRemov alOpening
Waste
1..n
1
1..n
1
extract
Mineral Processing Facility
WasteDump
OreExtractionOpening
Ore
1..n
1
1..n
1
extract
Concurrency
Av ailabilityWorkLoad
WorkLoadAnaly sis()CheckAv ailability ()
Ef f iciency
CostBenef it
Cost_Benef it_Analy sis()
Transportation
TransportMethodRouteConstraintMaterialAttributes
MethodSelection()
1
1
1
1
provide information
DumpTruck
1
1..n
1
1..n
delivers
1
1..n
1
1..n
delivers
Material
VolumeSizeQuality
Schedule
TimeFrame
AssignResouces()TrackWorkFlow()
n
1
n
1
use
n
1
n
1
Evaluate
Shov el
1
1..n
1
1..n
works on
Transport
CapacityCapabilityReliability
CoordinateOperations()
n
1
n
1
schedules
n1 n1 selects
n
n
n
n
move
Origin
PlaceAccessibility1 n1 n
allocate resource
1..n
1..n
1..n
1..n
connects
1
1..n
1
1..n
works on
Destination
PlaceAccessibility
1
n
1
n
allocate resource
1..n
1..n
1..n
1..nconnects
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S10 Model-Based Arch.
10
Transport materials by conveyor belt
Material depot Loader
Feeder
Crusher
Conveyor belt
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S11 Model-Based Arch.
11
Traditional Model for conveyor belt system
WasteWaste_Removal_
Opening
n 1..nn 1..n
extract
OreOre_Extraction_Op
ening
n 1..nn 1..n
extract
Waste_Dump
Mneral_Processing_Facility
Conveyor
1
1
1
1delivers
1
1
1
1delivers
Crusher
11 11
feedsFeeder
11 11
feeds
MaterialLoader
1
1..n
1
1..n
delivers
n1..n n1..n
loads
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S12 Model-Based Arch.
12
Stability Model for conveyor belt
EBT BO IO
WasteRemov alOpening
Waste
1..n
1
1..n
1
extract
Mineral Processing Facility
WasteDump
OreExtractionOpening
Ore
1..n
1
1..n
1
extract
Concurrency
Av ailabilityWorkLoad
WorkLoadAnaly sis()CheckAv ailability ()
Ef f iciency
CostBenef it
Cost_Benef it_Analy sis()
Transportation
TransportMethodRouteConstraintMaterialAttributes
MethodSelection()
1
1
1
1
provide information
DumpTruck
1
1..n
1
1..ndelivers
1
1..n
1
1..n
delivers
Crusher
Material
VolumeSizeQuality
Schedule
TimeFrame
AssignResouces()TrackWorkFlow()
n
1
n
1
use
n
1
n
1
Evaluate
Shov el
1
1..n
1
1..n
works on
Transport
CapacityCapabilityReliability
CoordinateOperations()
n
1
n
1
schedules
n1 n1 selects
n
n
n
n
move
Feeder
1
1
1
1feeds
Origin
PlaceAccessibility1 n1 n
allocate resource
1..n
1..n
1..n
1..n
connects
1
1..n
1
1..n
works on
Loader
11..n
11..ndelivers
1
1
1
1
loads
Conv ey or1
11
1feeds
Destination
PlaceAccessibility
1
n
1
n
allocate resource
1..n
1..n
1..n
1..nconnects
1
1
delivers
1
1
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S13 Model-Based Arch.
13
Transport materials by pipeline
Loder
Feeder
Crusher Ballmill
Conveyor
MixerPump
Pipeline
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S14 Model-Based Arch.
14
Traditional Model for pipeline system
Ore_Extraction_Opening
Ore
1..nn 1..nn
extract
Waste_Removal_Opening
Waste
1..nn 1..nn
extract
Mineral_Processing_Facility
Material
Pipeline
1 11 1
delivers
Loader
n1..n n1..n
loads
Pump
1
1
1
1
pumps
Feeder
1
1..n
1
1..n
delivers
Mixer
11 11
feeds
Crusher11 11
feeds
Ballmill
11 11
feeds
Waste_Dump
Conveyor
1
1
1
1
feeds
11 11
feeds
1
1
1
1
delivers
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S15 Model-Based Arch.
15
Stability Model for pipelineEBT BO IO
WasteRemov alOpening
Waste
1..n
1
1..n
1
extract
Mineral Processing Facility
WasteDump
OreExtractionOpening
Ore
1..n
1
1..n
1
extract
Concurrency
Av ailabilityWorkLoad
WorkLoadAnaly sis()CheckAv ailability ()
Ef f iciency
CostBenef it
Cost_Benef it_Analy sis()
Transportation
TransportMethodRouteConstraintMaterialAttributes
MethodSelection()
1
1
1
1
provide information
DumpTruck
1
1..n
1
1..ndelivers
1
1..n
1
1..n
delivers
Crusher
Mixer
Pump1
1
1
1feeds
Conv ey or 1 11 1feeds
Ballmill1 11 1feeds
1
1
1
1
feeds
Pipeline1 11 1pumps
Destination
PlaceAccessibility
1
1
1
1
delivers
Material
VolumeSizeQuality
Schedule
TimeFrame
AssignResouces()TrackWorkFlow()
n
1
n
1
use
n
1
n
1
Evaluate
1
n
1
n
allocate resource
Shov el
1
1..n
1
1..n
works on
Transport
CapacityCapabilityReliability
CoordinateOperations()
n
1
n
1
schedules
n1 n1 selects
n
n
n
n
move
1..n
1..n
1..n
1..nconnects
Feeder
1
1
1
1feeds
Origin
PlaceAccessibility1 n1 n
allocate resource
1..n
1..n
1..n
1..n
connects
1
1..n
1
1..n
works on
Loader
11..n
11..ndelivers
1
1
1
1
loads
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S16 Model-Based Arch.
16
Oil transport system
Pipeline
Oil Well
Pressure Control Installations
Pump
Tank
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S17 Model-Based Arch.
17
Traditional model for oil transport system
Oil Well
Oil
n
1
n
1
extract
Gas
n
1
n
1
extract
Pressure Control
n
1
n
1
separates
1
n
1
n
separates
Pump
1..n1 1..n1
feedPipeline
11 11
pumps
Tank
1..n
1
delivers
1..n
1
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S18 Model-Based Arch.
18
Stability Model for oil transport
EBT BO IO
WasteRemovalOpening
Waste
1..n
1
1..n
1
extract
OreExtractionOpening
Mineral Processing Facility
WasteDump
Concurrency
AvailabilityWorkLoad
WorkLoadAnalysis()CheckAvailability()
Efficiency
CostBenefit
Cost_Benefit_Analysis()
Transportation
TransportMethodRouteConstraintMaterialAttributes
MethodSelection()
1
1
1
1
provide information
DumpTruck
1
1..n
1
1..n
delivers
1
1..n
1
1..n
delivers
Material
VolumeSizeQuality
Mixer
Conveyor
Ballmill1
11
1feeds 1
1
1
1
feeds
Pipeline
Destination
PlaceAccessibility
1
1
1
1
delivers
Crusher1 11 1feeds
Schedule
TimeFrame
AssignResouces()TrackWorkFlow()
n
1
n
1
use
n
1
n
1
Evaluate
1
n
1
n
allocate resource
Shovel
1
1..n
1
1..n
works on
Feeder
1
1
1
1
feeds
Origin
PlaceAccessibility1 n1 n
allocate resource
1
1..n
1
1..n
works on
Loader1 1..n1 1..ndelivers
1
1
1
1
loads
Tank
Transport
CapacityCapabilityReliability
CoordinateOperations()
n
1
n
1
schedules
n1 n1 selects
n
n
n
n
move
1..n
1..n
1..n
1..nconnects
1..n
1..n
1..n
1..n
connects
Ore
1..n
1
1..n
1
extract
Oil
OilWell
1..n
1
Gas
1..n
1
extract
1..n
1
extract
1..n
1
Pressure Control
Pump1
1
1
1feeds
1 11 1pumps
1..n
1
feeds1..n
1
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S19 Model-Based Arch.
Easy to implement
Easy to extend
Can be used again and again on similar problems
Do not need to change too much when reusing
19
Reusable Essentials
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S20 Model-Based Arch.
1. Define: stable model-based architecture.
2. Debate the impact of software stability on software reuse.
20
Discussion Questions
© M.E. Fayad 2000-2006 SJSU – CmpE M.E. Fayad L4-2-S21 Model-Based Arch.
EBTs or Stable Analysis Patterns
21
Questions for the Next Lecture