The Software Engineering and Network Systems Laboratory supports research in: Laura K. Dillon: specification and validation of concurrent systems

Size: px
Start display at page:

Download "The Software Engineering and Network Systems Laboratory supports research in: Laura K. Dillon: specification and validation of concurrent systems"

Transcription

1 S ystems L a b Software Engineering and Network Systems Laboratory A Requirements PatternPattern-Driven Approach to Modeling and Analyzing Embedded Systems S ystems L a b Betty H.C. Cheng Software Engineering and Network Systems Lab Michigan State University This work is supported in part by: Grants from NSF EIA , EIA , CDA ,CCR , Department of the Navy, Office of Naval Research under Grant No. N , and DARPA grant No. F , managed by Air Force s Rome Laboratories, SiemensCorporate Research, Eaton Corporation, Motorola, and in cooperation with Siemens Automotive and Detroit Diesel Corporation. Research sponsored by NSF, ONR, DARPA, DOE, NASA, EPA, and several industrial partners MSU SENS Laboratory SENS Personnel Betty H.C. Cheng : software engineering, patterns, OO, formal methods, embedded systems. The Software Engineering and Network Systems Laboratory supports research in: Laura K. Dillon: specification and validation of concurrent systems software engineering distributed computing network protocols and real-time systems fault tolerance and security formal methods, code generation compilation/analysis of concurrent systems Sandeep Kulkarni : fault tolerance in distributed systems Philip McKinley: distributed computing, networking, OS, adaptive middleware Research sponsored by NSF, ONR, DARPA, DOE, NASA, EPA, and several industrial partners S ystems L a b S ystems L a b 3 Jonathan Shapiro: Network protocols, security, peer-to-peer systems Kurt Stirewalt : interactive systems, program reasoning, SE. Approximately 30 grad research assistants Occasional visiting scholars and postdocs Outline Bridge the Gap Between Informal and Formal Methods Informal specifications, graphical models, easy for humans to formulate, may be inconsistent and incomplete. Formalization Techniques and Patterns Object-Oriented Blueprints Formal Representations Objective: formal specifications executable code that can be verified for correctness and completeness Benefits: Automated Analysis Consistency, completeness Rapid Prototyping Behavior Simulation Design Transformations Test Case generation Modeling and Analysis S ystems L a b 6

2 Problem Statement Many embedded systems require high assurance (e.g. automotive, medical) Requirements modeling and analysis One of the most difficult tasks in software development Focus on behavioral specification of system activities Describes a system s modes of operation and events that cause mode changes Challenges for embedded system development: Software does not execute in isolation: Environment (including User) Hardware Current technology involves ad hoc techniques from natural language specifications to code ES community interested in using OO and UML Desirable properties of requirements analysis documents: Easy to interpret Structural description of system Behavioral description of system s should be concise and correct Requirements analyzable for critical properties 7 8 General Approach Outline Objective: Easy to use notation and technique for capturing requirements Notation must be amenable to rigorous analysis Proposed Solution: Provide process and requirements patterns for constructing UML diagrams Formalizing UML enables automated analysis of UML diagrams Visualize analysis errors in terms of original UML diagrams Modeling and Analysis Project Collaborators: Dr. Kurt Stirewalt Dr. L. Campbell, Dr. W. McUmber, Dr. E. Wang R. Bourdeau, G. Coombs, M. Deng, H. Goldsby, S. Konrad 9 0 UML Metamodel Automate translation of diagrams into a formal language OMT Formalization [TSE95, ICSE97, J. SEKE00, TSE02, IWSSD00, DSN00] [HASE99, ICSE0] General framework for mapping diagrams to multiple formal languages Embedded systems domain Currently targets Promela Hydra Mapping from UML to the target language (such as Promela, VHDL) Enables execution through simulation and analysis through model checking Metamodel defines UML syntax using class diagram notation. Semantics not defined by metamodel Note: Any language or diagram syntax can be defined with a metamodel 0..* Compound Statement Program Block Simple Statement 2 2

3 Unified Class/Dynamic Metamodel Example Metamodel Mapping Class related Dynamic related Behavior Class Model Relationships Source A R B h: h: h: Target State Vertex Transition Rest of dynamic model Instance Variables Aggregation Generalization Association hascomp(a,c) C h: h: R B A haspart(a,c ) C D 3 4 Metamodel mapping to Mapping Rules Describes instance UML metamodel UML diagram Produces mapping Homomorphism Mapping Rules Formal language metamodel Describes instance Formal description of system VHDL used for embedded systems VHDL contains time notations Many commercial tools available Comprehensive simulation capability SPIN used in industry Spin provides model simulation and checking Concurrency is a feature of both 5 6 Summary of Mappings Tool Support VHDL Ent/Arch Structure Class Promela proctype Analysis results Port signature procedure Ent/Arch Relationship State Composite State channels Labeled block of statements proctype UML Diagram reports MINERVA Analysis reports HIL Hydra Spec* Analysis Tool* Write to signal Event Channel assignment 7 8 3

