software design patterns foraustin/recenttalks/cser2011-presentati… · re-design implementation...
TRANSCRIPT
![Page 1: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/1.jpg)
©2010 University of Maryland
SOFTWARE DESIGN PATTERNS FOR
Department of Civil and Environmental Engineering and ISR,
CSER 2011 Presentation, Redondo Beach, CA, April 15, 2011
ONTOLOGY-ENABLED TRACEABILITY
University of Maryland, College Park, MD 20742.
Parastoo Delgoshaei and Mark Austin
![Page 2: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/2.jpg)
©2010 University of Maryland
OUTLINE
Part 1: Background and Motivation (Mark Austin)
Part 2: Current Work (Parastoo Delgoshaei)
1. A quick look at Research and Education at ISR, 2. Project Motivation / Observations from the Master of Science in
Systems Engineering Program 3. State-of-the-Art Traceability, 4. Ontology-Enabled Traceability Mechanisms, 5. Prototype Implementation: Washington DC Metro System.
1. Objectives and Scope for the Current Project, 2. Design Patterns, 3. Model-View-Controller Design Pattern, 4. System Architecture, 5. Results of Software Experiments, 6. Future Work and Potential Benefits.
![Page 3: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/3.jpg)
©2010 University of Maryland
RESEARCH AND EDUCATION AT ISR
Faculty: 40 faculty working on research and education in the system sciences and systems engineering.
Application areas: Microsystems, Societal Systems, Robotics, Defense Systems, Nanosystems.
Education: Master of Science in Systems Engineering.
Moving forward: Research and education needs to be integrated together.
![Page 4: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/4.jpg)
©2010 University of Maryland
PROJECT MOTIVATION / MSSE EDUCATION
Create Big-Picture View: Students need to understand how things fit together.
![Page 5: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/5.jpg)
©2010 University of Maryland
PROJECT MOTIVATION / MSSE EDUCATION
Focus on Model-Based Systems Engineering: The mathematics needed for formal approaches to systems engineering is foreign to many engineers.
![Page 6: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/6.jpg)
©2010 University of Maryland
PROJECT MOTIVATION / MSSE EDUCATION
Observation: Traceability connects things together …. and without it, you cannot manage the consequences of change. Also, your boss won’t understand how you add value to the organization.
![Page 7: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/7.jpg)
©2010 University of Maryland
STATE-OF-THE-ART TRACEABILITY
State-of-the-Art Traceability with SLATE..
Note: Use of abstraction blocks only makes sense at the earliest stages of development, and where a system doesn’t already exist. Doesn’t apply for SoS.
![Page 8: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/8.jpg)
©2010 University of Maryland
STATE-OF-THE-ART TRACEABILITY
Visualization of traceability relationships is far from intuitive.
Most engineers want to visualize system developments using notations they are familiar with.
![Page 9: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/9.jpg)
©2010 University of Maryland
IMPROVING UPON STATE-OF-THE-ART TRACEABILITY
Our first step: Explore use of XML and RDF technologies to improve visualization of requirements traceability. Credit: Web prototype developed and implemented by Scott Selberg in 2003.
Surely we can do better!!!
![Page 10: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/10.jpg)
©2010 University of Maryland
HERE’S WHAT’S NEW …..
New idea: Ontology-enabled Traceability Mechanisms.
Approach: Requirements are satisfied through implementation of design concepts. Now traceability pathways are threaded through design concepts.
Key Benefit: Rule checking can be attached to “design concepts” – therefore, we have a pathway for early validation.
![Page 11: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/11.jpg)
©2010 University of Maryland
SUPPORT FOR MULTIPLE-VIEWPOINT DESIGN
Team-based design is a multi-disciplinary activity. We need a model for multiple-viewpoint design and mechanisms for capturing interactions between design concerns.
![Page 12: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/12.jpg)
©2010 University of Maryland
SO HOW MIGHT ONTOLOGY-ENABLED TRACEABILITY FOR MULTIPLE-VIEWPOINT DESIGN WORK?
We need models to capture the various mechanisms of interaction between viewpoints.
Multiple-viewpoint ontology-enabled traceability will correspond to graph of design entities: requirements, ontologies, and engineering objects.
![Page 13: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/13.jpg)
©2010 University of Maryland
PROTOTYPE IMPLEMENTATION: WASHINGTON D.C. METRO SYSTEM
Statistics: Second largest rail transit system in the US; serves a population of 3.5 million; 200+ million passenger riders per year.
Safety-critical system: Major accident in June, 2009.
![Page 14: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/14.jpg)
©2010 University of Maryland
PROTOTYPE IMPLEMENTATION: ONTOLOGY-ENABLED TRACEABILITY FOR WASHINGTON D.C. METRO SYSTEM.
Very simple. UML representation for one ontology. All traceability relationships are hard-coded. Visualization cuts across stages of system development.
Ontology window
Requirements window
Model of Transportation system
Credit: Cari Wojcik, MS Thesis, 2006.
![Page 15: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/15.jpg)
©2010 University of Maryland
PROTOTYPE IMPLEMENTATION: ONTOLOGY-ENABLED TRACEABILITY FOR WASHINGTON DC METRO SYSTEM.
Designers are provided with mechanisms to interact with the system in multiple ways.
Traceability relationship from the College Park Metro Station back to defining design concepts (MetroStation and Node) and defining requirements.
![Page 16: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/16.jpg)
©2010 University of Maryland
PROTOTYPE IMPLEMENTATION
16
Detailed Map View of the College Park Metro Station
![Page 17: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/17.jpg)
©2010 University of Maryland
PROTOTYPE IMPLEMENTATION: ONTOLOGY-ENABLED TRACEABILITY (WITH VERY BASIC RULE CHECKING).
Key Advantage: Design rules and procedures for design rule checking can be attached to ontologies.
Design rule checking is triggered by double clicking on a requirement. Visualization shows the extent of ontologies and engineering entities involved in the rule checking.
![Page 18: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/18.jpg)
©2010 University of Maryland
FAST FORWARD TO 2010-2011
Software prototype works great, but support for scalability is missing. Focus on system architecture (stations and tracks). Where are the trains? Weak support for multiple viewpoints, integration of functionality and performance, and tradeoff analysis.
ASSESSMENT OF VERSION I
PLAN OF WORK FOR VERSION II
Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior with finite state machines.
System-level behavior will correspond to a network of communicating finite state machines.
Project status: We are building software prototypes -- work in progress!
. New student: Parastoo Delgoshaei, MS Thesis.
![Page 19: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/19.jpg)
©2010 University of Maryland
SCHEMATIC FOR VERSION II
19
![Page 20: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/20.jpg)
©2010 University of Maryland
DESIGN PATTERNS
Definition: A design pattern is simply….
Software Design Patterns: A few examples …
Behavioral Structural System Command Adapter Model-View-Controller Interpreter Bridge Session Mediator Composite Router Observer … Decorator … Transaction …
A description of a problem of a recurring problem, and, A description of a core solution to that problem stated in such a way that it can be reused many times.
Motivation: Experienced designers know that instead of returning to first principles, routine design problems can be best solved by adapting solutions to designs that that have worked well for them in the past.
![Page 21: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/21.jpg)
©2010 University of Maryland
MODEL-VIEW-CONTROLLER DESIGN PATTERN
Approach and Benefits
Purpose of Logical Components:
Divide a component or subsystem into three logical parts – model, view, controller – making it easier to modify or customize each part.
Model: Store the element’s state and provide a means for changing the state.
View: Representation of the component or subsystem.
Controller: Map incoming actions to their impact on the model.
![Page 22: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/22.jpg)
©2010 University of Maryland
SYSTEM ARCHITECTURE
Architecture for Software Support
![Page 23: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/23.jpg)
©2010 University of Maryland
SYSTEM ARCHITECTURE
New pattern: Pyramid of model-view-controllers.
![Page 24: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/24.jpg)
©2010 University of Maryland
SOFTWARE EXPERIMENTS
Challenge: Traceability and visualization support in systems having many concurrent behaviors.
Prototype: Bouncing balls interface implemented as threads of behavior.
Use adapter, observer, and model-view-controller design patterns to facilitate traceability and support for table and tree viewpoints.
![Page 25: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/25.jpg)
©2010 University of Maryland
SOFTWARE EXPERIMENTS
Challenge: We need support for modeling and visualization of graphs from multiple perspectives.
Prototype: Use adapter, observer and model-view-controller to synchronize visualizations in response to user inputs/actions.
![Page 26: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/26.jpg)
©2010 University of Maryland
FUTURE WORK AND POTENTIAL BENEFITS
1 Explore feasibility of extending ontology-enabled traceability mechanisms to multiple-viewpoint design,
2 Explore use of Semantic Web Technologies (e.g., OWL = Web Ontology Language and SWRL = Semantic Web Rule Language) for representation of ontologies and rule-checking,
3 Design software infrastructure to conduct system trade studies.
4 Design and implement a scalable, networked, system implementation.
Proposed Work (2012 and beyond):
Potential benefits/payoffs?
Fewer design/management errors due to superior representation of traceability relationships; built-in support for design rule checking at the earliest possible moment; improved economics of system/SoS development and management.
![Page 27: SOFTWARE DESIGN PATTERNS FORaustin/RecentTalks/CSER2011-Presentati… · Re-design implementation to maximize use of software design patterns. Model system schedules and train behavior](https://reader034.vdocuments.site/reader034/viewer/2022052104/603eca8bcb1f2f638e02ed44/html5/thumbnails/27.jpg)
©2010 University of Maryland
THE END!
27
Questions?