基于UML的嵌入式系统系统级设计方法研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
随着微电子技术和超大规模集成电路的高速发展,嵌入式系统的规模越来越大,硬件部分的异构程度和软件部分的功能复杂程度都达到了历史最高点。在更高的设计复杂度和更短的面市时间压力下,提高抽象层次,采用软硬件协同设计方法,进行系统级设计已成为解决问题的有效途径。模型驱动构架(MDA)是目前软件工程领域内重要的战略方向,它以若干的标准定义了一个软件开发框架。UML模型是MDA中的核心任务,整个开发过程以系统的建模行为为驱动。比较MDA与嵌入式系统软硬件协同设计方法可以发现,它们在任务和目标上非常一致,如系统软硬件无关的统一建模,系统综合和验证等等。嵌入式系统的设计方法一直和软件开发方法保持相对的距离,本文尝试在嵌入式系统设计中融合先进的软件工程成果,促进嵌入式系统设计方法的新发展。
     本文的重点是基于UML的嵌入式系统系统级设计方法研究。主要围绕模型驱动构架(MDA),研究嵌入式系统的平台无关模型(PIM),平台相关模型(PSM),模型转换方法,以及模型验证等方面。论文主要进行了以下四个方面的工作:
     1) 以UML2.0版本的最终草案为依据,对UML和采用面向对象技术的实时嵌入式系统建模进行了介绍。提出以MDA为主要框架的嵌入式系统设计新流程,该流程的主要特点是:以UML模型为系统的主要设计模型,分别包括平台无关和平台相关两种不同抽象层次的模型,从而有效分离系统功能和实现描述;系统综合通过自动化的模型变换来实现,因此能够提高开发效率,支持设计空间的快速搜索。
     2) SystemC语言通过扩展C++类库来提供对系统硬件结构的描述能力,且支持从寄存器级到系统级等不同的抽象层次,是目前重要的嵌入式系统级设计语言之一。本文采用它作为系统实现的目标平台语言,一方面用来对系统目标平台的特定软硬件结构进行描述,另一方面用来表示系统综合后的系统实现。扩展的UMLforSystemC语言是MDA中平台相关建模的基础,也是实现自动化模型变换的(系统综合)的重要形式化基础。在进行模型映射规则分析后,本文提供了自动的模型变换实现。
     3) UML可视化建模的运用为良好的设计奠定了基础,然而UML模型仍然缺乏细节的行为描述能力,阻碍了UML可执行模型的创建。本文首先以UML的子集为基础,然后结合自定义的模型动作语言(action language,AL)。模型动作语言包含了普通可执行语言的特点,并增加了对模型元素的操作能力和嵌入式系统的并发特征,为UML模型提供了细节的行为描述手段,从而支持系统平台无关的完整模型描述。本文提供了动作语言的词法和语法分析,并基于模板变换实现了动