4 Architecture of Minerva MINERVA UML UML diagram editors Diagram in DoME format Visualization commands Plug-ins Text processing scripts Diagram reports HIL Analysis results (processed) Analysis reports Analysis results (raw) 9 MINERVA Based on Honeywell s DoME (Domain Modeling Environment) Graphical construction of syntactically correct UML diagrams adhering to a defined metamodel [RE-0] Visualization of consistency-checking results, simulation traces, and paths of execution Enables roundtrip engineering of UML diagrams [REJ-02, RHAS-02, Spin-03] 20 Hydra Translation Tool Outline Uses library and parser to implement rules Modular per formal language Minerva HIL Hydra parser Language Specific Class Library Modeling and Analysis Formal Specifications Implements mapping rules for specific language 2 22 Patterns Patterns Analysis Patterns: Recurring & reusable analysis models [Fowler] Design Patterns: Solution skeletons for (OO) software design [Gamma et al] Organizational Patterns: Structure of organizations/ projects Patterns: Software process design Security Patterns: Skeletons to provide system security [Fernandez, Yoder, RHAS03] : conceptual model, system constraints [RE02,RHAS02,SPIN03] Pattern Essentials A pattern has 4 essential elements: Pattern name Problem Solution Consequences NAME SOLUTION PROBLEM CONSE- QUENCES

5 Logical Architecture of Embedded Systems [Broy] Template Modeled as part of the requirements engineering process An embedded system typically consists of: User UI CD Environment A PD Capture behavior of components and their interaction Collectively they provide requirements of system S 25 Design Pattern Template Pattern Name and Classification Intent Also Known As Motivation Applicability Structure Participants Collaborations Consequences Implementation Sample Code Known Uses Related Patterns Requirements Pattern Template Pattern Name and Classification Intent Motivation (incl. use cases) Constraints Applicability Structure (class diagram) Behavior (sequence, state) Participants Collaborations Consequences Design Patterns Also Known As Related Patterns 26 Behavioral Patterns Structural Patterns Communication Link: Computing Component: Detector- Corrector: Fault Handler : describes how to capture high-level information about communication capabilities offered by an embedded system, such as sending periodic heart beat messages to other systems. specifies various operational modes of an embedded system, such as fail-safe modes that a system enters in response to occurring faults. detectors offer fault detection capabilities, correctors offer fault correction capabilities, and the interaction between both types of components A global fault is handler controlled collects by fault a local messages fault from handler. the local fault handlers and Acts as a central coordinator for system recovery and safety. 27 Actuator- Sensor: Controller Decompose: User Interface: specifies basic types of sensors and actuators in an embedded system and describes how relationships between these actuators and sensors and other components in the system can be captured. describes how to decompose an embedded system into different components according to their responsibilities. describes how to specify an object model for a user interface that is extensible and reusable. 28 Patterns Overview Actuator-Sensor Pattern Identification Abstraction Relations btw Pattern Class Structural Behavioral Actuator-Sensor Str X X Communication Link Beh X X Computing Component Beh X X Controller Decompose Str X X Detector- Corrector Beh X X X Fault Handler Beh X X User Interface Str X X X objects Essential behavior Object Correlation Motivation: ES have various kinds of sensors/actuators Can distinguish two main categories of sensors: PassiveSensors (pull: controller requests information) ActiveSensors (push: sends information to controller)

6 PassiveSensor Actuator-Sensor Pattern: Structure ComputingComponent Actuator Actuator-Sensor Pattern: Behavior (sequence diagram) PassiveIntegerSensor FaultHandler Temperature Sensor Computing Component Radiator Valve Sensor Input Device Temperature Sensor ActuatorOutput Device Temperature Sensor PassiveRealSensor PassiveBooleanSensor PassiveComplexSensor ActiveSensor Actuator-Sensor Pattern Actuator-Sensor Pattern Consequences: Common Interface Class attributes are accessed through messages Pattern describes when to use active and passive sensors Constraints: Specification patterns [Dwyer98] for properties of interest. Response pattern: When the value of an active sensor changes, the computing component should receive the updated value. [](ActiveSensor.``Value change -> <>(``Send updated value to Computing Component )) 33 Response pattern: When an active sensor times out, a fault message should be sent to the fault handler. [](ActiveSensor.``Timeout -> <>(``Report timeout to fault handler )) 34 Outline Modeling and Analysis Approach Modeling and Analysis Requirement Requirements Patterns Prose Requirements User commands 2 UML Minerva 3 HIL 4 Hydra 5 Promela LTL Properties 6 Simulation SPIN 7 Model Checking 36 6

7 Diesel Filter System Modeling Approach Requirement Self cleaning particulate filter in diesel trucks Goal: Reduce amount of particulate combustion aerosols (soot) emitted by diesel engines System consists of several filter tubes that filter particulates Trapped particulates build up, letting the pressure in the filter canister rise Filters can be heated up by applying an electric current to wires embedded in the grid, burning off trapped particulates exhaust + soot filter exhaust pipe exhaust - soot 37 Requirement In order to enable model checking of a system the following elements are modeled: Environment class Contains system and environment condition values chosen from equivalence classes derived from the requirements _SYSTEMCLASS_ class Instantiates classes Non-deterministically picks system and environment conditions Initiates system execution Remaining classes Contain the components of the system 38 Analysis-Enabled Diesel Filter System Environmental Parameters Environment: controls _SYSTEM CLASS_: Fault Handler: Equivalence classes derived from the requirements determine the modes in which the system operates: Requirement reports controls controls Computing Pressure Detector: Component: monitors reads Pressure Sensor: EngineControl Current Unit: Mirror: controls controls Heater Regulator: UserInterface : affects affects Heater Regulator2: Driver Display: Current Mirror2: 39 Requirement 0, Component not working? Component? OperationStatus???, Component working?[0;8,000], No cleaning needed CurrentSystemPressure???? (8,000;0,000], Cleaning needed?(0,000;? ), System shutdown? [ 0;0,000), Cleaning disabled TotalRPMValue???[0,000;? ), Cleaning enabled [0;700), Cleaning disabled CurrentRPMValue???[700,? ), Cleaning enabled 40 Environmental Parameters Requirement Requirement Additional equivalent classes are needed to model different interactions with the physical environment? 250 PressureSensorCleanupValue?? 300?? 3,000? 2 HeaterCurrentConversionRatio?? 3?? 4 4 Requirement Detector-Corrector Pattern: General Claim: If there is a violation, then start recovery action. []( Violation -> <> Start recovery action ) Instantiated Claim: If the pressure detector detects a violation, then the system should turn off []((PressureDetector.Violation == ) -> <> (ComputingComponent.PowerStatus == 0)) Analysis Results: A violation was detected using model checking State diagram animation revealed a missing transition as the cause 42 7

