2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony...
-
date post
15-Jan-2016 -
Category
Documents
-
view
214 -
download
0
Transcript of 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony...
![Page 1: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/1.jpg)
2000-Aug-31 SPLC1 Talk 1/25
Developing Engineered Product Support Applications
H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson
Software Engineering Research Laboratory, Computing Science,University of Albertawww.cs.ualberta.ca/~serl
Avra Software Lab Inc., www.avrasoft.com
Work supported by Natural Sciences and Engineering Research Council of Canada and National Research Council of Canada
V1.3
![Page 2: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/2.jpg)
2/25SPLC1 Talk2000-Aug-31
Outline
• Engineered Product Domain
• Common Application Product Line Requirements
• Frameworks
• Killer Best Practices
• Conclusion
![Page 3: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/3.jpg)
2000-Aug-31 SPLC1 Talk 3/25
Our Context
EngineeredProductManufacturer
EngineeredProductPurchaser
SoftwareBuilder
Product Tools
Requirements
![Page 4: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/4.jpg)
2000-Aug-31 SPLC1 Talk 4/25
Application Domain Context
Engineer’s Requirements
Engineering Standards
Product Catalog
Ordering of Engineered
Product
Tool Support
Engineered ProductSizing and Selecting
Domain Variability
Platform Variability
Workflow Variability
![Page 5: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/5.jpg)
2000-Aug-31 SPLC1 Talk 5/25
Business Process Context
![Page 6: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/6.jpg)
2000-Aug-31 SPLC1 Talk 6/25
Application Requirements
• Product Specific
• Engineering Process
• Generic Support
• Uncertainty Everywhere
![Page 7: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/7.jpg)
2000-Aug-31 SPLC1 Talk 7/25
Engineering Tool Manifesto
Consistent
Observable
Verifiable
Auditable
Extensible
Thou shalt be:
![Page 8: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/8.jpg)
2000-Aug-31 SPLC1 Talk 8/25
Engineering Requirements
Consistent
Observable
Verifiable
Auditable
Extensible
All tools have consistent behaviour and feel. How are:
• values and associated units displayed and entered?• base units maintained within calculations?• changes brought to the attention of the user?
![Page 9: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/9.jpg)
2000-Aug-31 SPLC1 Talk 9/25
Engineering Requirements
Consistent
Observable
Verifiable
Auditable
Extensible
The tool should ensure that the user is aware of what:
• has been completed
• remains to be done
• are effects of current action
![Page 10: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/10.jpg)
2000-Aug-31 SPLC1 Talk 10/25
Engineering Requirements
Consistent
Observable
Verifiable
Auditable
Extensible
•Preserve internal & displayed values.
•Trace calculation internally.
•Use external program to verify.
![Page 11: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/11.jpg)
2000-Aug-31 SPLC1 Talk 11/25
Engineering Requirements
Consistent
Observable
Verifiable
Auditable
Extensible
Tools must be able to:• check their inputs for tampering or corruption, • produce outputs with the same properties.
Want equivalence to a stamped and signed drawing.
![Page 12: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/12.jpg)
2000-Aug-31 SPLC1 Talk 12/25
Engineering Requirements
Consistent
Observable
Verifiable
Auditable
Extensible
Make it possible for the engineer user to extend the tool.
But preserve all the preceding properties!
![Page 13: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/13.jpg)
2000-Aug-31 SPLC1 Talk 13/25
Product Line Architecture
• Our PLA is a set of domain specific application frameworks.
• Each sub-framework provides a small set of services.
• An application is a collection of services, with various degrees of coupling.
![Page 14: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/14.jpg)
2000-Aug-31 SPLC1 Talk 14/25
User Agents
Forms/Wizards
Business Objects
Domain SpecificServices
FoundationServices
UI Manager
Persistent ObjectManager
DB-Centric PLA
![Page 15: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/15.jpg)
2000-Aug-31 SPLC1 Talk 15/25
Framework Design Goals
• Make it easy to evolve the UI and workflow.
• Preserve engineering integrity of the application under evolution.
• Support deployment-related activities.
• Anticipate refactoring of services between sub-frameworks.
![Page 16: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/16.jpg)
2000-Aug-31 SPLC1 Talk 16/25
Killer Features
• Engineering Features
• Core Features
• Persistence Features
![Page 17: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/17.jpg)
2000-Aug-31 SPLC1 Talk 17/25
Engineering Features• Worksheet navigation
• Worksheet language
• Basis and Display Units
• Special Input Widgets
• Check Worksheets
• Worksheet version migration
• External Testing Hooks
• Database Access Keys
![Page 18: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/18.jpg)
2000-Aug-31 SPLC1 Talk 18/25
EAF Calculation Block
Inputs OutputsExternals
localsX, Y Z
A B
T
T = AX+BYZ = T + 2
![Page 19: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/19.jpg)
2000-Aug-31 SPLC1 Talk 19/25
EAF Worksheet
U
X
Y
C.A C.B
C:
C.T
D.A D.B
D:
D.TZ
X
![Page 20: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/20.jpg)
2000-Aug-31 SPLC1 Talk 20/25
![Page 21: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/21.jpg)
2000-Aug-31 SPLC1 Talk 21/25
Workflow
![Page 22: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/22.jpg)
2000-Aug-31 SPLC1 Talk 22/25
Core Features
• Trouble Stack
• Data Signatures
• Configuration Report
• HTML Reports and Displays
• Apalon markup language
• Handbook writer’s assistance
![Page 23: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/23.jpg)
2000-Aug-31 SPLC1 Talk 23/25
Persistence Features
• Object Model, ID, Foreign Keys
• Concurrent Transaction Consistency
• Referential Integrety
• Journalling, Roll-forward, Revision Control
• Replication
• Schema Conversion
![Page 24: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/24.jpg)
2000-Aug-31 SPLC1 Talk 24/25
Conclusion
• Didn’t develop all at once, important to support evolution.
• Architecture is more important than implementation (thick => thin).
• Framework embodies process and practices of domain and developer.
![Page 25: 2000-Aug-31SPLC1 Talk1/25 Developing Engineered Product Support Applications H. James Hoover, Tony Olekshy, Garry Froehlich, Paul Sorenson Software Engineering.](https://reader036.fdocuments.us/reader036/viewer/2022070412/56649d385503460f94a11126/html5/thumbnails/25.jpg)
2000-Aug-31 SPLC1 Talk 25/25
Conjecture/Intuition
• Architectures that survive variability over time survive variability over space.
• We should be building a best practices catalog of reference architectures.
• There may be no quantitative theory of architecture.