2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon UML(Unified Modeling Language), (Audits) UML 14,,, UML, SRE(Simultaneous Round-trip Engineering) Abstract The methodologies to generate the automated software design specification and source code for the nuclear I&C systems software using model driven language is developed in this work For qualitative analysis of the algorithm, the activity diagram is modeled and generated using Unified Modeling Language (UML), and then the sequence diagram is designed for automated source code generation For validation of the generated code, the code audits and module test is performed using Test and QA tool The code coverage and complexities of
example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for this task The test result using the test tool shows that errors were easily detected from the generated source codes that have been generated using test tool The accuracy of input/output processing by the execution modules was clearly identified 1 Computer Aided Software Engineering (CASE) V&V,, CASE [1] (Software Life Cycle), 7-432,,, 2 CASE 1,,,,, 1
1FR (Functional Requirements) 2SRS (Software Requirements Specification) 3SDD (Software Design Description) 5Traceability (DOORS) 7Algorithm 6 (Activity Diagram) (Class Diagram) Code 8 Algorithm Code (Sequence Diagram) 10Static/Dynamic Test 4 (Package Diagram) 9 (Together/ Visual Studio) QA (C++Test/ Together) / / 11 12 13 (VSS/Together) 1 CASE 21 UML(Unified Modeling Language) 14 UML,, C++ Class Diagram, Algorithm Activity Diagram, Algorithm Code Sequence Diagram Activity Diagram Algorithm, Sequence Diagram Algorithm Code, Sequence Diagram Algorithm, 2
Algorithm Algorithm Code 2 CASE Algorithm, Sequence Diagram Algorithm, 70%, Algorithm Class Diagram C++ Code, C++ Code SRE(Simultaneous Round-trip Engineering) Class Diagram,, Visual C++,, 3
3, 3,,, 3 4
2 3, 4 31 (Audit),, Audits( ) Audits Audits, 1, [2] Audit 1 Audit Coding Style Critical Errors Declaration Style Naming Style Performance Possible Errors Real-Time Attribute, Operation, Class Class, Exception Class, Operation, Variable 5 Audits( ) Audits, 5 Hiding Names, Attribute, Operation, index Attribute Audits,,
5 Audits( ) 32 (Metrics) Method Test Case White-box, Line, Cumulative Line, Block, Branch, Path Coverage [3] 6 Confidence Factor (Fault Estimation) Testing Testing 6 Testing Static Dynamic (Module Test) Analysis Testing ( ) Testing
50% [4] 2 / Project Complete Analysis Only Global Confidence Factor Static Confidence Factor Dynamic Confidence Factor White-box Confidence Factor Black-box Confidence Factor Static Coverage 2 Statistics complete analysis Global Confidence Factor Static and Dynamic Confidence Factors Weight( 05 ) Static Confidence Factor static analysis violations static coverage Dynamic Confidence Factor White-box Black-box Confidence Factor White-box Confidence Factor Dynamic Coverage Black-box Confidence Factor specification/regression Dynamic Coverage Static Coverage Confidence Factor 7 Metrics, WMPC 7 (Kiviat Graph)
(Cyclomatic complexity, CC) (Basis set) (Independent path), [5] (WMPC, Weighted Methods Per Class) WMPC /,,, 8 WMPC one() CC 3(=7-6+2*1), two() CC 2(=4-4+2*1), three(int i) CC 1(=1-2+2*1) CC (1) (e:edge, n: node, p: ) CC = V ( G) = e n + 2 p 8 WMPC (2) 6 public class WMPC { public void one(){ if(true) { two(); } else { } if(true &&!false){ } } public void two(){ if(true){} } public void three(int i){ cc 3 2 1 n WMPC1 = cc i = 3 + 2 + 1 = 6 i= 1 8 WMPC
n WMPC = CC i = 3 + 2 + 1 = 6 (2) i= 1 7 Kiviat Graph 9 Testing Cover Coverage Testing Coverage 9 33 10 C++ Compiler,,
10 6,, UML, SRE,, 70%, Static Confidence Factor, Dynamic Confidence Factor (KEPRI) 1 EPRI TR-105989-Vol 1, Software Fault Reducing using Computer-Aided Software Engineering (CASE) Tools, 1995 2 Together Soft, Together Control Center 60 User Guide, 2002
3 MR, Woodward, D Hadley, et al, Experience with path analysis and testing of programs, IEEE Trans Software Engineering, Vol 6, No 3, 1980 4 Brian Henderson-Sellers, Object-Oriented Metrics: Measures of Complexity Prentice Hall, 1995 5 S L Pfleeger, Software Engineering-Theory and Practice, Prentice-Hall International, Inc, 1998