8 Diesel Filter System Requirement (2) Visualization of analysis results Requirement Watchdog PassiveSensor PassiveInteger Sensor controls Computing Component 8 reads monitors DieselFilterSystem reports controls Current Mirror Pressure Sensor UserInterface affects 0..* FaultHandler controls collaborate affects Boolean Indicator Driver Display Actuator Boolean Actuator EngineControl 8 Heater Regulator Unit Integer Actuator 43 Requirement []/ ^_SYSTEMCLASS_.ready PowerOff entry/ PowerStatus:=0 ShutdownES[]/ ShutdownES[]/ ShutdownES[]/ (Initialization) GetPressure []/^PressureSensor. GetCurrentPressureValue ShutdownES[]/ GetPressure 2 SetCurrentPressureVal (CurrentPressureVal) []/ Idle [Current PressureVal >8000]/ Normal Behavior (elided) [CurrentPressureVal<=8000]/ ^PressureSensor.GetCurrent PressureValue CCOK[]/ CCFail[]/ (2) Requirement Detector-Corrector Pattern: General Claim: If there is a violation, activate indicator. []( Violation -> <> Indicator activated ) Instantiated Claim: If the watchdog detects a violation, then the driver display should be activated []((PressureDetector.Violation == ) -> <> (DriverDisplay.DriverDisplayValue == )) Analysis Results: A violation was detected by the model checker 45 Requirement Subsequent Analysis:. Detector-Corrector Pattern: [] (PressureDetector.Violation == -> <> send(localfaulthandler.reportlocalfault(200))) 2. FaultHandler Pattern: [](send(globalfaulthandler.reportglobalfault(200)) -> <> (send(userinterface. ActivateWarningLevel)) 3. User Interface Pattern: [](send(userinterface. ActivateWarningLevel) -> <> (DriverDisplay. DriverDisplayValue == )) Claim 3 uncovered the reason for the violation. 46 (3) (4) MINERVA generated sequence diagram of the violation. Visualization of analysis results Requirement Pressure Detector: ComputingComponent: FaultHandler: UserInterface: PressureSensor: ShutdownES StoreError(200) GetPressureOperationState CCOK GetPressureValue SetWDPressureValue(,000) ActivateWarningLevel SetDriverDisplayValue(0) DriverDisplay: Requirement [] / ^_SYSTEMCLASS_.ready Idle ActivateWarningLevel (WarningLevel)[]/ [WarningLevel=]/ ^DriverDisplay.SetDriverDis playvalue(0) Check [WarningLevel=]/ ^DriverDisplay.SetDriverDisplayValue Transition Trace:. Object UserInterface transitions from state Initial" to state Idle" on event modelstart 2. Object UserInterface transitions from state Idle to state Check on event ActivateWarningLevel (WarningLevel) 3. Object UserInterface transitions from state Check to state Idle on condition WarningLevel=

9 Outline Background Requirements patterns: Give guidance for developing UML diagrams Modeling and Analysis Constraints section in patterns: Give guidance for properties to check Formalization work and tool suite: Enable rigorous checking of requirements using simulation and model checking techniques Visualization tools: Help locate errors in original diagrams 49 Facilitate model refinement 50 Outline Background Current and future work: Extend our tools and patterns to support discrete timing aspects [ASE-04] Real-time specification patterns [RT-patterns04] Extend our pattern repository to address security [RHAS03] Examine how to abstract model specifications Modeling and Analysis 5 Other projects: RAPIDware (ONR adaptive middleware project) Safeness and Correctness of adaptations Feature Interactions Use AOP to weave adaptability Code generation for adaptations. 52 Acknowledgements References Background Software Engineering and Networking Systems Faculty/Students [Gebhard] [Broy] Bernd Geghard, Martin Rappl, Requirements Management for Automotive Systems Development. SAE World Congress, 2000 Manfred Broy, Requirements Engineering for Embedded Systems. Workshop on Formal Design of Safety Critical Embedded Systems, 997 This work has been supported in part by NSF grants EIA , EIA , CDA , CCR-99007, Department of the Navy, Office of Naval Research under Grant No. N , and DARPA grant No. F , managed by Air Force s Rome Laboratories Eaton Corporation, Siemens Corporate Research, a Motorola doctoral fellowship, and in cooperation with Siemens Automotive and Detroit Diesel Corporation 53 [Glinz] [Dwyer] [Gamma] Martin Glinz, Problems and Deficiencies of UML as a Requirements Specification Language. Proceedings of the Tenth International Workshop on Software Specification and Design, San Diego, -22, 2000 M. B. Dwyer, G. S. Avrunin, J. C. Corbett, Patterns in Property Specifications for Finite-State Verification. UM-CS , 998 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Abstraction and Reuse of Object-Oriented Design. Lecture Notes in Computer Science, vol. 707, p ,

10 Relevant Publications Relevant Publications [TSE95] [IWSSD-0] [DSN00] [IJSEKE00] [ICSE0] ``A Formal Semantics of Object Models'' R.H. Bourdeau and B. Cheng, IEEE Trans. on Software Engineering, Vol. 2, No. 0, pp , October 995. Object-Oriented Modeling and Automated Analysis of a Telemedicine Application, L Campbell and B. Cheng, IEEE International Workshop on Software Specification and Design, November Enabling Automated Analysis through the Formalization of Object-Oriented Modeling Diagrams, L. Campbell, B. Cheng, and E. Wang, IEEE Dependable Systems and Networks, June Formalizing the Functional Model within Object- oriented Design, E. Wang and B. Cheng, International Journal on Software Engineering and Knowledge Engineering, Vol 0, No., February A General Framework for Formalizing UML with Formal Language,. William E. McUmber, Betty H.C. Cheng, Proceedings of IEEE International Conference on Software Engineering, Toronto, 200 [RHAS02] [RE02] [REJ02] [TSE02] [SPIN03] Adding Formal Specifications to, Betty H.C. Cheng, Laura A. Campbell, and Sascha Konrad, International Workshop on Requirements for High Assurance Systems, Essen, September 2002 for Embedded Systems, Sascha Konrad and Betty H.C. Cheng, Proc. Of IEEE 0 th International Requirements Engineering Conference Essen, September 2002 ``Automatically detecting and visualizing errors in UML diagrams, Laura A. Campbell, Betty H. C. Cheng, William E. McUmber, and R. E. K. Stirewalt, Requirements Engineering Journal, 7(4): , Formalizing and Integrating the Dynamic Model for Object-Oriented Modeling, B. Cheng and E. Wang, IEEE Transactions on Software Engineering, Vol 28, No. 8, August, A Requirements Pattern- Driven Approach to Specify Systems and Check Properties S. Konrad, L. Campbell, B. Cheng, M. Deng, SPIN 2003, May (Co-located with ICSE03.) [RE0] Integrating Informal and Formal Approaches to Requirements Modeling and Analysis, L. Campbell and B. Cheng, IEEE Requirements Engineering, Poster Workshop, August [RHAS03] Using Security Patterns to Model and Analyze Security Properties, S. Konrad, B. Cheng, L. Campbell, R. Wassermann, IEEE Workshop on Requirements for High Assurance Systems, September (Co- located with RE02.) 56 Relevant Publications Questions/Discussion [ASE04] [Trace] ``Automated Analysis of Timing Information in UML Diagrams,'' Sascha Konrad, Laura Campbell, and Betty H.C. Cheng), Proc. of IEEE International Conference on Automated Software Engineering (to appear), September 2004, Linz Austria. ``Retrieval-By-Construction: A Traceability Technique to Support Verification and Validation of s,'' M. Deng, R.E.K. Stirewalt, and B. Cheng submitted to International Journal on Software Engineering and Knowledge Engineering, Special issue on Traceability, June Background [Patterns] ``Object Analysis Patterns for Embedded Systems,'' S. Konrad, L. Campbell, and B. Cheng, revision under review for IEEE Transactions on Software Engineering, August

