A Methodology for Developing Industrial Embedded Systems: An Hardware/Software Co-Design Approach U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA 2000-Apr-07 João Miguel Fernandes Dept. Informática João Miguel Fernandes Dept. Informática MICEI-99/00
2 Outline 1. Introduction 2. Fundamental Concepts 3. Analysis Issues 4. Conclusions 5. Future Work
3 1. Introduction n What is our R&D job? –Define new methodologies and architectural solutions to help systems (hardware/software) engineers to do their job, in an easier way. n What is our application area? –Industrial real-time applications demanding direct intervention in real-time control, supervision and monitoring, computer vision, robotic systems and industrial communications.
4 1. Introduction n What are our main concerns? –Control the complexity in system design. –Guarantee the models’ continuity during reification stages. –Use non-conventional target architectures in a technologically-transparent way. n What are our preferable target architectures? –Embedded, heterogeneous, reconfigurable and distributed processing architectures.
5 2. Fundamental Concepts - Systems’ Characteristics - n State transition n Exceptions n Hierarchy n Concurrency n Distribution n Activity conclusion n Algorithmic constructions n Timeliness n Non-functional requirements n...
6 2. Fundamental Concepts - HW/SW Co-Design - Co-Design: Development approach that faces the problem of designing heterogeneous systems (with hw and sw components) treating both kinds of components in an equal way, allowing the iterative migration of functionalities so that functional and non- functional requirements are optimally implemented.
7 2. Fundamental Concepts - HW/SW Co-Design - n hardware/software co-design allows: –hw/sw functional migrations –interface modifications –hw/sw corrections –better design-space exploration n i.e.: HW/SW co-design promotes an effective concurrent, co- operative and co-ordinated design of the hardware and software components needed for the implementation of the system.
8 2. Fundamental Concepts - Virtual Prototyping - n unified representations n executable specifications n modularity and reutilization n spiral process model
9 2. Fundamental Concepts - Waterfall lifecycle - Feasibility AnalysisDesign Implemen- tation Use MaintenanceTest Development Project Life cycle
10 2. Fundamental Concepts - UML Notation - n UML includes several diagrams that allow the description of the most relevant aspects of a system, following an object-oriented approach. n Each diagram focus a specific view of the system. n Important UML diagrams to specify and document embedded systems: –use cases diagrams –class diagrams –object diagrams –interaction diagrams –statechart diagrams
11 2. Fundamental Concepts - UML Diagrams - n n use cases diagram: show a set of functionalities and actors and the corresponding inter-relations. n n class diagram: presents a set of concepts, types and classes and the respective relations. n n object diagram: exhibit a collection of instances and their inter-connections. n n interaction diagram: show how objects and actors collaborate by exchanging messages. n n statechart diagram: specify the dynamic behaviour of an object, typically including several use cases.
12 3. Analysis Issues - Process Model - n n Operacional approach n n Unified, graphical and multiple-view specification n n Object-oriented Modelling
13 3. Analysis Issues - Context and Use Case Diagrams - n context diagrams –non standard context diagrams for environment capturing –standard context diagrams for stakeholders capturing n hierarchical use case diagrams –formal numbering scheme by tagged values –use case risk-driven refinement –use case sub-behaviouring orthogonalisation n by specialisation n by decomposition
14 3. Analysis Issues - Environment Diagram -
15 3. Analysis Issues - Use Case Diagram -
16 3. Analysis Issues - Use Case Refinement by Specialisation -
17 3. Analysis Issues - Use Case Refinement by Decomposition -
18 3. Analysis Issues - Object Diagrams - n object diagrams –object finding using the “4-step rule set” technique –6 object > stereotypes n >, > and > (or >) n > and > (sub-types of >) n > n 4-step rule set –step 1: transform each use case into 3 objects (control, interface, data) –step 2: holistic filtering (object killing considering all textual descriptions) –step 3: aggregation for object superposition unified representation –step 4: object interconnecting for association finding
19 3. Analysis Issues - Object Diagram -
20 3. Analysis Issues - Sequence Diagrams - n non standard data path/plant diagrams –data path/plant’s resources static specification –UML does not define any diagram for that n extended sequence diagrams –timing inscriptions n non standard scenery diagrams –sequence diagrams with pictorial objects
21 3. Analysis Issues - Data Path/Plant Static Specification -
22 3. Analysis Issues - Sequence Diagrams -
23 3. Analysis Issues - Scenery Diagrams -
24 3. Analysis Issues - Object Diagrams - n collapsed object diagram –one for each different sub-project n non standard high-level object diagram –high-level & global diagram –considers both control and controlled parts of the system –constructed from a filtering technique executed to the collapsed diagram n filtering technique 1.draw a circle around the main entities 2.eliminate entities that don’t have direct associations with the main ones 3.keep the others
25 3. Analysis Issues - Collapsed Object Diagram -
26 3. Analysis Issues - Filtering the Collapsed Object Diagram -
27 3. Analysis Issues - High-Level Object Diagram -
28 3. Analysis Issues - State Diagrams - n UML statecharts –impose static modelling of concurrent activities, directly dependent on the number of FSMs –do not deal efficiently with arbitrary complex data structures n UML activity diagrams –do not support advanced hierarchical modelling n Petri nets (shobi-PN v2.0) –support dynamic, hierarchical, incremental and modular modelling –model the data path/plant reactive behaviour –allow the specification of aggregates of parallel and distributed controller objects
29 3. Analysis Issues - shobi-PN v2.0 Diagrams -
30 3. Analysis Issues - Class Diagrams - Standard class diagrams –simple inheritance –abstract classes –avoid associations between classes –object-driven (object-based)
31 3. Analysis Issues - Controller Architecture -
32 3. Analysis Issues - OBLOG Generation - n 3 decomposition regions –data path n sub-region sensors n sub-region actuators n sub-region nodes –controller n specifies the aggregates of state-machines –system n specifies the final system to be implemented
33 3. Analysis Issues - OBLOG Decomposition Regions -
34 3. Analysis Issues - OBLOG Sensors Sub-Region -
35 3. Analysis Issues - OBLOG Actuators Sub-Region -
36 3. Analysis Issues - OBLOG Generation - n special attention must be paid to the following issues –state Oblog is not state oriented –synchronism Oblog is inherently asynchronous –hierarchy Oblog does not directly support structural hierarchies n 3 sets of rules have been defined to allow the generation of Oblog to specify parallel controllers 1) rule-set for the definition of an abstract class of parallel controllers 2) rule-set for emulating state orientation 3) rule-set for the construction of a collection of sub-machines
37 3. Analysis Issues - OBLOG Generation - n rule-set for emulating state orientation –state change methods (Oblog self initiative operations) –event reaction oriented transition methods (event reaction operations) –eventless transition methods (event reaction operations) –state methods –exception handling to handle behavioural abortions n rule-set for the construction of a collection of sub-machines –upper to lower level machine communication by direct invocation –lower to upper level machine communication by n n multicast sub_param (sender << “net1_s2”, param << condition_out) n n multicast sub_return (sender << “send_other_amt2”, ret << TRUE)
38 3. Analysis Issues - OBLOG Controller Region -
39 3. Analysis Issues - Models Verification/Simulation -
40 4. Conclusions n Language –deal with exceptions –model data path/plant in a reactive way –support multiple-view operational meta-models n Complexity Control –support graphical and hierarchical formalisms –support middle-out approaches n Continuity of models –integrate co-related refined representations within the successive design stages for forward and backward navigation
41 5. Future Work n Apply the methodology to more projects n Replace Oblog by Java as a unified language n Include Quality and Re-engineering issues during Analysis n Incorporate the process simulation in the environment n Build tools (automatic code generation) n...