+ All Categories
Home > Documents > Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan...

Practice Patterns to improve the Quality of Design Model in Embedded SoftWare Development Doo-Hwan...

Date post: 28-Dec-2015
Category:
Upload: buddy-daniels
View: 213 times
Download: 1 times
Share this document with a friend
24
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
Transcript

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

outline● Introduction● ractice patterns

○ Decomposition○ Type Selection○ Event Definition○ Packaging

● Process and Application● Results and Conclusion

2

Introductionwhat’s embedded software?Embedded software is computer software, written to control machines or devices

● characteristics:○ difficult to change○ time and memory constraints

3

Introduction

what’s a pattern?

a pattern is a proven solution to a problem in a specific context.

4

Introduction● Pattern’s six main element

○ name○ context ○ problem○ force○ solution○ resulting context

5

problem definitionSource 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

Decomposition pattern

Decomposition pattern is used to refine abstract component into concrete components

● Steps:1. Decompose the top-level component of a system intoevent monitor component and consequent action componentwith ignoring hardware devices.

2.The base of the decomposition should be functionalunits rather than data input or output flows.

7

Decomposition pattern

3. If a component has two or more inputs/outputs, decomposethe component repeatedly until single inputremains. (Exception in case of implicit events such astimer input.)

4.Define the relationship between components.

5.Label the relationship with none phrase but verbphrase.

8

Decomposition pattern

9

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 characteristicsof devices issuing input events.

3. If a task has input events by human being -> periodic rather than aperiodic 10

Type Selection patterns4.If input events do not have any effect to output events,and the task which receives the input has only branchoff behavior -> a control task.

5.If the output events of previous task are not stored inmemory, and directly input into sequent task -> synchronous

6. When you confuse to decide the type of a task, youhave to enter into a chip

11

Type Selection patterns-example

12

Event Difinition patternsEvent 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

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

Process and Application

15

Process and ApplicationThe 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

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

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

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

Process and ApplicationGeneral 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

Experiment

member: class studenttime : 3 yearsgroup: 5 (2 mobile game,1 phone-book,2 SMS)

• compare initial defects with defects after learning practice patterns

21

Results

The changes after learning the Pattern

22

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

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

Thanks for your Listening

24


Recommended