Automated Analysis of Natural Language Properties for UML Models

Automated Analysis of Natural Language Properties for UML Models Automated Analysis of Natural Language Properties for UML Models Sascha Konrad and Betty H.C. Cheng Software Engineering and Network Systems Laboratory, Department of Computer Science and Engineering,

More information

A Pattern-Based Approach for Modeling and Analysis of Error Recovery

A Pattern-Based Approach for Modeling and Analysis of Error Recovery A Pattern-Based Approach for Modeling and Analysis of Error Recovery Ali Ebnenasir 1 and Betty H.C. Cheng 2 1 Department of Computer Science Michigan Technological University Houghton, Michigan 49931,

More information

Model Checking DSL-Generated C Source Code

Model Checking DSL-Generated C Source Code Model Checking DSL-Generated C Source Code Martin Sulzmann and Axel Zechner Informatik Consulting Systems AG, Germany {martin.sulzmann,axel.zechner}@ics-ag.de Abstract. We report on the application of

More information

Pattern-Based Architectural Design Process Model

Pattern-Based Architectural Design Process Model Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying

More information

Design Patterns. Gunnar Gotshalks A4-1

Design Patterns. Gunnar Gotshalks A4-1 Design Patterns A4-1 On Design Patterns A design pattern systematically names, explains and evaluates an important and recurring design problem and its solution Good designers know not to solve every problem

More information

Visualizing Requirements in UML Models

Visualizing Requirements in UML Models Visualizing Requirements in UML Models Sascha Konrad, Heather Goldsby, Karli Lopez, and Betty H.C. Cheng {konradsa,hjg,lopezkar,chengb}@cse.msu.edu Software Engineering and Network Systems Laboratory Department

More information

Applying the Observer Design Pattern

