500 likes | 612 Vues
Chapter 2. Basic Principles. Basic Principles. Introduction to the system example Systems Techniques to manage complexity Approaches to behavior description Some description approaches The methodology presented here The SOON notation. 2.1: Introduction to the System Example.
E N D
Chapter 2 Basic Principles SEG2101 - Chapter 2
Basic Principles • Introduction to the system example • Systems • Techniques to manage complexity • Approaches to behavior description • Some description approaches • The methodology presented here • The SOON notation SEG2101 - Chapter 2
2.1: Introduction to the System Example • Access Control System (AC-System) • Access point: controlled by local station, physically distributed to where the services are needed • Local station: control unit, a door lock mechanism, one or two panels, each contains a card reader, a display unit, and a keypad • Central station: keeps information about the users, their access rights, their cards, and their secret PINs, performs authentication and authorization. SEG2101 - Chapter 2
Panel and Card SEG2101 - Chapter 2
System Structure SEG2101 - Chapter 2
2.2: Systems • What is a system? • Behavior • Structure • Real time systems SEG2101 - Chapter 2
What is a System? • A system is part of real world that a person or group of persons during some time interval and for some purpose choose to regard as a whole, consisting of interrelated components, each component characterized by properties that are selected as being relevant to the purpose. • A system is a purposeful collection of interrelated components that work together to achieve some objective. SEG2101 - Chapter 2
What is a System (2) • A system is part of the real world. • What constitutes a system is a matter of definition. • Each component of a system may also be regarded as a system. • A system is not just any unordered collection of components. • A system has purpose. SEG2101 - Chapter 2
System Hierarchy SEG2101 - Chapter 2
A Simple Intruder Alarm System SEG2101 - Chapter 2
System Description • Two purposes • To describe the functional behavior so that it can be fully understood • To describe the realization so that the system may be produced • System vs system description SEG2101 - Chapter 2
System and System Description SEG2101 - Chapter 2
Behavior • The behavior of a system is the development of states and state transitions generated by actions of the system during the time interval in which it is studied. • Behavior is a dynamic development over time. • Actually occurring in real world. • Approximation: behavior consists of actions that change state (value) of variables. SEG2101 - Chapter 2
A Segment of Behavior SEG2101 - Chapter 2
Structure • The structure of a system is the aspects of the system which stay invariant during the time interval in which it is studied. • Structure is the way things hold together for some time. • pp 30-31 SEG2101 - Chapter 2
Real Time Systems • A system is a real time system if it has a role with time constraints. • A real-time system is a system that is required to react to stimuli from the environment within time intervals dictated by the environment. SEG2101 - Chapter 2
A Simple Fluid Control System (real-time) Interface Pipe Input flow reading Flow meter Processing Valve Output valve angle Time Computer SEG2101 - Chapter 2
A Grain-Roasting Plant(real-time) Bin Furnace Fuel Tank grain Pipe fuel SEG2101 - Chapter 2
A Process Control System(real-time) Process Control Computer Temperature Transducer Finished Products Valve Stirrer Chemicals and Materials PLANT SEG2101 - Chapter 2
2.3: Techniques to Manage Complexity • Abstraction • Projection • Aggregation and partition • Generalization and specialization SEG2101 - Chapter 2
Abstraction • To ignore some aspects of a phenomenon in order to describe (and understand) others more clearly. • Opposite of concrete or physical • The abstractions should be clear and precise, lead to efficient implementation, and support the continuing development and reuse. SEG2101 - Chapter 2
Projection • In projections we look at the system from different angles. • A projection is a description of a system as it is observed at subset of its interfaces. • Only the observable interfaces are visible, while the others are hidden. SEG2101 - Chapter 2
Aggregation and Partitioning (I) • All non-trivial systems are composed from components. • The process of lumping components together to form a whole is called aggregation. • The opposite process of decomposing a whole into parts is called partitioning. SEG2101 - Chapter 2
Aggregation and Partitioning (II) SEG2101 - Chapter 2
Generalization and Specialization • In the real world there are huge amounts of similar subjects. • Rather than describing and understanding all individuals in full detail, we may describe and understand them in terms of similarity. • Type are conceptual entities that we use to structure our descriptions and thoughts. • Individual or subtype is an instance of a type. SEG2101 - Chapter 2
A Generalization Hierarchy SEG2101 - Chapter 2
Type and Subtype SEG2101 - Chapter 2
Inheritance and Specialization SEG2101 - Chapter 2
2.4: Behavior Description: the Problem • The quality of a real-time system is determined to a very large extent by its behavior. • Behavior is the most difficult system aspect to describe, due to its dynamic and transient nature. • How can we represent a dynamic and possibly infinite behavior in a static and finite way? SEG2101 - Chapter 2
Behavior Description: Example SEG2101 - Chapter 2
Behavior Description: Focus • State-oriented • focus on states and action instances • each state is represented by a node • each action instance is represented by a branch • Action-oriented • focus on action types and variables • states need not be described at all • the states may be found by analyzing the actions SEG2101 - Chapter 2
2.5: Some Description Approaches • Abstract description • Entity relationship description • SOON notation • Data flow diagrams • Finite state machine SEG2101 - Chapter 2
Abstract Description • Many different approaches to abstract system description • Conflict between the need to formalize and the need to understand • The abstract description methods that have had the strongest penetration so for have been those that emphasize the needs of human audience. SEG2101 - Chapter 2
Entity Relationship Description SEG2101 - Chapter 2
Entity Relationship Diagram Legend SEG2101 - Chapter 2
Another Entity Relationship Diagram SEG2101 - Chapter 2
SOON Notation (used in book by Braek) SEG2101 - Chapter 2
Type Definition The SOON notation has a clear separation between types and instances it allows us to represent individuals and types explicitly and not implicitly as in ER diagrams. SEG2101 - Chapter 2
UML Class Diagram SEG2101 - Chapter 2
Data Flow Diagrams SEG2101 - Chapter 2
UML Activity Diagram (related to Dataflow Diagrams) SEG2101 - Chapter 2
Use Case Maps Warehouse A notation (with roots in Ottawa) which is semantically similar to Activity Diagrams. Here is the same example: Ship Order Office [ Order rejected ] Close Order [ Order accepted ] Receive Order Fill Order Send Invoice Acccept Payment Client Make Payment SEG2101 - Chapter 2
Concepts describing requirements • Each Use Case is a scenario • Actions done by actors in some given order • Action: Activity / Responsibility • Actor: Swimlane / Component • Order: sequence, alternatives, concurrency, arbitrary control flows (similar to Petri nets) • Abstraction: refinement of activity / Plug-in • Data-Flow: Object flow / not in UCMs.Question: what type of data is exchanged (an extension of control flow) • Input assertions for input data flow • Output assertions for output data flow • Conditions for alternatives (also in UCMs) SEG2101 - Chapter 2
Finite State Machine SEG2101 - Chapter 2
A finite set of inputs, I: A finite set of outputs, O; A finite set of state, S; A next state function, FS: SIS ; An output function, FO: SIO*; A designated initial state, Initial. FSM SEG2101 - Chapter 2
2.6: The Methodology Presented Here SEG2101 - Chapter 2
Summaries of Notations SEG2101 - Chapter 2
2.7: The SOON Notation • SISU Object-Oriented Notation • Used to describe structures where SDL is not appropriate • Less formal and does not enforce SDL semantics SEG2101 - Chapter 2
SOON Symbols SEG2101 - Chapter 2
SOON Syntax SEG2101 - Chapter 2