Presentation is loading. Please wait.

Presentation is loading. Please wait.

Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National.

Similar presentations


Presentation on theme: "Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National."— Presentation transcript:

1 Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National University QSIC 2009 1

2 outline ● Introduction ● ractice patterns ○ Decomposition ○ Type Selection ○ Event Definition ○ Packaging ● Process and Application ● Results and Conclusion 2

3 Introduction what’s embedded software? Embedded software is computer software, written to control machines or devices ● characteristics: ○ difficult to change ○ time and memory constraints 3

4 Introduction what’s a pattern? a pattern is a proven solution to a problem in a specific context. 4

5 Introduction ● Pattern’s six main element ○ name ○ context ○ problem ○ force ○ solution ○ resulting context 5

6 problem definition Source code quality is very important to embedded systems because software embedded into a product is difficult to change ! proposal: 4 pattern to improving the qualty of software design model ● practice patterns ○ Decomposition ○ Type Selection ○ Event Definition ○ Packaging ● This pattern is a kind of process pattern to guide the development works of software engineers in modeling phases 6

7 Decomposition pattern Decomposition pattern is used to refine abstract component into concrete components ● Steps: 1. Decompose the top-level component of a system into event monitor component and consequent action component with ignoring hardware devices. 2.The base of the decomposition should be functional units rather than data input or output flows. 7

8 Decomposition pattern 3. If a component has two or more inputs/outputs, decompose the component repeatedly until single input remains. (Exception in case of implicit events such as timer input.) 4.Define the relationship between components. 5.Label the relationship with none phrase but verb phrase. 8

9 Decomposition pattern 9

10 Type Selection patterns The Type Selection Pattern is used to determine the task type of a functional unit 4 types of periodic/aperiodic, synchronous/asynchronous, input/output /function, and control Setps: 1.If a task has a timer input event -> periodic 2. Determine the task type considering the characteristics of devices issuing input events. 3. If a task has input events by human being -> periodic rather than aperiodic 10

11 Type Selection patterns 4.If input events do not have any effect to output events, and the task which receives the input has only branch off behavior -> a control task. 5.If the output events of previous task are not stored in memory, and directly input into sequent task -> synchronous 6. When you confuse to decide the type of a task, you have to enter into a chip 11

12 Type Selection patterns-example 12

13 Event Difinition patterns Event Definition pattern guide modeler as following : 1.list all input events for a process. 2.define all possible values for each event. 3.classify the events according to the event type. 4.define the classified events with an abstract event. 13

14 Packaging pattern Packaging pattern is useful to group concrete component into abstract component. Packaging pattern guide modeler as follows: 1.Leave independent process for such autonomous processes typed with control, periodic,and asynchronous. 2.Leave as different process when memory storage is required for the interaction between two processes. 3.Group towards the directions of minimize interaction, efficient memory usage for any two processes. 14

15 Process and Application 15

16 Process and Application The activity can be defined with six tasks: 1.Scoping or selecting a target functional unit. 2.Identifying model elements within the modeling boundary. 3.Producing draft model. 4.Refining the components consisted of the draftmodel. 5.Producing refined model. 6.Architecturing the refined models. 16

17 Scoping or selecting a target functional unit & Identifying model elements within the modeling boundary Scoping or selecting a target functional unit : Select a function unit to begin further modeling activities. Output of this task is one of the domain model. Identifying model elements within the modeling boundary: The elements consisting of the domain model are idetified and defined. The model elements are defined as a result of the decomposition of system context diagram. Modeler can apply the Decomposition pattern or the Event Definition Pattern. 17

18 Producing draft model & Refining the components consisted of the draft model Producing draft model : creates a draft model. ex.block diagram,data flow,diagram class diagram. Refining the components consisted of the draftmodel: Descends to particular components from the draft model. Functional process is decomposed into finer processes. This task can apply Decomposition paatern or the Type Selection pattern. 18

19 Producing refined model & Architecturing the refined model Producing refined model : create analysis model or design model using refined model component. Architecturing the refined model: create architecture for software. achieved with the aid of our packaging pattern. 19

20 Process and Application General procesures use our practice patterns in task 2.4.6: 1.understands the modeling task intended to perform now. 2.choose an adequate pattern to adopt the modeling task. 3.grasp the contexts of the chosen pattern. 4.perform the modeling task based on the procedural guideline of the practice pattern. 20

21 Experiment member: class student time : 3 years group: 5 (2 mobile game,1 phone-book,2 SMS) compare initial defects with defects after learning practice patterns 21

22 Results The changes after learning the Pattern 22 The number of defects is reduced to over 50% after learning the practice patterns.

23 Conclusion Analysis patterns and design patterns help software modeler develop fast and reliable software. The quality goals of the practice patterns are those of enhanceing response time,memory efficiency,platform portability reusability and changeability. Further works is to find more practice patterns from modeling activities. 23

24 Thanks for your Listening 24


Download ppt "Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan Kim*, Jong-Phil Kim* and Jang-Eui Hong* *Chungbuk National."

Similar presentations


Ads by Google