Applying the Observer Design Pattern Applying the Observer Design Pattern Trenton Computer Festival Professional Seminars Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S. in Computer Science Rutgers

More information

Topics in Object-Oriented Design Patterns

Topics in Object-Oriented Design Patterns Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;

More information

Checking General Safety Criteria on UML Statecharts

Checking General Safety Criteria on UML Statecharts Checking General Safety Criteria on UML Statecharts Zsigmond Pap, István Majzik 1 and András Pataricza Dept. of Measurement and Information Systems Budapest University of Technology and Economics H-1521

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1

Ingegneria del Software Corso di Laurea in Informatica per il Management. Design Patterns part 1 Ingegneria del Software Corso di Laurea in Informatica per il Management Design Patterns part 1 Davide Rossi Dipartimento di Informatica Università di Bologna Pattern Each pattern describes a problem which

More information

Design Patterns. An introduction

Design Patterns. An introduction Design Patterns An introduction Introduction Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Your design should be specific to the problem at

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Modeling Issues Modeling Enterprises. Modeling

Modeling Issues Modeling Enterprises. Modeling Modeling Issues Modeling Enterprises SE502: Software Requirements Engineering Modeling Modeling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Review Software Engineering October, 7, Adrian Iftene

Review Software Engineering October, 7, Adrian Iftene Review Software Engineering October, 7, 2013 Adrian Iftene adiftene@info.uaic.ro Software engineering Basics Definition Development models Development activities Requirement analysis Modeling (UML Diagrams)

More information

Object Design II: Design Patterns

Object Design II: Design Patterns Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game

More information

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT Otthein Herzog IBM Germany, Dept. 3100 P.O.Box 80 0880 D-7000 STUTTGART, F. R. G. ABSTRACT tn the IBM Boeblingen Laboratory some software was

More information

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Using Design Patterns in Java Application Development

Using Design Patterns in Java Application Development Using Design Patterns in Java Application Development ExxonMobil Research & Engineering Co. Clinton, New Jersey Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S.

More information

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout

Trusted Components. Reuse, Contracts and Patterns. Prof. Dr. Bertrand Meyer Dr. Karine Arnout 1 Last update: 2 November 2004 Trusted Components Reuse, Contracts and Patterns Prof. Dr. Bertrand Meyer Dr. Karine Arnout 2 Lecture 5: Design patterns Agenda for today 3 Overview Benefits of patterns

More information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components Based Design and Development. Unit 3: Software Design Quick Overview Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Aspect-Orientation from Design to Code

Aspect-Orientation from Design to Code Aspect-Orientation from Design to Code Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany groher@informatik.tu-darmstadt.de Thomas Baumgarth Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739

More information

A Grid-Enabled Component Container for CORBA Lightweight Components

A Grid-Enabled Component Container for CORBA Lightweight Components A Grid-Enabled Component Container for CORBA Lightweight Components Diego Sevilla 1, José M. García 1, Antonio F. Gómez 2 1 Department of Computer Engineering 2 Department of Information and Communications

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

JOURNAL OF OBJECT TECHNOLOGY Online at  Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering. JOT, 2002 Vol. 1, No. 2, July-August 2002 Representing Design Patterns and Frameworks in UML Towards

More information

Learning-Based Assume-Guarantee Verification (Tool Paper)

Learning-Based Assume-Guarantee Verification (Tool Paper) -Based Assume-Guarantee Verification (Tool Paper) Dimitra Giannakopoulou and Corina S. Păsăreanu NASA Ames Research Center, Moffett Field, CA 94035-1000, USA 1 Introduction Despite significant advances

More information

A framework for business processes view integration

A framework for business processes view integration A framework for business processes view integration Souvik Barat 1, Vinay Kulkarni 1, Prof. D Janakiram 2 1 Tata Research Development & Design Centre, Pune, India {souvik.barat, vinay.vkulkarni}@tcs.com}

More information

Object-Oriented Software Development Goal and Scope

Object-Oriented Software Development Goal and Scope Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic

More information

Reflective Design Patterns to Implement Fault Tolerance

Reflective Design Patterns to Implement Fault Tolerance Reflective Design Patterns to Implement Fault Tolerance Luciane Lamour Ferreira Cecília Mary Fischer Rubira Institute of Computing - IC State University of Campinas UNICAMP P.O. Box 676, Campinas, SP 3083-970

More information

Towards Better Support for Pattern-Oriented Software Development

Towards Better Support for Pattern-Oriented Software Development Towards Better Support for Pattern-Oriented Software Development Dietrich Travkin Software Engineering Research Group, Heinz Nixdorf Institute & Department of Computer Science, University of Paderborn,

More information

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj

SCR*: A Toolset for Specifying and. Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj SCR*: A Toolset for Specifying and Analyzing Software Requirements? Constance Heitmeyer, James Kirby, Bruce Labaw and Ramesh Bharadwaj Naval Research Laboratory, Code 5546, Washington, DC 20375, USA Abstract.

More information

UML Aspect Specification Using Role Models

UML Aspect Specification Using Role Models UML Aspect Specification Using Role Models Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France Department of Computer Science, Colorado State University

More information

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink

A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink A Prototype for Guideline Checking and Model Transformation in Matlab/Simulink Holger Giese, Matthias Meyer, Robert Wagner Software Engineering Group Department of Computer Science University of Paderborn

More information

Design Patterns for Description-Driven Systems

