HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.

Slides:



Advertisements
Similar presentations
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Advertisements

Component Oriented Programming 1 Chapter 2 Theory of Components.
A component- and message-based architectural style for GUI software
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Software Architectural Design Software Components Instructor Dr. Lawrence Chung.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Object-Oriented Analysis and Design
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Business Process Orchestration
Action Languages K268 SENG2100 Pat Browne
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
SE-565 Software System Requirements More UML Diagrams.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Introduction To System Analysis and design
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Executable UML The Models are the Code - Executable UML CS387 Paul Krause.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Introduction to Software Architecture
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Introduction To System Analysis and Design
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Patterns and Reuse. Patterns Reuse of Analysis and Design.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Behavioral Modeling Chapter 8.
Real Time Systems Modeling Structure in UML (Part I)
CSC480 Software Engineering Lecture 11 September 30, 2002.
Correctness of Software Models Mira Balaban, Azzam Maraee Computer Science Department Ben-Gurion University Model correctnessFall
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
By: DiGitAll UML an overview. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1 Here are some quotations to get an overview of the kinds of issues of interest.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
2.3 Collaboration Contracts
Unified Modeling Language
Chapter 4 Advanced Class Modeling
Patterns.
An Introduction to Software Architecture
Uml diagrams In ooad.
Presentation transcript:

HAS

Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common problem in context. Patterns describe how objects communicate without become entangled in each other’s data models and methods. Keeping this separation has always been an objective of good OO programming, objects should mind their own business, but obviously need the services of other objects as well. Definition “Patterns identify and specify abstractions that are above the level of single classes and instances, or of components”. Patterns can exist at many levels from very low level specific solutions to broadly generalised system issues. Patterns are often described using UML together with a pattern template A template describes a pattern. Typical template may contain: Name, Intent, AKA, Motivation, Application, Structure, Participation, Collaborations, Consequences, Implementation, Sample Code, Known Uses, Related Patterns. Main advantages capture best practice, reuse, fairly standard way of describing patterns. Disadvantages: advanced topic, learning design patterns is a long multiple step process; Acceptance, Recognition, Internalisation, on the other hand they are worth learning. Role of experience. More geared to OO than other computing paradigms.

Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common problem in context. Patterns describe how objects communicate without become entangled in each other’s data models and methods. Keeping this separation has always been an objective of good OO programming, objects should mind their own business, but obviously need the services of other objects as well. Definition “Patterns identify and specify abstractions that are above the level of single classes and instances, or of components”. Patterns can exist at many levels from very low level specific solutions to broadly generalised system issues Patterns are often described using UML together with a pattern template. A template describes a pattern. Typical template may contain: Name, Intent, AKA, Motivation, Application, Structure, Participation, Collaborations, Consequences, Implementation, Sample Code, Known Uses, Related Patterns. Main advantages capture best practice, reuse, fairly standard way of describing patterns Disadvantages: advanced topic, learning design patterns is a long multiple step process; Acceptance, Recognition, Internalisation, on the other hand they are worth learning. Role of experience. More geared to OO than other computing paradigms.

Action Languages ALs can create, delete, directly change (via assignment) and send state changing messages to objects. The action language is executable and allows us to describe and execute the actions an object performs when receiving a stimulus. AL features: Sequential Logic Access to the data described by the Class Diagram Access to the data supplied by signals initiating actions The ability to generate signals Access to timers Access to synchronous operations provided by classes and objects Access to operations provided by other MDA domains

Action Languages ALs can create, delete, directly change (via assignment) and send state changing messages to objects. The action language is executable and allows us to describe and execute the actions an object performs when receiving a stimulus. AL features: Sequential Logic Access to the data described by the Class Diagram Access to the data supplied by signals initiating actions The ability to generate signals Access to timers Access to synchronous operations provided by classes and objects Access to operations provided by other MDA domains

Action Languages OMG only define Action Language Semantics (ASL) (not syntax), hence many possible flavors. Unlike conventional languages, there is no concept of a “main” function or routine where execution starts. Rather, ASL is executed in the context of a number of interacting state machines, all of which are considered to be executing concurrently and in the context of synchronous call stacks invoked from these state machines or directly from outside the system. Any state machine, on receipt of a signal (from another state machine or from outside the system) may respond by changing state. On entry to the new state, a block of processing is performed. This processing can, in principle execute at the same time as processing associated with another state machine. In short ALs support concurrency and animate UML models, In particular statecharts and interaction diagrams can be run by: 1) creating objects with the keyword create 2) linking objects with the keyword link 3) sending messages with the keyword generate

Action Languages Role in development. Because ALs can create objects and send messages to objects, they permit a range of modelling, prototyping and testing tasks. ALs can be used during analysis and design to specify and test (or check) general purpose constraints and other modeling needs. MDA aspect. ASL (Action Specification Language ) is designed to fill the semantic gap in UML and conforms to the UML Action Semantics Request for Proposal issued by the OMG. It supports platform independently action specifications [PIMS] for UML models and provides easy-to-understand operations on UML classes, objects and associations (which is not the case in usual programming languages). Realtime ASL useful for real-time embedded system, with high concurrency and timers/triggers required. ASL can directly model behavior whereas OCL can only model constraints about behavior.