The Software Engineering and Network Systems Laboratory supports research in: Laura K. Dillon: specification and validation of concurrent systems
|
|
- Marvin Franklin Cameron
- 6 years ago
- Views:
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 Sascha Konrad and Betty H.C. Cheng Software Engineering and Network Systems Laboratory, Department of Computer Science and Engineering,
More informationA 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 informationModel 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 informationPattern-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 informationDesign 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 informationVisualizing 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 informationApplying 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 informationTopics 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 informationChecking 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 informationIngegneria 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 informationDesign 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 informationSoftware 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 informationModeling 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 informationTransforming 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 informationSoftware 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 informationReview 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 informationObject 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 informationFORMALIZED 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 informationProduced 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 informationUsing 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 informationTrusted 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 informationComponents 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 informationDomain-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 informationRequirements 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 informationAspect-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 informationA 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 informationScenario-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 informationJOURNAL 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 informationLearning-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 informationA 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 informationObject-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 informationReflective 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 informationTowards 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 informationSCR*: 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 informationUML 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 informationA 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 informationDesign 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 informationSafety 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 informationRaising 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 informationEvaluating 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 informationWS01/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 informationAdding 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 informationFundamentals 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 informationIdioms 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 informationChapter 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 informationCHAPTER 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 informationA 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 informationVerification, 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 informationA 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 informationArchitectural 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 informationSemantics-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 informationTest 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 informationApplying 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 informationCrash 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 informationAutomated 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 informationSoftware 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 informationA 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 informationA 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 informationSafety 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 informationIntroduction & 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 informationSummary 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 informationCS251 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 informationDesign 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 informationPPOOA, 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 informationEvent 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 informationModelling 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 informationTowards 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 informationEnabling 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 informationSoftware 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 informationModeling 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 informationHitachi-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 informationSoftware 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 informationBACnet: 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 informationAPPLYING 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 informationLeveraging 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 informationScience 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 informationUnit 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 informationAdding 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 informationSoftware 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 informationIssues 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 informationAn 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 informationCOMPOSABILITY, 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 informationAdvanced 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 informationObject 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 informationIntegrating 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 informationAn 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 informationSoftware 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 informationDesign 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 informationIntroduction 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 informationObject-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 informationTowards 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 informationChapter 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 informationCSCI 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 informationDesign 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 informationCSCD01 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 informationDESIGN 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 informationSWE 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 informationGeneration 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 informationSoftware 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 informationRecalling 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