Design Patterns for Description-Driven Systems Design Patterns for Description-Driven Systems N. Baker 3, A. Bazan 1, G. Chevenier 2, Z. Kovacs 3, T Le Flour 1, J-M Le Goff 4, R. McClatchey 3 & S Murray 1 1 LAPP, IN2P3, Annecy-le-Vieux, France 2 HEP

More information

Safety and Reliability of Software-Controlled Systems Part 14: Fault mitigation

Safety and Reliability of Software-Controlled Systems Part 14: Fault mitigation Safety and Reliability of Software-Controlled Systems Part 14: Fault mitigation Prof. Dr.-Ing. Stefan Kowalewski Chair Informatik 11, Embedded Software Laboratory RWTH Aachen University Summer Semester

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

WS01/02 - Design Pattern and Software Architecture

WS01/02 - Design Pattern and Software Architecture Design Pattern and Software Architecture: VIII. Conclusion AG Softwaretechnik Raum E 3.165 Tele. 60-3321 hg@upb.de VIII. Conclusion VIII.1 Classifications VIII.2 Common Misconceptions VIII.3 Open Questions

More information

Adding Safeness to Dynamic Adaptation Techniques

Adding Safeness to Dynamic Adaptation Techniques Proc. of Workshop on Architecting Dependable Systems (WADS), part of ICSE04, May 2004. Adding Safeness to Dynamic Adaptation Techniques (Work-in-Progress) Ji Zhang, Zhenxiao Yang, Betty H.C. Cheng, and

More information

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards

Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards What to Architect? How to Architect? IEEE Goals and Objectives Chartered by IEEE Software Engineering Standards Committee to: Define

More information

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University