As the high-speed development of microelectronics and very large scale integrated circuits (VLSI), modern embedded systems now represent the apex of complexity and heterogeneous nature. To cope with the increasing design complexity and shorten the time to market, the system-level design methodology has become the key approach which is combined with hardware/software co-design techniques and will raise design activities to a high level of abstraction. The Model Driven Architecture (MDA) is current momentous strategic orientation of software engineering. It defines a framework for software development based on a series of specifications defined by the Object Management Group (OMG). Key to MDA is the importance of models in the development process. Within MDA the development process is driven by the activity of modeling system. Comparing MDA with hardware/software co-design techniques, significant similarities exist between them, such as the abstract homogeneous behavioral description, system synthesis and system verification. Embedded systems design and software design may seem like separate disciplines. In this paper, we try to adopt the advanced techniques of software field to promote the progress of embedded systems design.This paper presented an UML-based System-level design methodology for embedded systems. It focused on Model Driven Architecture(MDA), Platform Independent Models(PIMs), Platform Specific Models(PSMs), model transformation and model verification. It mainly consists of the following four parts of contributions: 1). According to the final adopted draft specification of UML2.0, UML and its modeling abilities of embedded systems were introduced. We presented a new MDA-base design flow for embedded systems. There are two important features of this new design flow. First it separates the functionality specification from the implementation specification, PIMs for system functionalities and PSMs for system implementations. Then system synthesis is supported by an automated model transformation so that there can be an increased efficiency of design and system space exploration.2). SystemC language has the ability to model the system hardware by extending the C++ class library and support different abstract levels from register-transfer-level to system-level. It is on the step of becoming a de facto standard in industrial
引文
[1] Hunt M, Rowson J A. Blocking in a system on a chip. IEEE Spectrum, Nov 1996: 35-41.
    [2] International Technology Roadmap for Semiconductors 1999. ITRS Website, available August 2004. http://public.itrs.net/files/1999_SIA_Roadmap.
    [3] D.D.Gajski, N.D.Dutt, C.H. Wu and Y.L.Lin. High-Level Synthesis: Introduction to Chip and System Design. Kluwer Academic Publishers, Boston. MA, 1991.
    [4] D.D.Gajski, F.Vahid, S.Narayan, and J. Gong. Specification and Design of Embedded systems. Prentice Hall, Englewoo Cliffs, New Jersey, 1994.
    [5] Sangiovanni-Vicentelli, A. et al. System Level Design: Orthogonalization of Concerns and Platform-Based Design, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2000, 19(12): 1523-1543.
    [6] Ralf Niemann. Hardware/Software Co-design for Data Flow Dominated Embedded Systems. Kluwer Academic Publishers, Boston, 1998.
    [7] Frank Slomka, Matthias Dorfel, Ralf Munzenberger, Richard Hofmann. Hardware/software codesign and rapid prototyping of embedded systems. IEEE Design & Test of Computers, 2000, April-June, 17(2): 28-38.
    [8] D. W. Frank, M. Purvis. Hardware/Software CoDesign: A Perspective. Proc. 13th International Conference on Software Engineering, 1991: 344-352.
    [9] Wolf. W. A decade of hardware/software codesign. IEEE Computer, 2003, 36(4): 38-43.
    [10] Swartout, W., R. Balzer. On the inevitable intertwining of specification and implementation. In N. Gehani and A. D. McGettrick (Eds.), Software Specification Techniques, Addison-Wesley, 1986: 41-45.
    [11] Dhananja S. Brahme, et al. The Transaction-based Verification Methodology. Cadence Berkeley Labs, Technical Report # CDNL-TR-2000-0825, Augest, 2000.
    [12] Marco Sgroi, Luciano Lavagno, Alberto Sangiovanni-Vincentelli. Formal Models for Embedded System Design. IEEE Design & Test of Computers, 17(2): 14-27, June 2000.
    [13] F. Vahid, S. Narayan, D.D.Gajski. SpecCharts: AVHDL Front-End for Embedded Systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1995, 14(6): 694-706.
    [14] D. Harel. Statecharts: A Visual Formalism for Complex Systems. in Science of Computer Programming, 8: 231-274, June 1987.
    [15] E. A. Lee. Modeling Concurrent Real-Time Processes using Discrete Events. Technical Report UCB/ERLM98/7, Dept. EECS, University of California, Berkeley, March 1998.
    [16] G. Dittrich. Modeling of Complex Systems Using Hierarchical Petri Nets. in Codesign: Computer-Aided Software/Hardware Engineering, J. Rozenblit and K. Buchenrieder, Eds. Piscataway, NJ: IEEE Press, 1995: 128-144.
    [17] M. Varea, B. Al-Hashimi. Dual Transitions Petri Net Based Modelling Technique for Embedded Systems Specification. In Proceedings of Design, Automation and Test in Europe, Munich, Germany, 2001:566-571.
    [18]Gilles Kahn. The Semantics of a Simple Language for Parallel Programming. In Proceedings of the IFIP Congress 74, Stockholm, Sweden, 1974:471-475.
    [19]E. A. Lee and T. Parks. Dataflow Process Networks, in Proc. IEEE, 83:773-799, May 1995.
    [20]E.A.Lee, D.G.Messerschmitt. Synchronous data flow. Proceedings of the IEEE,1987,75(9):1235-1245.
    [21]Wu Qiang, Wang Yunfeng, Bian Jinian, Weimin Wu, Hongxi Xue. A Hierarchical CDFG as Intermediate Representation for Hardware/Software Codesign. In Proceedings of International Conference on Communication Circuit and System, Chengdu, China, volume 2, 2002:1429-1432.
    [22]J.Buck,S.Ha,E.A.Lee and D.G.Masserschmitt. Ptolemy:a framework for simulating and prototyping heterogeneous systems. International Journal of Computer Simulations, Special Issue on Simulation Software Development, April, 1994:155-182.
    [23]PeaCE Codesign Environment, http://peace.snu.ac.kr/research/peace/. Available April 2005.
    [24]S. Edwards, L. Lavagno, E. A. Lee, and A. Sangiovanni-Vincentelli. Design of embedded systems: Formal models, validation, and synthesis. Proc. IEEE, 1997, 85:366-390.
    [25] T. Bolognesi and E. Brinksma. Introduction to the ISO Specification Language LOTOS. Computer Network ISDN Systems, 1987,14(l):25-59.
    [26]F.Belina,D.Hogrefe, A.Sarma. SDL with application from protocol specification. Prentice Hall, 1991.
    [27] ITU-T,Z.120, Message Sequence Charts, ITU, 1996.
    [28] F. Boussinot , R. de Simone. The ESTEREL Language. Proc. IEEE, 79: 1293-1304, September, 1991.
    [29]SystemVerilog Home Page, http://www.systemverilog.org.
    [30] The Open SystemC Initiative, http://www.systemc.org/.
    [31] SpecC Methodology, http://www.ics.uci.edu/~specc/index.html.
    [32]J. Axelsson. Analysis and Synthesis of Heterogeneous Real-Time Systems. PhD Thesis, University of Linkoping, 1997.
    [33] B. Kienhuis, E. Deprettere, K. Vissers, and P. van der Wolf. An approach for quantitative analysis of application-specific dataflow architectures. Proc. ASAP'97, July 14-16 1997.
    [34]F. Balarin, E. Sentovich, M. Chiodo, P. Giusto, H. Hsieh, B Tabbara, A. Jurecska, L. Lavagno, C. Passerone, K. Suzuki, and A. Sangiovanni-Vincentelli, Hardware-Software Codesign of Embedded Systems - The POLIS approach, Kluwer Academic Publishers, 1997.
    [35] A. W. van Halderen, S. Polstra, A. D. Pimentel, and L.O. Hertzberger. Sesame: Simulation of embedded system architectures for multi-level exploration. In Proc. of the conference of the Advanced School for Computing and Imaging (ASCI), May 2001:99-106.
    [36] Lukai Cai, Andreas Gerstlauer, Daniel Gajski. Retargetable Profiling for Rapid, Early System Level Design Space Exploration. Proceeding of the 41th conference of Design Automation, DAC'04 June 7-11, 2004, San Diego, California, USA.
    [37] Miron Abramovici, Melvin A. Breuer, Arthur D. Friedman. Digital Systems Testing and Testable Design. IEEE Press, New York, 1990.
    [38] E.M.Clarke, J. Wing. Formal methods: state of the art and future directions. ACM Computing Surveys, 1996, 28(4): 626-643.
    [39] R. E. Bryant. Graph based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 1986, 35(8): 677-691.
    [40] 李暾.VLSI RTL级模拟矢量自动生成技术研究.博士学位论文.长沙:国防科学技术大学,2003.
    [41] A. Gerstlauer, R. Domer, J. Peng, D. D. Gajski, System Design: A Practical Guide with SpecC, Kluwer Academic Publishers, Boston, MA, June 2001.
    [42] Thorsten Grotker, Stan Liao, Grant Martin, and Stuart Swan, System Design with SystemC. Kluwer Publishers, 2002.
    [43] Cynlib Web Site, http://www.cynapps.com/cynapps/products/cynlib/opensource.html.
    [44] P. Schaumont, R. Cmar, S. Vernalde er al. Hardware reuse at the behavioral level. Proceeding of the 36th conference of Design Automation. NY: ACM Press, 1999: 784-789.
    [45] Perry Alexander, Cindy Kong. Rosetta: Semantic Support for Model-Centered Systems-Level Design. IEEE Computer, 2001, 34(11): 64-70.
    [46] SAVE Project, http://www.ida.liu.se/~eslab/SAVE.html.
    [47] Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling Language User Guide, Addison Wesley Longman, Inc., 1999.
    [48] Jacobson I., Christerson M., Jonsson P., Overgaard G. Object-Oriented Software Engineering: A Use Case Driven Apporach. USA: Addison-Wesley Publishing Company, 1995.
    [49] Object Management Group, UML 2.0 Infrastructure Final Adopted Specification, http://www.omg.org/docs/ptc/03-09-15.pdf, 2003.
    [50] Object Management Group, UML 2.0 Superstructure Final Adopted Specification, http://www.omg.org/docs/ptc/03-08-02.pdf, 2003.
    [51] Object Management Group, Object Constraint Language Specification, Version 2.0, OMG document formal/03-10-04, http://www.omg.org/docs/ptc/03-10-14.pdf, 2003.
    [52] Object Management Group. Meta Object Facility Specification. http://www.omg.org/docs/ptc/03-10-04.pdf, 2003.
    [53] G. Martin, L. Lavagno, J. Louis-Guerin. Embedded UML: a merger of real-time UML and co-design[A]. In: Proceedings of the Ninth International Symposium on Hardware/Software Codesign (CODES'01)[C], Copenhagen, Denmark, 2001.23~28
    [54] UML-SOC. International Workshop on UML for SoC-Design[OL]. http://www.c-lab.de/uml-soc, San Diego, sponsored by DAC, 2004
    [55] Rhapsody, I-logix,inc., products web page. http://www.ilogix.com/fs prod.htm.
    [56] Artisan Software, Real-Time Studio: The Rational Alternative. white paper, version 3.0, 29 July 1999, http://www.artisansw.com/whitepapers.
    [57] J. Magee and J. Kramer, "Concurrency: State Models & Java Programs", John Wiley & Sons, 1999.
    [58] Sebastien Gerard, Francois Terrier. UML for real-time: which native concepts to use?, UML for real: design of embedded real-time systems Kluwer Academic Publishers Norwell, MA, USA, 2003: 17-51.
    [59] Douglass, B. P. Real-Time UML: Developing Efficient Objects for Embedded Systems, 2nd Edition, Addison-Wesley, 2000.
    [60] Agnes Lanusse, Sebastien Gerard, Francois Terrier, Real-Time Modeling with UML: The ACCORD Approach, Selected papers from the First International Workshop on The Unified Modeling Language, UML'98: Beyond the Notation, June, 1998: 319-335
    [61] Brllce Eckel著,侯捷译.JAVA编程思想,机械工业出版社,北京,2002.
    [62] R. Wieringa, "Formalizing the UML in a Systems Engineering", ECOOP98, 1998. vol. (Workshop on Precise Behaviora semantics): 254-266.
    [63] Gianna Reggio, Egidio Astesiano, Christine Choppy, Heinrich Huβmann, Analysing UML Active Classes and Associated State Machines-A Lightweight Formal Approach, Proceedings of the Third Internationsl Conference on Fundamental Approaches to Software Engineering: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000, 2000: 127-146.
    [64] 蒋慧,林东,谢希仁.UML状态机的形式语义.软件学报,2002,13(12):2244-2249.
    [65] Peter Green, Salah Essa. Integrating the Synchronous Dataflow Model with UML. Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, DATE'04, 2004.
    [66] OMG. Action Semantics Draft Adopted Specification. ptc/01-11-11, http://www.omg.org/docs/ptc/01-11-11.pdf, 2001.
    [67] OMG UML Profile for Schedulability, Performance, and Time Specification. Version 1.1, formal/2005-01-02, http://www.omg.org/docs/formal/05-01-02.pdf, 2005.
    [68] OMG.UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics & Mechanisms. OMG Adopted Specification, ptc/2004-09-01, http://www.omg.org/docs/ptc/04-09-01 .pdf, 2004.
    [69]D.C. Petriu and H. Shen. Applying the UML Performance Profile: Graph Grammar-Based Derivation of LQN Models from UML Specifications. In Proc. of the 12th International Conference on Computer Performance Evaluation, Modelling Techniques and Tools, LNCSn. 2324, Springer Verlag, 2002:159-177.
    [70]D.C. Petriu and C.M.Woodside. Performance Analysis with UML. In B. Selic, L. Lavagno, and G. Martin, editors, UML for Real: Design of Embedded Real-Time Systems, Kluwer Academic Publisher, 2003:221-240.
    [71]Simona Bernardi, Dorina C. Petriu, Comparing two UML Profiles for Non-functional Requirement Annotations: the SPT and QoS Profiles.
    [72]Dawes J. The VDM-SL Reference Guide, Pitman, 1991.
    [73]Stephan Flake, Wolfgang Mullen An OCL Extension for Real-Time Constraints. Object Modeling with the OCL 2002: 150-171.
    [74]Stephan Flake, Wolfgang Muller: Formal semantics of static and temporal state-oriented OCL constraints. Software and System Modeling 2(3), 2003: 164-186.
    [75] Selic, B., Gullekson, G. and Ward, P. Real-Time Object-Oriented Modeling. John Wiley and Sons, New York, 1994.
    [76] Selic B., Rumbaugh, J. Using UML for Modeling Complex Real-Time Systems. white paper, Rational(ObjecTime), March 11, 1998.
    [77]Thorsten G, Stan L., Grant M., et al. System design with SystemC[J], Kluwer Publishers, USA, 2002
    [78]Rosenstiel W., Swan S., Ghenassia F., et al. SystemC and Systemverilog: Where do they fit? Where are they going? Proc. of the Design, Automation and Test in Europe Conference and Exhibition , DATE'04, 2004:122-129
    [79] Kathy Dang Nguyen, Zhenxin Sun, P. S. Thiagarajan, Weng-Fai Wong. Model-Driven SoC Design via Executable UML to SystemC[A]. In: Proceedings of the 25th IEEE Real-Time Systems Symposium (RTSS)[C], Lisbon, Portugal, 2004. 459—468
    [80]Martyn Edwards, Peter Green. UML for Hardware and Software Object Modeling. In: UML for real: design of embedded real-time systems[M]. New York: Kluwer Academic Publishers, 2003.127—147
    [81]Joaquin Miller and Jishnu Mukerji, editors. MDA Guide (Draft Version 0.2)[OL]. http://www.omg.org/docs/ab/03-01 -03.pdf, 2003
    [82] Shane Sendall, Wojtek Kozaczynski. Model Transformation: The Heart and Soul of Model-Driven Software Development [J]. IEEE Software, 2003, 20(5): 42~45
    [83] Object Management Group, MOF 2.0 Query/Views/Transformations RFP, OMG document/2002-4-10, http://www.omg.org/cgi-bin/doc?ad/02-04-10.pdf, 2002.
    [84] Object Management Group, XML Metadata Interchange Specification(XMI) Version 1.2, OMG document formal/02-01-01, 2002.
    [85] 程国达,彭澄濂。嵌入式系统描述与验证环境的实现[J]。计算机辅助设计与图形学学报,2004,16(1):109~115.
    [86] Krzysztof Czarnecki, Simon Helsen. Classification of Model Transformation Approaches[C], OOPSLA'03 Workshop on Generative Techniques in the Context of Model-Driven Architecture, 2003.
    [87] Mellor, Stephen J., and Marc J. Balcer. Executable UML: A foundation for Model-Driven Architecture. Boston: Addison Wesley. 2002.
    [88] Sun microsystems, Inc. SL-275 Java Programming Language, 2000.
    [89] 金成植编著。编译程序构造原理和实现技术。高等教育出版社,北京,2000。
    [90] Jobn R. Levine, Tony Mason, Doug Brown著,杨作梅,张旭东等译。Lex与YACC。机械工业出版社,2003。
    [91] A Nother Tool for Language Recognition. http://www.antlr.org.
    [92] Seung Mo Cho, Doo-Hwan Bae, Sung Deok Cha, Young Gon Kim, Byung Kyu Yoo, and Sang Taek Kim. Applying model checking to concurrent object-oriented software. In ISADS 1999, pages 380-383. IEEE Computer Society, 2001.
    [93] Knapp, A., Merz, S., Rauh, Ch.: Model Checking Timed UML State Machines and Collaborations. 7th Int. Symp. Formal Techniques in Real-Time and Fault Tolerant Systems (FTRTFT 2002), pp. 395-414, 2002, LNCS 2469, Springer.
    [94] M. Bikander. Graphical Programming Using UML and SDL[J]. IEEE Computer, 2000, 33(12): 30~35.
    [95] The SystemC Verification Standard, version 1.0, to appear at http://www.SystemC.org.
    [96] D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12): 1053-1058, December 1972.
    [97] E.W. Dijkstra. A Discipline of Programming. Prentice Hall, Englewood Cliffs, NJ, 1976.
    [98] Kiczales G., Lamping J., Mendhekar A., et al. Aspect-Oriented Programming. Proc. of European Conference on Object-Oriented Programming, ECOOP'97,

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700