OOD Design of Processes 1 Procedure Call Pattern ITV Modelbased Analysis and Design of Embedded Software Anders P. Ravn & Arne Skou Aalborg University.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Mini-Project Status and Report
The Observer Pattern SE-2811 Dr. Mark L. Hornick 1.
Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Dependability ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University August.
Software Engineering Lecture 2 ASPI8-4 Anders P. Ravn, Feb
By Brandon Sheppard. Use of Iterator  Sequentially move through a collection  Can be very convenient  Phonebook example: Phone number listings stored.
Real-Time Systems – The Big Picture Real-Time Systems Anders P. Ravn Aalborg University September 2009.
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
1 OOAD Detailed Design From Design to Implementation ITV Modelbased Analysis and Design of Embedded Software Anders P. Ravn & Arne Skou Aalborg University.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Process ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University August.
OOD Design of Processes 2 Server Patterns ITV Modelbased Analysis and Design of Embedded Software Anders P. Ravn & Arne Skou Aalborg University February.
Object Oriented Design OOD. OOD characteristics - I conceptual compatibility with OOA notational consistency with OOA clean traceability of OOA results.
Chapter 13 Embedded Systems
Software Engineering I Object-Oriented Design
System Development Environment 1/12/2015 © Abdou Illia MIS Spring 2015.
Documentation ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University August.
Real-Time Systems – The big Picture
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Safety Assessment (Fault Trees) ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg.
Chapter 22 Object-Oriented Design
Chapter 13 Embedded Operating Systems Eighth Edition By William Stallings Operating Systems: Internals and Design Principles.
Client/Server Software Architectures Yonglei Tao.
Process-oriented System Automation Executable Process Modeling & Process Automation.
1 Introduction to UML DIAGRAMS & CLASS DIAGRAM Chapter 7,8 主講人 : 許勝杰
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Introducing Enterprise Technologies David Dischiave Syracuse University School of Information Studies “The original iSchool” June 3, 2013 Information School,
Figures – Chapter 16. Figure 16.1 Benefits of software reuse BenefitExplanation Increased dependabilityReused software, which has been tried and tested.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
Design Patterns Introduction What is a Design Pattern? Why were they developed? Why should we use them? How important are they?
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
CS 8532: Advanced Software Engineering Dr. Hisham Haddad Overview of Object-Oriented Design Highlights of OOD Concepts, Components, and Process.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Chapter 18 The Observer Pattern Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh.
Laboratory of Model Driven Engineering for Embedded Systems An Execution Framework for MARTE-based Models UML&AADL’2008 workshop Belfast, Northern Ireland.
 Update to latest PI + platform  Extend history to 2009  Extend forecast to 2060.
The Process Manager in the ATLAS DAQ System G. Avolio, M. Dobson, G. Lehmann Miotto, M. Wiesmann (CERN)
CSC480 Software Engineering Lecture 10 September 25, 2002.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
Computer Science 340 Software Design & Testing Software Architecture.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Describing MCM Mission Package Software Interoperability with Architectural Descriptions.
Slide design: Dr. Mark L. Hornick
Safety Assessment: Safety Integrity Levels
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Chapter 4: Threads.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Slide design: Dr. Mark L. Hornick
For University Use Only
Part 3 Design What does design mean in different fields?
Chapter 3: Windows7 Part 1.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Boston (Burlington), Mass. November 14-15, 2018
Model-View-Controller (MVC) Pattern
Chapter 22 Object-Oriented Design
Observer Pattern 1.
Fault Tolerance Distributed
8. Observer Pattern SE2811 Software Component Design
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Presentation transcript:

OOD Design of Processes 1 Procedure Call Pattern ITV Modelbased Analysis and Design of Embedded Software Anders P. Ravn & Arne Skou Aalborg University February 2011

Purpose Link Design to Platform Focus: Interfaces between Components Event handling Concurrency – Active Classes OAD Ch 11

Basis from Design Detailed Designs Architecture

Simple Generic Architecture OAD p.196 «component» Interface «component» Model «component» UserInterface «component» SubsystemInterface «component» Platform «component» OS «component» FileSystem «component» Function...

The Task to Solve Assume: Design is already mapped to Sequential Programs (Classes) «component» QQQQQQQQQ «component» MMMMMMMMM Provide: Architecture mapped to Concurrent Programs on a Platform «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Function «component» Platform «component» OS «component» FileSystem

Platform Characteristics onenone Ordinary c++, c threadsshared objects Java,CORBA, posix, SYMBION tasksasynch. message posix, RTOS ProcessesSynchronizationExample

Procedure call Pattern: Interface Component «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Platform «component» OS «component» FileSystem «component» Function «interface» Application read(Key) : ReadData update(UpdateData) compute(Mode) : Result attach(SignalHandler) Wrapper... read(Key k) : ReadData update(UpdateData u) compute(Mode m) : Result attach(SignalHandler sh) IFunction from Function implements IModel from Model

Procedure Call Pattern: Function Component «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Function «component» Platform «component» OS «component» FileSystem «interface» IFunction read(Key) : ReadData update(UpdateData) compute(Mode) : Result attach(SignalHandler) Administrator... read(Key k) : ReadData update(UpdatDatae u) compute(Mode m) : Result attach(SignalHandler s) IModel from Model implements

Procedure Call Pattern: Model Component «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Function «component» Platform «component» OS «component» FileSystem «interface» IModel read(Key) : Data update(Data) put(Data) attach(SignalHandler) Model... read(Key k) : Data update(Data d) put(Data d) attach(SignalHandler s) implements

Procedure Call Pattern a:Function::Administratorh: Interface::Wrapperm: Model::Model update(u) read(k) put(d) + efficient code + simple code -long response times - no concurrency OAD p

Creating an Instance «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Platform «component» OS «component» FileSystem «component» Function «interface» Application h: Wrapper IFunction from Function implements instance: CreateInstance h: Wrapper... getAPI(): Application

Observer Pattern OAD p.278 «interface» Subject attach(Observer) detach(Observer) notifyObservers() get(): Object ObservedObject State s get(): State «interface» Observer update(Subject) ObjectObserver State observation observers 1* subject

Observers across Subsystems «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Platform «component» OS «component» FileSystem «component» Function «component» Interface «component» UserInterface «component» SystemInterface «component» Model «component» Platform «component» OS «component» FileSystem «component» Function «subsystem» A«subsystem» B ObservedObject ObjectObserver

Exercises 1.Define an AP-Interface for your Model Component. 2.Outline an implementation in Procedure Call Pattern 3.How are signals from the Model Component handled? 4.How would you get an update from an external subsystem?