Idioms and Design Patterns. Martin Skogevall IDE, Mälardalen University Idioms and Design Patterns Martin Skogevall IDE, Mälardalen University 2005-04-07 Acronyms Object Oriented Analysis and Design (OOAD) Object Oriented Programming (OOD Software Design Patterns (SDP) Gang

More information

Chapter 12 (revised by JAS)

Chapter 12 (revised by JAS) Chapter 12 (revised by JAS) Pattern-Based Design Slide Set to accompany Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

A Solution Based on Modeling and Code Generation for Embedded Control System

A Solution Based on Modeling and Code Generation for Embedded Control System J. Software Engineering & Applications, 2009, 2: 160-164 doi:10.4236/jsea.2009.23023 Published Online October 2009 (http://www.scirp.org/journal/jsea) A Solution Based on Modeling and Code Generation for

More information

Verification, Validation, and Test with Model-Based Design

Verification, Validation, and Test with Model-Based Design 2008-01-2709 Verification, Validation, and Test with Model-Based Design Copyright 2008 The MathWorks, Inc Tom Erkkinen The MathWorks, Inc. Mirko Conrad The MathWorks, Inc. ABSTRACT Model-Based Design with

More information

A Mini Challenge: Build a Verifiable Filesystem

A Mini Challenge: Build a Verifiable Filesystem A Mini Challenge: Build a Verifiable Filesystem Rajeev Joshi and Gerard J. Holzmann Laboratory for Reliable Software, Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA 91109,

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context

Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Test and Evaluation of Autonomous Systems in a Model Based Engineering Context Raytheon Michael Nolan USAF AFRL Aaron Fifarek Jonathan Hoffman 3 March 2016 Copyright 2016. Unpublished Work. Raytheon Company.

More information

Applying the Decorator Design Pattern

Applying the Decorator Design Pattern Applying the Decorator Design Pattern Trenton Computer Festival Professional Seminars Michael P. Redlich (908) 730-3416 michael.p.redlich@exxonmobil.com About Myself Degree B.S. in Computer Science Rutgers

More information

Crash course on design patterns

Crash course on design patterns Crash course on design patterns Yann-Gaël Guéhéneuc guehene@emn.fr From Olivier Motelet s course (2001/10/17) École des Mines de Nantes, France Object Technology International, Inc., Canada Design patterns

More information

Automated Verification for the Software of Distributed Control Systems: Possible Approaches

Automated Verification for the Software of Distributed Control Systems: Possible Approaches Automated Verification for the Software of Distributed Control Systems: Possible Approaches Francesco Schiavo Politecnico di Milano Dipartimento di Elettronica e Informazione Automated Verification for

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

A UML 2 Profile for Variability Models and their Dependency to Business Processes

A UML 2 Profile for Variability Models and their Dependency to Business Processes A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and

More information

A Design Pattern of the User Interface of Safety-Critical Systems

A Design Pattern of the User Interface of Safety-Critical Systems IWCIT 0 A Design Pattern of the User Interface of Safety-Critical Systems Zsigmond Pap, Dániel Petri Department of Measurement and Information Systems Budapest University of Technology and Economics Abstract:

More information

Safety Argument based on GSN for Automotive Control Systems. Yutaka Matsubara Nagoya University

Safety Argument based on GSN for Automotive Control Systems. Yutaka Matsubara Nagoya University 1 Safety Argument based on GSN for Automotive Control Systems Yutaka Matsubara Nagoya University yutaka@ertl.jp 02.26.2014 2 Agenda 1. Safety argument in ISO26262 2. Requirements related to safety argument

More information

Introduction & Formal Methods

Introduction & Formal Methods Introduction & Formal Methods http://d3s.mff.cuni.cz Jan Kofroň CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Introduction to dependable systems NSWE 002 What you learn: Dependable systems

More information

Summary of the course lectures

Summary of the course lectures Summary of the course lectures 1 Components and Interfaces Components: Compile-time: Packages, Classes, Methods, Run-time: Objects, Invocations, Interfaces: What the client needs to know: Syntactic and

More information

CS251 Software Engineering Lectures 18: Intro to DP

CS251 Software Engineering Lectures 18: Intro to DP و ابتغ فيما آتاك هللا الدار اآلخرة و ال تنس نصيبك من الدنيا CS251 Software Engineering Lectures 18: Intro to DP Slides by Rick Mercer, Christian Ratliff, Oscar Nierstrasz and others 1 Outline Introduction

More information

Design Patterns. CSC207 Fall 2017

Design Patterns. CSC207 Fall 2017 Design Patterns CSC207 Fall 2017 Design Patterns A design pattern is a general description of the solution to a well-established problem using an arrangement of classes and objects. Patterns describe the

More information

PPOOA, An Architectural Style for Real Time Systems

PPOOA, An Architectural Style for Real Time Systems PPOOA, An Architectural Style for Real Time Systems José Luis Fernández Sánchez Industrial Engineering School Universidad Politécnica de Madrid e-mail: fernandezjl@acm.org September 2004 PPOOA-WP-01_2004.pdf

More information

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007

Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Event Metamodel and Profile (EMP) Proposed RFP Updated Sept, 2007 Robert Covington, CTO 8425 woodfield crossing boulevard suite 345 indianapolis in 46240 317.252.2636 Motivation for this proposed RFP 1.

More information

Modelling and verification of BPEL business processes

Modelling and verification of BPEL business processes Modelling and verification of BPEL business processes Marina Mongiello Dipartimento di Elettronica ed Elettrotecnica Politecnico di Bari, Italy mongiello@poliba.it Daniela Castelluccia Dipartimento di

More information

Towards the integration of security patterns in UML Component-based Applications

Towards the integration of security patterns in UML Component-based Applications Towards the integration of security patterns in UML Component-based Applications Anas Motii 1, Brahim Hamid 2, Agnès Lanusse 1, Jean-Michel Bruel 2 1 CEA, LIST, Laboratory of Model Driven Engineering for

More information

Enabling Automated Analysis Through the Formalization of Object-Oriented Modeling Diagrams

Enabling Automated Analysis Through the Formalization of Object-Oriented Modeling Diagrams Proc. of IEEE Dependable Systems and Networks (FTCS-30 and DCCA-8), June 2000, New York, New York Enabling Automated Analysis Through the Formalization of Object-Oriented Modeling Diagrams Betty H.C. Cheng

More information

Software Design And Modeling BE 2015 (w. e. f Academic Year )

Software Design And Modeling BE 2015 (w. e. f Academic Year ) Software Design And Modeling BE 2015 (w. e. f Academic Year 2018-2019) 1 The Team Prof. Ravi Patki, I 2 IT Hinjawadi Pune Prof. Sangita Jaibhaiye SCOE Prof. D.D.Londhe PICT Prof. P. A. Joshi, ZCOER 2 The

More information

Modeling Systems Using Design Patterns

Modeling Systems Using Design Patterns Modeling Systems Using Design Patterns Jaroslav JAKUBÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia jakubik@fiit.stuba.sk

More information

Hitachi-GE Nuclear Energy, Ltd. UK ABWR GENERIC DESIGN ASSESSMENT Resolution Plan for RO-ABWR-0027 Hardwired Back Up System

Hitachi-GE Nuclear Energy, Ltd. UK ABWR GENERIC DESIGN ASSESSMENT Resolution Plan for RO-ABWR-0027 Hardwired Back Up System Hitachi-GE Nuclear Energy, Ltd. UK ABWR GENERIC DESIGN ASSESSMENT Resolution Plan for RO-ABWR-0027 Hardwired Back Up System RO TITLE: Hardwired Back Up System REVISION : 5 Overall RO Closure Date (Planned):

More information

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics Software Verification and Validation (VIMMD052) Introduction Istvan Majzik majzik@mit.bme.hu Budapest University of Technology and Economics Dept. of Measurement and Information s Budapest University of

More information

BACnet: A Data Communication Protocol for Building Automation and Control Networks

BACnet: A Data Communication Protocol for Building Automation and Control Networks . BACnet: A Data Communication Protocol for Building Automation and Control Networks.......... CS495 Computer Networking Research Project Submitted By: Eric Durant Submitted To: Dr. Henry Welch Date: Wednesday

More information

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS

APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS APPLYING DESIGN PATTERNS TO SCA IMPLEMENTATIONS Adem Zumbul (TUBITAK-UEKAE, Kocaeli, Turkey, ademz@uekae.tubitak.gov.tr); Tuna Tugcu (Bogazici University, Istanbul, Turkey, tugcu@boun.edu.tr) ABSTRACT

More information

Leveraging DTrace for runtime verification

Leveraging DTrace for runtime verification Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets

More information

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

Adding Formal Requirements Modeling to SysML

Adding Formal Requirements Modeling to SysML Adding Formal Requirements Modeling to SysML Mark R. Blackburn www.markblackburn.com Abstract. This paper seeks to raise awareness on the SCR extensions derived from industry use, and discusses how an

More information

Software Model Checking: Theory and Practice

Software Model Checking: Theory and Practice Software Model Checking: Theory and Practice Lecture: Specification Checking - Specification Patterns Copyright 2004, Matt Dwyer, John Hatcliff, and Robby. The syllabus and all lectures for this course

More information

Issues in Programming Language Design for Embedded RT Systems

Issues in Programming Language Design for Embedded RT Systems CSE 237B Fall 2009 Issues in Programming Language Design for Embedded RT Systems Reliability and Fault Tolerance Exceptions and Exception Handling Rajesh Gupta University of California, San Diego ES Characteristics

More information

An Aspect-Based Approach to Modeling Security Concerns

An Aspect-Based Approach to Modeling Security Concerns An Aspect-Based Approach to Modeling Security Concerns Geri Georg Agilent Laboratories, Agilent Technologies, Fort Collins, USA geri_georg@agilent.com Robert France, Indrakshi Ray Department of Computer

More information

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order

More information

Advanced Software Engineering: Software Testing

Advanced Software Engineering: Software Testing Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News

More information

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8

Object Oriented Methods with UML. Introduction to Design Patterns- Lecture 8 Object Oriented Methods with UML Introduction to Design Patterns- Lecture 8 Topics(03/05/16) Design Patterns Design Pattern In software engineering, a design pattern is a general repeatable solution to

More information

Integrating SysML and OWL

Integrating SysML and OWL Integrating SysML and OWL Henson Graves Lockheed Martin Aeronautics Company Fort Worth Texas, USA henson.graves@lmco.com Abstract. To use OWL2 for modeling a system design one must be able to construct

More information

An Information Model for High-Integrity Real Time Systems

An Information Model for High-Integrity Real Time Systems An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,

More information

Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software

Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software Chapter 9 Introduction to Design Patterns Copy Rights Virtual University of Pakistan 1 Design

More information

Design Patterns Application with MDE

Design Patterns Application with MDE Design Patterns Application with MDE Prof. Jean-Marc Jézéquel (Univ. Rennes 1 & INRIA) Triskell Team @ IRISA Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 847 171 e-mail :

More information

Introduction and History

Introduction and History Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek September 15, 2016 Content /FHTenL September 15, 2016 2/28 The idea is quite old, although rather young in SE. Keep up a roof. /FHTenL

More information

Object-Oriented Design (OOD) Case Study : Architecture and Detail Design and Software Design Document (SDD) Prepared by Shahliza Abd Halim

Object-Oriented Design (OOD) Case Study : Architecture and Detail Design and Software Design Document (SDD) Prepared by Shahliza Abd Halim Object-Oriented Design (OOD) Case Study : Architecture and Detail Design and Software Design Document (SDD) Prepared by Shahliza Abd Halim Recap on SDLC Phases & Artefacts Domain Analysis @ Business Process

More information

Towards a Java Framework for Knowledge Representation and Inference

Towards a Java Framework for Knowledge Representation and Inference Towards a Java Framework for Knowledge Representation and Inference Adrian GIURCA University of Craiova, Faculty of Mathematics and Computer Science Email: giurca@inf.ucv.ro Abstract. The Knowledge Representation

More information

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

More information

CSCI Object Oriented Design: Frameworks and Design Patterns George Blankenship. Frameworks and Design George Blankenship 1

CSCI Object Oriented Design: Frameworks and Design Patterns George Blankenship. Frameworks and Design George Blankenship 1 CSCI 6234 Object Oriented Design: Frameworks and Design Patterns George Blankenship Frameworks and Design George Blankenship 1 Background A class is a mechanisms for encapsulation, it embodies a certain

More information

Design Patterns. Hausi A. Müller University of Victoria. Software Architecture Course Spring 2000

Design Patterns. Hausi A. Müller University of Victoria. Software Architecture Course Spring 2000 Design Patterns Hausi A. Müller University of Victoria Software Architecture Course Spring 2000 1 Motivation Vehicle for reasoning about design or architecture at a higher level of abstraction (design

More information

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich

CSCD01 Engineering Large Software Systems. Design Patterns. Joe Bettridge. Winter With thanks to Anya Tafliovich CSCD01 Engineering Large Software Systems Design Patterns Joe Bettridge Winter 2018 With thanks to Anya Tafliovich Design Patterns Design patterns take the problems consistently found in software, and

More information

DESIGN PATTERN MATCHING

DESIGN PATTERN MATCHING PERIODICA POLYTECHNICA SER. EL. ENG. VOL. 47, NO. 3 4, PP. 205 212 (2003) DESIGN PATTERN MATCHING Dániel PETRI and György CSERTÁN Department of Measurement and Information Systems Budapest University of

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

Generation Rules in POMA Architecture

Generation Rules in POMA Architecture J. Software Engineering & Applications, 2010, 3, 1040-1046 doi:10.4236/jsea.2010.311122 Published Online November 2010 (http://www.scirp.org/journal/jsea) Mohamed Taleb 1, Ahmed Seffah 2, Alain Abran 1

More information

Software Reengineering Refactoring To Patterns. Martin Pinzger Delft University of Technology

Software Reengineering Refactoring To Patterns. Martin Pinzger Delft University of Technology Software Reengineering Refactoring To Patterns Martin Pinzger Delft University of Technology Outline Introduction Design Patterns Refactoring to Patterns Conclusions 2 The Reengineering Life-Cycle (1)

More information

Recalling the definition of design as set of models let's consider the modeling of some real software.

Recalling the definition of design as set of models let's consider the modeling of some real software. Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous

More information