Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley.

Slides:



Advertisements
Similar presentations
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Instructor Kostas Kontogiannis.
Advertisements

OBJECT ORIENTED PROGRAMMING M Taimoor Khan
CSE 1302 Lecture 8 Inheritance Richard Gesick Figures from Deitel, “Visual C#”, Pearson.
ITEC200 – Week03 Inheritance and Class Hierarchies.
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
UML – Class Diagrams.
Component Technologies for Embedded Systems Johan Eker.
Advanced Tool Architectures Supporting Interface-Based Design
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Behavioral Types for Actor-Oriented Design Edward A. Lee.
Behavioral Types as Interface Definitions for Concurrent Components Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley.
Actor-Oriented Design: A focus on domain-specific languages for embedded systems Edward A. Lee Professor, UC Berkeley Director, Center for Hybrid and Embedded.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Causality Interfaces and Compositional Causality Analysis Rachel Zhou UC Berkeley.
Hierarchical Reconfiguration of Dataflow Graphs Stephen Neuendorffer UC Berkeley Poster Preview May 10, 2004.
Department of Electrical Engineering and Computer Sciences University of California at Berkeley Concurrent Component Patterns, Models of Computation, and.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Programming Languages and Paradigms Object-Oriented Programming.
Systems Analysis and Design in a Changing World, Fifth Edition
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
Lecture 8 Inheritance Richard Gesick. 2 OBJECTIVES How inheritance promotes software reusability. The concepts of base classes and derived classes. To.
Object-Oriented Implementation of Reconciliations M.Sc. Seminar Talk by Costa Shapiro under supervision of Prof. Shmuel Katz Computer Science – Technion.
An Introduction to Software Architecture
CS 403 – Programming Languages Class 25 November 28, 2000.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Introduction to Object Oriented Programming CMSC 331.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
The Factory Patterns SE-2811 Dr. Mark L. Hornick 1.
Design Languages in 2010 Chess: Center for Hybrid and Embedded Software Systems Edward A. Lee Professor UC Berkeley Panel Position Statement Forum on Design.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Lecture 10 Concepts of Programming Languages Arne Kutzner Hanyang University / Seoul Korea.
Inheritance. Inheritance - Introduction Idea behind is to create new classes that are built on existing classes – you reuse the methods and fields and.
Object-Oriented Programming Chapter Chapter
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
Object Oriented Programming
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
ISBN Object-Oriented Programming Chapter Chapter
Inheritance CSI 1101 Nour El Kadri. OOP  We have seen that object-oriented programming (OOP) helps organizing and maintaining large software systems.
Introduction to Object-Oriented Programming Lesson 2.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Actor Oriented Programming with CAL -designing embedded system components Johan Eker Department of Automatic Control, Lund University Chris Chang, Jörn.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Object-Oriented Design Concepts University of Sunderland.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
Building Custom Controls with ASP.NET and the Microsoft ®.NET Framework Rames Gantanant Microsoft Regional Director, Thailand
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
ISBN Chapter 12 Support for Object-Oriented Programming.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
Java Programming: Guided Learning with Early Objects Chapter 9 Inheritance and Polymorphism.
Sections Inheritance and Abstract Classes
Lecture 12 Inheritance.
Inheritance B.Ramamurthy 11/7/2018 B.Ramamurthy.
UML Class Diagrams: Basic Concepts
Lecture 22 Inheritance Richard Gesick.
Concurrent Models of Computation for Embedded Software
Multiple Aspect Modeling of the Synchronous Language Signal
Fundaments of Game Design
Lecture 10 Concepts of Programming Languages
Presentation transcript:

Chess Review May 8, 2003 Berkeley, CA Classes and Inheritance in Actor- Oriented Models Stephen Neuendorffer Edward Lee UC Berkeley

Chess Review, May 8, Introduction Component-based design –Object-oriented components –Actor-oriented components Most Actor-oriented tools lack the class mechanisms of Object-oriented languages. –inheritance –subclassing A preliminary approach to providing class- like mechanisms in Ptolemy II

Chess Review, May 8, Component-based Design Component Complex systems built primarily through composition. Encapsulation of intellectual property. Visual languages and design tools. Component reuse.

Chess Review, May 8, Object-Oriented Components Object Provides ports expose methods that can be invoked on this object Requires ports expose methods that this object might invoke. This interface specification allows for consistency checking of compositions. However, this interface lacks important pieces of information: Method Requirements. (Sequencing? Preconditions?) Concurrency constraints. (Deadlock? Re-entrancy?)

Chess Review, May 8, Actor-Oriented Components Actor Input ports expose flows of data that this actor consumes. Output ports expose flows of data that this actor produces. This interface specification allows for consistency checking of compositions. This interface also lacks important pieces of information: How data is transported between ports Concurrency constraints between actors These are largely orthogonal issues for actors

Chess Review, May 8, Example of an Actor-Oriented Framework: Simulink basic abstraction mechanism is hierarchy.

Chess Review, May 8, Hierarchical Abstraction Complex components can encapsulate smaller components. Object- oriented delegation pattern hierarchical component copy container

Chess Review, May 8, Class mechanisms Realization: –Most components in a large system operate in the same basic fashion. Object-oriented classes provide several important capabilities. –Central point of design. –Basis for type checking. –Static compilation. –Extension and variation. But also present some complications. –Run-time modifications become difficult. –Source of inconsistencies.

Chess Review, May 8, Classes and Hierarchy Classes simplify the structure of complex models. Classes extend the containment hierarchy with an inheritance hierarchy.

Chess Review, May 8, The First (?) Actor-Oriented Programming Language (1966) MIT Lincoln Labs TX-2Bert Sutherland with a light pen Partially constructed actor-oriented model with a class definition (top) and instance (below). Bert Sutherland used the first acknowledged object-oriented framework (Sketchpad, created by his brother, Ivan Sutherland) to create the first actor- oriented programming framework.

Chess Review, May 8, Key Problems Direct manipulation user interface of both classes and instances. –Maximize syntactic consistency. Expressive uses of classes –subclasses with extension and overriding –nested classes Interactive modification of classes –Classes might be modified at runtime Distinguishing overridden values from inherited default values.

Chess Review, May 8, Visual Class Representation Each block is implicitly an instance of an actor class.

Chess Review, May 8, An Actor Class Every subclass or instance of this actor class contains at least this structure. Parameter values of actors in a class give default values for all instances of the class

Chess Review, May 8, Models with Classes class instance model Derived objects implied by class Intuition: Modifications to classes propagate to derived objects, as long as local changes have not been made. Actor classes are explicitly instantiated.

Chess Review, May 8, A Simple Example Here the property of BaseClass is modified, which does not propagate to Instance2. This example is simple because there is only one propagation path.

Chess Review, May 8, A Subclass Dotted lines show inherited objects that cannot be deleted, while allowing syntax-directed editing.

Chess Review, May 8, Models with SubClasses class instance subclass instance model Derived objects implied by class Changes propagate to subclasses similarly to instances. Subclasses allow for independent extension, while instances do not. Actor classes are explicitly subclassed. instance

Chess Review, May 8, Nested Classes

Chess Review, May 8, Models with Nested Classes class instance class instance model Nested classes result in multiple propagation paths. Approach: prioritize propagation so that localized changes override global changes.

Chess Review, May 8, Summary Class mechanisms for modularity can be integrated with actor-oriented modeling. Inherited changes in a syntactically-driven environment can be tricky: –Nested Classes Still many open questions.. –Consistency given multiple propagations? –Is “Local Override” property the best one?