Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | buddy-daniels |
View: | 213 times |
Download: | 1 times |
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● 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
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
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 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