An Architecture Description Language for Massively Parallel Processor Architectures

合集下载

面向体系作战的战斗机信息融合技术研究

面向体系作战的战斗机信息融合技术研究

2020年12月第51卷第4期Dec.2020Vol.51No.4航空电子技术AVIONICS TECHNOLOGY avionicstech@D0l:10.12175/j.issn.l006-141X.2020.04.01面向体系作战的战斗机信息融合技术研究吴新良,张滋,汪鹏,廉浩伟(中国航空无线电电子研究所,上海200233)[摘要]信息融合是现代信息技术多学科交叉、综合、延拓产生的新的系统科学研究方向,信息融合技术在航空领域已经展现出有效和广阔的应用前景。

本文对面向体系作战的战斗机信息融合技术进行深入研究,提出 了体系作战环境下的机载信息融合设计,分析了体系作战环境下亟待解决的机载信息融合关键技术。

[关键词1信息融合;体系作战;机载信息融合技术[中图分类号]TN967[文献标识码]A[文章编号]1006-141X(2020)04-0001-05 Research on Airborne Information Fusion Technology in System CombatWU Xin-liang,ZHANG Zi,WANG Peng,LIAN Hao-wei(China National Aeronautical Radio Electronics Research Institute,Shanghai200233,China)Abstract:Information fusion is a new systematic research branch which involves multi-disciplinary overlay,integra­tion and rmation fusion technology has shown effective and broad application prospects in the aviation field.System-level airborne information fusion technology has been researched in depth.An information fusion design method and key technologies are proposed in combat environment.Key words:information fusion;system combat;airborne information fusion信息融合在生物世界中广泛存在,工程领域中的信息融合本质是用数据和机器对生物体信息融合功能的模仿和抽象。

华电论文检索证明报告模板

华电论文检索证明报告模板

论文收录检索证明报告华北电力大学图书馆论文作者: Zhuxiao,Wang; Wang,Zhuxiao论文发表年限: 2012-2015检索数据库: Ei Compendex检索结果 :8篇收录Title:1. An Extension of Distributed Dynamic Description Logics for the Representation of Heterogeneous Mappings2. An architecture description language based on dynamic description logics for self-healing systems3. An architecture description language based on dynamic description logics4. An Architecture Dynamic Modeling Language for Self-Healing Systems5. A Tableau-Based Reasoning Algorithm for Distributed Dynamic Description Logics6.A formal model for attack mutation using dynamic description logics7. Linear cryptanalysis and security tradeoff of block ciphering systems with channel errors8. Research on sentiment analysis in sentence and text levels with priors特此证明!(盖章)检索报告人:年月日附件:收录情况:1. Accession number: 20132016337096Title: An extension of distributed dynamic description logics for the representation of heterogeneous mappingsAuthors: Wang, Zhuxiao1 ; Guo, Jing2 ; Chen, Fei3 ; Wu, Kehe3 ; Wang, Peng4Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, 102206 Beijing, China2 National Computer Network Emergency Response Technical Team, Coordination Center of China, 100029 Beijing, China3 School of Control and Computer Engineering, North China Electric Power University, 102206 Beijing, China4 Institute of Information Engineering, Chinese Academy of Sciences, 100195 Beijing, China Corresponding author: Wang,Z.(****************.cn)Source title: Journal of SoftwareAbbreviated source title: J. Softw.Volume: 8Issue: 1Issue date: 2013Publication year: 2013Pages: 243-250Language: EnglishISSN: 1796217XDocument type: Journal article (JA)Publisher: Academy Publisher, P.O.Box 40,, OULU, 90571, FinlandAbstract: As a family of dynamic description logics, DDL(X) is constructed by embracing actions into the description logic X, where X represents well-studied description logics ranging from the ALC to the SHOIQ. To efficiently support automated interoperability between ontology-based information systems in distributed environments, we have to design an expressive mapping language to semantically understand resources from remote and heterogeneous systems. Distributed Dynamic Description Logics D3L(X) is a natural generalization of the DDL(X) framework, which is designed to model the distributed dynamically-changing knowledge repositories interconnected by semantic mappings and to accomplish reasoning in distributed, heterogeneous environments. In this paper, we propose an extension of Distributed Dynamic Description Logics D3L(X) and investigate the reasoning mechanisms in D3L(X). © 2013 ACADEMY PUBLISHER.Number of references: 16Main heading: Data descriptionControlled terms: Formal languages - Interoperability - Mapping - Semantics Uncontrolled terms: Distributed Dynamic Description Logics - Distributed reasonings - Dynamic description logic - Semantic mapping - Tableau algorithmClassification code: 716 Telecommunication; Radar, Radio and Television - 717 Optical Communication - 718 Telephone Systems and Related Technologies; Line Communications -723 Computer Software, Data Handling and Applications - 902.1 Engineering Graphics - 903.2 Information DisseminationDOI: 10.4304/jsw.8.1.243-250Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.2. Accession number: 20124415623183Title: An architecture description language based on dynamic description logics for self-healing systemsAuthors: Wang, Zhuxiao1 ; Peng, Hui2 ; Guo, Jing3 ; Wu, Kehe4 ; Cui, Wenchao4 ; Wang, Xiaofeng5Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing 102206, China2 Education Technology Center, Beijing International Studies University, Beijing 100024, China3 National Computer Network Emergency Response Technical Team/Coordination Center of China, Beijing 100029, China4 School of Control and Computer Engineering, Institute of Electric Information Security Engineering Research Center of Power Information, North China Electric Power University, Beijing 102206, China5 Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China Corresponding author: Wang,Z.(****************.cn)Source title: International Journal of Advancements in Computing Technology Abbreviated source title: Intl. J. Adv. Comput. Technolog.Volume: 4Issue: 18Issue date: October 2012Publication year: 2012Pages: 89-96Language: EnglishISSN: 20058039E-ISSN: 22339337Document type: Journal article (JA)Publisher: Advanced Institute of Convergence Information Technology, Myoungbo Bldg 3F,, Bumin-dong 1-ga, Seo-gu, Busan, 602-816, Korea, Republic ofAbstract: As biological systems exhibit adaptation, healing and robustness in the face of changing environmental behavior, this paradigm has actuated research dealing with the concept of self-healing systems, which attempt to heal themselves in the sense of recovering from malicious attacks and rectifying of system faults. The goal of self-healing systems is to provide survivable systems that require high dependability, robustness, adaptability, and availability. Such systems maintain one or more models, whether external or internal, at run time as a basis for identifying problems and resolving them. This article describes an architectural description language, called ADML, which is being developed as a new formal language and/or conceptual model forrepresenting evolving software architectures. The ADML embraces dynamic change as a fundamental consideration, supports a broad class of adaptive changes at the architectural level, and offers a uniform way to represent and reason about both static and dynamic aspects of self-healing systems. Because the ADML is based on the Dynamic Description Logic DDL(SHON (D)), which can represent both dynamic semantics and static semantics under a unified logical framework, architectural ontology entailment for the ADML languages can be reduced to knowledge base satisfiability in DDL(SHON (D)), and dynamic description logic algorithms and implementations can be used to provide reasoning services for ADML. In this article, we present the syntax of ADML, explain its underlying semantics using the Dynamic Description Logic DDL(SHON (D)), and exemplify our approach by applying it to the domain of load balancing a wireless remote-access system; the preliminary results certify the potential of the approach. Number of references: 14Main heading: Data descriptionControlled terms: Formal languages - Knowledge based systems - Knowledge representation - Semantics - Software architectureUncontrolled terms: Architecture description languages - Dynamic adaptations - Dynamic description logic - Knowledge representation and reasoning - Self-healing systemsClassification code: 723 Computer Software, Data Handling and Applications - 903.2 Information DisseminationDOI: 10.4156/ijact.vol4.issue 18.11Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.3. Accession number: 20125015790730Title: An architecture description language based on dynamic description logicsAuthors: Wang, Zhuxiao1 ; Peng, Hui2 ; Guo, Jing3 ; Zhang, Ying1 ; Wu, Kehe1 ; Xu, Huan1 ; Wang, Xiaofeng4Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing 102206, China2 Education Technology Center, Beijing International Studies University, Beijing 100024, China3 National Computer Network Emergency Response Technical Team/Coordination Center of China, Beijing 100029, China4 Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China Corresponding author: Wang,Z.(****************.cn)Source title: IFIP Advances in Information and Communication TechnologyAbbreviated source title: IFIP Advances in Information and Communication Technology Volume: 385 AICTMonograph title: Intelligent Information Processing VI - 7th IFIP TC 12 International Conference, IIP 2012, ProceedingsIssue date: 2012Publication year: 2012Pages: 157-166Language: EnglishISSN: 18684238ISBN-13: 9783642328909Document type: Conference article (CA)Conference name: 7th IFIP International Conference on Intelligent Information Processing, IIP 2012Conference date: October 12, 2012 - October 15, 2012Conference location: Guilin, ChinaConference code: 94249Sponsor: IFIP TC12; Guilin University of Electronic Technology; Chinese Academy of Sciences, Institute of Computing TechnologyPublisher: Springer New York, 233 Spring Street, New York, NY 10013-1578, United States Abstract: ADML is an architectural description language based on Dynamic Description Logic for defining and simulating the behavior of system architecture. ADML is being developed as a new formal language and/or conceptual model for representing the architectures of concurrent and distributed systems, both hardware and software. ADML embraces dynamic change as a fundamental consideration, supports a broad class of adaptive changes at the architectural level, and offers a uniform way to represent and reason about both static and dynamic aspects of systems. Because the ADML is based on the Dynamic Description Logic DDL( (D)), which can represent both dynamic semantics and static semantics under a unified logical framework, architectural ontology entailment for the ADML languages can be reduced to knowledge base satisfiability in DDL( (D)), and dynamic description logic algorithms and implementations can be used to provide reasoning services for ADML. In this article, we present the syntax of ADML, explain its underlying semantics using the Dynamic Description Logic DDL( (D)), and describe the core architecture description features of ADML. © 2012 IFIP International Federation for Information Processing.Number of references: 14Main heading: Data descriptionControlled terms: Formal languages - Knowledge based systems - Knowledge representation - Semantics - Software architectureUncontrolled terms: Architectural description languages - Architectural levels - Architecture description - Architecture description languages - Conceptual model - Distributed systems - Dynamic adaptations - Dynamic changes - Dynamic description logic - Dynamic semantic - Hardware and software - Knowledge base - Knowledge representation and reasoning - Logical frameworks - ON dynamics - Satisfiability - Static and dynamic - Static semantics - System architecturesClassification code: 723 Computer Software, Data Handling and Applications - 903.2 Information DisseminationDOI: 10.1007/978-3-642-32891-6_21Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.4. Accession number: 20121214883239Title: An architecture dynamic modeling language for self-healing systemsAuthors: Wang, Zhuxiao1 ; Guo, Jing2; Wu, Kehe1; He, Hui1; Chen, Fei1Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing 102206, China2 National Computer Network Emergency Response Technical Team, Coordination Center of China, Beijing 100029, ChinaCorresponding author: Wang,Z.(****************.cn)Source title: Procedia EngineeringAbbreviated source title: Procedia Eng.Volume: 29Monograph title: 2012 International Workshop on Information and Electronics Engineering Issue date: 2012Publication year: 2012Pages: 3909-3913Language: EnglishISSN: 18777058Document type: Conference article (CA)Conference name: 2012 International Workshop on Information and Electronics Engineering, IWIEE 2012Conference date: March 10, 2012 - March 11, 2012Conference location: Harbin, ChinaConference code: 89020Sponsor: Harbin University of Science and Technology; International Science and Engineering Research CenterPublisher: Elsevier Ltd, Langford Lane, Kidlington, Oxford, OX5 1GB, United Kingdom Abstract: As modern software-based systems increase in complexity, recovery from malicious attacks and rectification of system faults become more difficult, labor-intensive, and error-prone. These factors have actuated research dealing with the concept of self-healing systems, which employ architectural models to monitor system behavior and use inputs obtaining therefore to adapt themselves to the run-time environment. Numerous architectural description languages (ADLs) have been developed, each providing complementary capabilities for architectural development and analysis. Unfortunately, few ADLs embrace dynamic change as a fundamental consideration and support a broad class of adaptive changes at the architectural level. The Architecture Dynamic Modeling Language (ADML) is being developed as a new formal language and/or conceptual model for representing dynamic software architectures. The ADML couple the static information provided by the system requirements and the dynamic knowledge provided by tactics, and offer a uniform way to represent and reason about both static and dynamic aspects of self-healing systems. Because the ADML is based on the Dynamic Description Logic DDL, architectural ontology entailment for the ADML languages can be reduced to knowledge base satisfiability in DDL. © 2011 Published by Elsevier Ltd.Number of references: 10Main heading: ArchitectureControlled terms: Data description - Electronics engineering - Embedded systems -Formal languages - Knowledge based systems - Knowledge representation - Software architectureUncontrolled terms: Architecture description languages - Dynamic adaptation - Dynamic description logic - Knowledge representation and reasoning - Self-healing systemsClassification code: 723 Computer Software, Data Handling and Applications - 722 Computer Systems and Equipment - 718 Telephone Systems and Related Technologies; Line Communications - 717 Optical Communication - 716 Telecommunication; Radar, Radio and Television - 715 Electronic Equipment, General Purpose and Industrial - 714 Electronic Components and Tubes - 713 Electronic Circuits - 402 Buildings and TowersDOI: 10.1016/j.proeng.2012.01.593Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.5. Accession number: 20124315590040Title: A tableau-based reasoning algorithm for distributed dynamic description logics Authors: Wang, Zhuxiao1 ; Guan, Zhitao1 ; Li, Wei1 ; Wu, Kehe1 ; Guo, Jing2 ; Tian, Guanhua3Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, 102206 Beijing, China2 National Computer Network Emergency Response Technical Team, Coordination Center of China, 100029 Beijing, China3 Institute of Automation, Chinese Academy of Sciences, 100190 Beijing, China Corresponding author: Wang,Z.(****************.cn)Source title: Communications in Computer and Information ScienceAbbreviated source title: Commun. Comput. Info. Sci.Volume: 307 CCISIssue: PART 1Monograph title: Information Computing and Applications - Third International Conference, ICICA 2012, ProceedingsIssue date: 2012Publication year: 2012Pages: 192-199Language: EnglishISSN: 18650929ISBN-13: 9783642340376Document type: Conference article (CA)Conference name: 3rd International Conference on Information Computing and Applications, ICICA 2012Conference date: September 14, 2012 - September 16, 2012Conference location: Chengde, ChinaConference code: 93206Sponsor: National Science Foundation of China; Hunan Institute of Engineering; YanshanUniversity; Northeastern University at Qinhuangdao; Chengde Petroleum CollegePublisher: Springer Verlag, Tiergartenstrasse 17, Heidelberg, D-69121, Germany Abstract: As a family of dynamic description logics, DDL(X) is constructed by embracing actions into the description logic X, where X represents well-studied description logics ranging from the ALC to the SHOIQ. The usage of distributed computation techniques in reasoning is an important premise for the adoption of Dynamic Description Logics in a real-world setting. Practical scalability of DDL(X) reasoning inspired recently a proposal of Distributed Dynamic Description Logics (D3L) framework. D3L is a natural generalization of the DDL(X) framework, which is designed to model the distributed dynamically-changing knowledge repositories interconnected by semantic mappings and to accomplish reasoning in distributed, heterogeneous environments. In this paper, we investigate the reasoning mechanisms in D3L and propose a tableau-based reasoning algorithm for D3L, built as a composition of the state of the art tableaux reasoners for DDL(X). © 2012 Springer-Verlag.Number of references: 15Main heading: Data descriptionControlled terms: Algorithms - Formal languages - Inference engines - Semantics Uncontrolled terms: Description logic - Distributed computations - Distributed dynamics - Distributed Reasoning - Dynamic description logic - Heterogeneous environments - Knowledge repository - Natural generalization - Reasoning algorithms - Reasoning mechanism - Semantic mapping - State of the art - Tableau algorithm - Tableaux reasonersClassification code: 723 Computer Software, Data Handling and Applications - 903.2 Information Dissemination - 921 MathematicsDOI: 10.1007/978-3-642-34038-3_27Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.6. Accession number: 20150400451745Title: A formal model for attack mutation using dynamic description logicsAuthors: Wang, Zhuxiao1 Email author ****************.cn;Guo, Jing2 Email ********************************;Shi,******************************.cn;He,Hui1Email author ***************.cn;Zhang, Ying1 Email author *******************.cn;Peng, Hui3 ***************************.cn;Tian,*************************************.cn Author affiliation: 1 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing, China2 National Computer Network Emergency Response Technical Team/Coordination Center of China, Beijing, China3 Education Technology Center, Beijing International Studies University, Beijing, China4 Institute of Automation, Chinese Academy of Sciences, Beijing, ChinaCorresponding author: Wang, ZhuxiaoSource title: IFIP Advances in Information and Communication TechnologyAbbreviated source title: IFIP Advances in Information and Communication Technology V olume: 432V olume title: Intelligent Information Processing VII - 8th IFIP TC 12 International Conference, IIP 2014, ProceedingsIssue date: 2014Publication year: 2014Pages: 303-311Language: EnglishISSN: 18684238ISBN-13: 9783662449790Document type: Journal article (JA)Publisher: Springer New York LLCAbstract: All currently available Network-based Intrusion Detection Systems (NIDS) rely upon passive protocol analysis which is fundamentally flawed as an attack can evade detection by exploiting ambiguities in the traffic stream as seen by the NIDS. We observe that different attack variations can be derived from the original attack using simple transformations. This paper proposes a semantic model for attack mutation based on dynamic description logics (DDL(X)), extensions of description logics (DLs) with a dynamic dimension, and explores the possibility of using DDL(X) as a basis for evasion composition. The attack mutation model describes all the possible transformations and how they can be applied to the original attack to generate a large number of attack variations. Furthermore, this paper presents a heuristics planning algorithm for the automation of evasion composition at the functional level based on DDL(X). Our approach employs classical DL-TBoxes to capture the constraints of the domain, DL-ABoxes to present the attack, and DL-formulas to encode the objective sequence of packets respectively. In such a way, the evasion composition problem is solved by a decidable tableau procedure. The preliminary results certify the potential of the approach. © IFIP International Federation for Information Processing 2014.Number of references: 9Main heading: Data descriptionControlled terms: Algorithms - Formal languages - Intrusion detection - Knowledge representation - SemanticsUncontrolled terms: Advanced evasion techniques - Dynamic description logic - Intrusion detection/prevention systems - Knowledge representation and reasoning - MultiprotocolsClassification code: 723 Computer Software, Data Handling and Applications - 903.2 Information DisseminationDatabase: CompendexCompilation and indexing terms, © 2015 Elsevier Inc.7. Accession number: 20130115855490Title: Linear cryptanalysis and security tradeoff of block ciphering systems with channel errorsAuthors: Guo, Jing1 ; Wang, Zhuxiao2Author affiliation: 1 National Computer Network Emergency Response Technical Team/Coordination Center of China (CNCERT/CC), Beijing 100029, China2 School of Control and Computer Engineering, State Key Laboratory of Alternate Electrical Power System with Renewable Energy Sources, North China Electric Power University, Beijing 102206, ChinaCorresponding author: Guo,J.(**************************)Source title: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)Abbreviated source title: Lect. Notes Comput. Sci.Volume: 7645 LNCSMonograph title: Network and System Security - 6th International Conference, NSS 2012, ProceedingsIssue date: 2012Publication year: 2012Pages: 405-416Language: EnglishISSN: 03029743E-ISSN: 16113349ISBN-13: 9783642346002Document type: Conference article (CA)Conference name: 6th International Conference on Network and System Security, NSS 2012 Conference date: November 21, 2012 - November 23, 2012Conference location: Wuyishan, Fujian, ChinaConference code: 94688Publisher: Springer Verlag, Tiergartenstrasse 17, Heidelberg, D-69121, Germany Abstract: Channel errors are usually treated as an obstacle in designing an encrypted wireless system. So we are supposed to reduce them as much as possible due to the potential error bursts contributed by an avalanche effect of block ciphers. In this paper, we propose that channel errors are to be explored for the benefit of security enhancement as they could be translated to additional efforts in cryptanalysis for an adversary node. To achieve this, a system with an outer block channel coder and an inner block cipher is presented. A framework for linear cryptanalysis is established under which an eavesdropper takes advantage of linear relationship among coded symbols, as well as linear approximation of ciphers. Also presented is an analysis on the tradeoff between security enhancement and performance degradation in the presence of channel errors. © 2012 Springer-Verlag.Number of references: 13Main heading: CryptographyControlled terms: Commerce - Errors - Network securityUncontrolled terms: Avalanche effects - Block ciphers - Channel error - Coded symbols - Linear approximations - Linear cryptanalysis - Linear relationships - Performance degradation - Potential errors - Security enhancements - Wireless systems Classification code: 723 Computer Software, Data Handling and Applications - 731 Automatic Control Principles and Applications - 911.2 Industrial Economics - 921 MathematicsDOI: 10.1007/978-3-642-34601-9_31Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.8. Accession number: 20123915464951Title: Research on sentiment analysis in sentence and text levels with priorsAuthors: He, Hui1, 3 ; Chen, Bo2 ; Wang, Zhuxiao3Author affiliation: 1 School of Control and Computer Engineering, North China Electric Power University, Beijing, China2 Beijing University of Posts and Telecommunications, Beijing, China3 Postdoctoral Working Station, China United Network Communications Group Company Limited, Beijing, ChinaCorresponding author: He,H.(****************)Source title: International Journal of Digital Content Technology and its Applications Abbreviated source title: Int. J. Digit. Content Technol. Appl.Volume: 6Issue: 15Issue date: August 2012Publication year: 2012Pages: 518-525Language: EnglishISSN: 19759339E-ISSN: 22339310Document type: Journal article (JA)Publisher: Advanced Institute of Convergence Information Technology, 707 Seokjang-dong, Gyeongju, BI Center, Room 207, Gyeongju, Gyeongbuk, 780-714, Korea, Republic of Abstract: Recently, sentiment analysis of text is becoming a hotspot in the study of natural language processing, which has drawn interesting attention due to its research value and extensive applications. This paper introduces a sentiment analysis system, which is to satisfy two aspects of sentiment analysis requirement in sentence and text levels. They are sentence orientation analysis and text sentiment retrieval. An improved Maximum Entropy (MaxEnt) with priors is used to judge the sentence orientation, which combined with Indri is used to retrieve sentiment texts according to interested terms. This sentiment analysis system has been applied in Chinese Opinion Analysis Evaluation (COAE). Promising results and analysis are presented at the end of this paper. Number of references: 26Main heading: Maximum entropy methodsControlled terms: Computational linguistics - Data mining - Information retrieval - Natural language processing systemsUncontrolled terms: Hot spot - Indri - Maximum entropy - NAtural language processing - Opinion analysis - Orientation analysis - Prior - Sentiment analysis Classification code: 716.1 Information Theory and Signal Processing - 721.1 Computer Theory, Includes Formal Logic, Automata Theory, Switching Theory, Programming Theory - 723.2 Data Processing and Image Processing - 723.5 Computer ApplicationsDOI: 10.4156/jdcta.vol6.issue15.59Database: CompendexCompilation and indexing terms, © 2013 Elsevier Inc.。

架构描述语言

架构描述语言

架构描述语⾔ADL,即架构描述语⾔(Architecture Description Language)。

⽬前,两个重要的团体在使⽤架构描述语⾔术语。

它们是:软件⼯程团体企业建模和⼯程团体。

Architecture Description Language⽬录1简介2特征3架构与设计4架构解决⽅案简介在软件⼯程团体,架构描述语⾔(ADL)是⼀种计算机语⾔,⽤来描述软件或系统架构。

这意味着如果是技术性架构,该架构必须被清楚的传达给软件开发者。

功能架构下,该软件架构必须被清楚的传达给利益相关者和企业⼯程师。

⼀些软件⼯程团体开发了若⼲ADL,如ACME(CMU开发),AADL(SAE标准化),C2(UCI开发),Darwin(英国伦敦帝国学院开发)和Wright(CMU开发)。

企业建模和⼯程团体也开发了企业级的架构描述语⾔。

例⼦包括ArchiMate(现在是The Open Group发布的标准),DEMO 等。

这些语⾔并不需要参照软件构件等。

但他们⼤多数认为应⽤架构应该能清楚的传达给软件⼯程师。

如有标准标记(ADL)表现架构,下列⽅⾯将会更好:相互沟通体现早期设计决策系统抽象可转换过去的架构主要是通过画⽅块和线表述。

图中通常定义下列内容:构件的⾃然特性构件属性语义连接整个系统⾏为ADL起源于正式表现架构的语⾔学⽅法,因此也表明了其缺点。

复杂的ADL允许架构设计决策的早期分析和可⾏性测试。

[1]特征有许多种ADL,或由学术机构开发或由⼯业组织开发。

有些语⾔不试图成为⼀个ADL,但事实证明它们适合表现和分析架构。

ADL原则上的不同之处:需求语⾔,因为ADL植根于解决⽅案,⽽需要说明问题。

编程语⾔,因为ADL不能绑定架构抽象到具体解决⽅案建模语⾔,因为ADL往往侧重于表现构件⽽不是整体⾏为。

然⽽,有重点表现构件的特定域建模语⾔(DSML)。

下⾯列表是ADL语⾔最基本的要求。

必须:适合架构表达给所有有关⽅⾯⽀持架构创建,完善和验证任务提供⼀个进⼀步实现的基础,因此它必须能够给ADL规范添加信息,使最终的系统规范派⽣⾃ADL提供表现通⽤类型架构的能⼒⽀持分析能⼒或提供快速⽣成原型的实现ADL的共同点:图形语法,带有通常是⽂字形式并正式定义的语法和语义分布式系统建模的特性不⽀持捕捉设计信息,除⾮使⽤通⽤注释机制能够表现细节层次,包括通过实例模板创建⼦结构ADL的不同能⼒:在架构层次,处理实时构造,如期限和任务优先次序,⽀持不同风格架构的规范。

软考高级-系统架构设计师真题知识点总结

软考高级-系统架构设计师真题知识点总结

1.常见缩写基于架构的软件设计(Architecture-Based Software Design, ABSD)特定领域软件架构(Domain Specific Software Architecture,DSSA)软件架构评估方法:1)架构权衡分析法(Architecture Tradeoff Analysis Method,ATAM)2)软件架构分析方法(Software Architecture Analysis Method, SAAM)快速应用开发(Rapid Application Development,RAD)软件开发环境(Software Development Environment,SDE)架构描述语言(Architecture Description Language, ADL)“4+1”视图模型(逻辑开发(姬发)进屋里的场景)-类实现进程部署的例子设计模式:1)创建型:单元相公造;2)结构型:理赔乔装观元组软件架构风格:流返购机舱用例关系包括:包含include、扩展extend、泛化UML图、类图关系:范组局联谊(泛化、组合、聚合、关联、依赖)系统可靠性:冗余技术、软件容错技术(恢复块设计、N版本程序设计)、双机容错技术、集群技术软件可靠性:软件容错设计(恢复块设计、N版本程序设计)、检错设计和降低复杂度设计2.*基于架构的软件设计(ABSD)强调由商业、质量和功能需求的组合驱动软件架构设计。

它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求。

用例描述的是功能需求,质量属性场景描述的是质量需求。

使用ABSD方法,设计活动可以从项目总体功能框架明确就开始。

ABSD方法有三个基础:第一个是功能分解,在功能分解中使用已有的基于模块的内聚和耦合技术。

第二个是通过选择架构风格来实现质量和商业需求。

第三个是软件模板的使用。

ABSD方法是一个自顶向下,递归细化的过程,软件系统的架构通过该方法得到细化,直到能产生软件构件的类。

SA描述语言和UML

SA描述语言和UML

各种结构性、行为性事务都可放入一个包内。 一个包构成一个命名空间 包仅是一个概念,存在于开发阶段;而组件于运行时 真实存在 包的几种变形:frameworks, models, and subsystems
注记性事物——UML的说明性部分
dog-eared corner
Notes
Note依附于某个或多个UML元素, 对它们进行解释和说明
- 一系列的信息交互。
由具 体的 上下 文来 区分

State machine
- 一个对象或一个交互在其生命期内所处状态,及其对外部事件
的反应

Activity
- 一个计算过程所进行的一系列步骤action
群组性事物——UML的组织

主要的群组事物: 包
Name and/or Contents


图的层次结构

用例图


类图
行为图

状态图
活动图
交互图
- 顺序图 - 交流图

实现图

组件图 部署图
类图

类图表示一系列的类、接 口、协作、它们之间的关 系 类图是属于静态图
牢记:体系架构的建立是一个连续的、迭代的 过程,我们可能需要反复地重复上述基本步骤
IEEE 1471
A Brief History of the UML (0) 面向对象技术
面向对象语言
面向对象技术的发展历史
A Brief History of the UML (1)

第一个面向对象语言

使用面向对象技术,对系统建模(概念和实施)


对人和机器来说,都有用的语言

软件体系结构考试参考试题

软件体系结构考试参考试题

壹 . 名词解释(参考斯佳分享的名词解释文档)1.ADL(Architecture Description Language) 体系结构描述语言2. SOA(Service-Oriented Architecture) 面向服务架构3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构5. UML(Unified Modeling Language) 统一建模语言6.XML(Extensible Markup Language ) 可扩展标记语言7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器8.HMB(Hierarchical [ˌhaɪə'rɑ:kɪkl] message bus) 层次消息总线9.SA (Software Architecture) 软件体系结构10.OMG(Object Management Group) 对象管理组织11.SOAP(Simple Object Access Protocol) 简单对象访问协议12.WSDL(Web Services Description Language) web服务描述语言13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计14.DCOM(Distributed Component Object Model) 分布式对象组件模型 (Module Interconnection Language) 模块内连接语言贰 . 判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

软件体系结构描述语言ADL综述_bycs

软件体系结构描述语言ADL综述_bycs

软件体系结构描述语⾔ADL综述_bycs软件体系结构描述语⾔ADL综述Advancement of Architecture Description Language (ADL) 引⾔60年代的软件危机使得⼈们重新开始重视软件⼯程的研究。

最初⼈们选择了“算法+数据结构=程序”的设计模式。

但随着软件系统的规模和复杂性越来越⼤,传统的设计模式已经不能适应要求。

同时为了保证软件质量,提⾼软件的可靠性、可重⽤⾏和可维护性,软件设计的核⼼逐渐转向对系统的总体结构即软件体系结构(Software Architecture)的设计和规范。

这类⽅法主要着眼于软件系统的全局组织形式,在更⾼层次上把握系统各组件之间的内在联系。

并从全局的,整体的⾓度去理解和分析整个系统的⾏为和特性,有助于解决当前开发复杂的⼤型软件所存在的困难。

研究软件体系结构的⾸要问题是如何描述软件体系结构。

⽬前已有很多表现形式和⽅法表法、模块连接语⾔、软构件描述法和体系结构描述语⾔ADL等。

⽽其中ADL作为形式化的表⽰软件体系结构的⼯具呈现出强⼤的⽣命⼒。

它提供了规范化的体系结构描述,同时是对软件体系结构进⾏求精、验证、演化和分析的前提与基础。

⽬前已经成为软件体系结构⽅向的研究热点。

实践⼯作者将这些ADL应⽤于实践中,获得了成功。

同时,我们应注意到不同的ADL所⽀持的抽象能⼒及其提供的分析能⼒变化很⼤,学术领域⽬前对ADL的定义尚未取得⼀致。

⼀、软件体系结构的概述由于对软件体系结构的研究和应⽤刚刚兴起,许多专家学者从不同的⾓度和侧⾯对软件体系结构进⾏刻画,因此,⽬前软件体系结构还没有⼀个标准定义。

这⾥给出⼀个⽬前学术领域⼴泛接受的定义。

(D.Garlan&M Shaw,1993)软件体系结构是软件设计过程中的⼀个层次,在计算过程中的算法设计和数据结构之上,处理总体系统结构设计和描述⽅⾯的⼀些问题。

包括总体组织与全局控制结构、通讯协议、同步、数据存取、设计元素的功能分配,物理分布,设计元素的复台,设计⽅案的选择、评估和实现等。

体系结构描述语言

体系结构描述语言

体系结构描述语言体系结构描述语言(Architecture Description Language,ADL)是指用于描述和记录软件系统的体系结构的形式化语言。

ADL提供了一种描述软件系统组成部分、它们之间的关系和相互作用的标准化方法,以便于软件工程师和其他利益相关者理解和沟通软件系统的结构和行为。

ADL的主要目的是在系统开发过程中促进沟通和共享。

它可以帮助软件工程师在设计和开发过程中定义系统的基本元素、它们之间的交互关系和约束条件。

通过使用ADL,团队成员可以更好地了解系统的整体结构,从而更好地理解和管理系统开发过程中的各种需求和设计决策。

ADL可以用于不同层面的体系结构描述,包括高层体系结构(High-level architecture),低层体系结构(Low-level architecture)和中间层体系结构(Middle-level architecture)。

高层体系结构描述系统的总体结构,包括子系统和它们之间的关系。

低层体系结构描述子系统的详细结构和模块之间的连接方式。

中间层体系结构描述这两个层次之间的接口和交互。

ADL通常包括以下几个主要方面的描述:2. 接口(Interface):描述组件之间的通信和交互方式。

接口定义了组件之间的协议和数据格式。

3. 关系和相互作用(Relationships and Interactions):描述组件之间的关系和相互作用。

可以包括依赖关系、使用关系、实例化关系、目标引用关系等。

4. 约束条件(Constraints):描述系统中的限制性条件和要求。

可以包括性能要求、安全性要求、实现约束等。

5. 视图(Views):描述系统的不同视角和关注点。

例如,可以有逻辑视图、物理视图、过程视图等,每个视图都强调不同的方面和需求。

ADL可以使用图形表示或文本表示。

图形表示使用图形符号和连接线来表示组件、接口和关系。

文本表示使用特定的语法和标记来描述组件、接口和关系。

软件体系结构描述语言(ADL)

软件体系结构描述语言(ADL)

2011-5-28大作业参考资料:1.试就一种常用软件体系结构说明其概念、结构模型与应用领域,并结合该体系结构的应用,用一种ADL来描述该体系结构。

2.结合某一应用,编写一个XML文档,并将其与一个XML Scheme对应起来,最后用一种方法来解析该XML文件。

3.登录Oracle网站,学习Java FX 的使用方法,编写一个小型Java FX应用。

(选作)4.通过网络学习Flex,用Flex编写一个应用程序。

(选作)5.给出三种常用的Java 设计模式,并用Java语言给出其实现的实例。

电子稿文件名格式:学号+姓名+软件体系结构期末作业.DOC软件体系结构描述语言(ADL)要点浏览本章将对学术界常见的体系结构描述语言进行介绍.由于研究流派不同,各种ADL的设计和能力也不尽相同.本章选取五种比较典型的ADL作为代表,希望能让读者了解主流ADL的基本能力,主要功能和应用范围.为了让读者对各种ADL 有一个更为清晰的认识,本章最后还对这五种典型的ADL进行了比较全面的比较. 通过本章的学习,您将能:了解主流ADL的语法和语义掌握主流ADL的特点区分主流ADL的不同总体介绍任何一个软件系统都有结构,在系统开发过程中的分析设计阶段,通过考察系统的结构,可以对系统的开发和实现提供良好的基础.系统的结构往往体现为系统的各个部分之间的配置.对于描述软件系统配置的表示法的研究由来已久.早在1975年,DeRemer和Kron就设计了模块互连语言(Module Interconnection Language,MIL)用于描述结构化的基于模块的程序.在MIL中,模块可能需要导入/导出各种资源.所谓的"资源"就是命名元素,例如类型定义,常量,变量,函数等.MIL 的编译器通过进行模块间的类型检查来保证系统的完整性,常见的检查包括:某个模块要使用的资源是否已经被其它模块提供了,资源的类型是否匹配,一个模块的实现是否确实提供了其规约中声明的资源,一个模块是否有权访问它要使用的资源等.早期的MIL要求不同模块的开发人员在开发前先达成很多一致.例如:能够根据简单的名字匹配来发现模块之间的交互,所有的模块都是用同一种语言开发的,所有的模块在组装系统时都可用,模块的接口描述了与之进行交互的其它模块……进一步的研究逐步弱化了这些限制.例如Darwin允许模块在运行时动态的实例化并进行绑定;Polygen允许不同的模块用不同的编程语言进行开发.各种软件配置的表示法逐渐成熟,它们既能描述静态也能描述动态的结构化的分布式系统. MIL的关注点是模块及其之间的互连.随着系统复杂度的提高,人们发现模块之间的交互逐步变得复杂.研究人员对模块之间交互的重视导致了"连接子"(connector)这个概念的诞生,它主要用于描述软件系统的各个组成部分(component)即构件之间的交互关系.从而软件系统的结构可以自然的用构件,连接子及其之间的配置进行描述.将连接子作为与构件同等重要的一阶实体进行处理,是因为如果不将构件之间的交互显式的进行描述,将会带来一些问题,包括: 难以将构件之间的交互信息局部化,从而导致难以识别系统中的连接,并且难以复用连接机制构件之间的关系难以进行抽象,从而阻碍对整个系统结构的理解由于构件的实现和交互信息绑定在一起,对不同构件的使用往往会因为交互机制的不兼容而产生严重的集成问题.支持构件,连接子及其配置的描述语言就是如今所说的体系结构描述语言(Architecture Description Language,ADL).UniCon就是最早出现的一种体系结构描述语言.此外,典型的ADL还包括:Rapide:一种事件驱动的ADL,它以体系结构定义作为开发框架,支持基于构件的开发.该语言提供了建模,分析,仿真和代码生成的能力,但是没有将连接子显式地表示为一阶实体.Wright:其主要特点是将CSP 用于软件体系结构的描述,从而完成对体系结构描述的某些形式化推理(包括相容性检查和死锁检查等).但它仅仅是一个设计规约语言,只能用于描述,无法支持系统生成,同时CSP 的使用也是比较困难的事情. Acme:支持ADL之间的映射及工具集成的体系结构互交换语言.其目标是作为体系结构设计的一个共同的互交换格式,以便将现有的各种ADL在这个框架下统一起来;而它本身也可以看作是一种ADL.xArch:一种基于XML 的ADL.它使用XML 定义了描述体系结构的核心元素,可以用来简单的描述软件体系结构,也可以作为设计其它ADL的基础,或者用作体系结构描述描述语言的互交换机制.xADL2.0:以xArch 为基础的基于XML 的ADL.除了xArch 的核心元素,xADL2.0 还提供了对系统运行时刻和设计时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,以及对产品家族的体系结构的建模支持.此外,xADL2.0还利用XML 的可扩展性简化了新的ADL的设计及其相应工具的开发过程.各种ADL的出现为描述软件系统的结构提供了一种形式化的描述方法,而不是容易引起歧异的线框图.这种精确的描述也使得设计人员能够在系统开发的早期阶段对系统结构进行高层的分析和验证,从而有助于提高软件开发质量,降低开发成本.以下我们将着重介绍五种ADL:UniCon,Darwin,C2 SADL,Acme和xADL.常见的体系结构描述语言UniCon (Universal Connector)UniCon简介UniCon是由CMU和SEI设计的一个体系结构描述语言.该语言关注软件体系结构的结构化特性,将系统(本身也是一个复合构件)描述为构件和连接子的配置,其中构件表示计算或者数据,而连接子表示构件之间的交互.每个构件的接口都对外提供一些演员(player).构件通过这些演员与外界发生交互.与构件类似,一个连接子的协议对外提供一些角色(role),连接子通过这些角色来调解构件之间的交互.图- 1是用UniCon的图形化编辑器生成的示意图.UniCon概念的示意图图- 1中有两个构件,构件A和构件B,它们都是Unix中的过滤器.这两个构件都有三个演员,用三角形表示.左边的演员表示输入流"standard in",右边的演员是输出流"standard our"和"standard error".两个构件之间是一个连接子,它是Unix下的管道.这个连接子有两个角色:悬垂在左边的表示管道的入口(source),右边的表示管道的出口(sink).在上图中,构件和连接子之间还没有交互.为了在构件之间建立连接,演员必须和某个角色关联起来.如图- 2所示.在UniCon建立连接通过演员与角色的关联,最终就可以建立整个系统各个部分之间的配置.最新版本的UniCon不仅支持类似于上例的管道-过滤器系统,还支持使用过程调用和共享数据的模块交互系统,基于RPC调用的分布式系统,根据各种实时要求共享处理器的进程以及基于SQL命令的数据库访问.UniCon的提出是为了达到如下目的:解决系统描述和组装的实际问题,为实际工具提供一个原型;为各种连接机制提供一个一致的访问方式帮助软件设计师区分不同的构件类型和连接子类型并验证构件和连接子配置的正确性支持图形化和文本化符号以及二者之间的互换兼容现存的用常见的编程语言编写的构件(这些构件并不需要特定于UniCon) 尽可能的将运行时开销降到最低以下将具体介绍UniCon中构件和连接子的定义.UniCon中的构件UniCon中的构件定义包括规约部分和实现部分.构件的规约称为构件的接口(interface).接口定义了构件所能进行的计算以及使用构件必须遵循的约束.构件的接口包含三类信息:构件类型:构件类型表示构件提供的功能的类型,它限制了该构件所能定义的演员的数量,类型和规约.特性:由属性和值组成的二元组,用于指定与构件整体相关的附加信息,例如断言,约束等.演员:从构件外部可见的语义单元,构件通过演员与其它构件发生交互.其语法如下:构件的实现有两种形式:原子(primitive)实现:原子实现是一个指向存在于UniCon语言外部的文档链接,该文档包含了相应的构件实现.它可能是某种编程语言的源代码(目前UniCon工具集仅仅支持C语言的源代码),也可以是目标码,或者是包含目标码的Unix档案库文件,或者是二进制可执行文件,shell脚本,数据文件,C语言的include文件等复合(composite)实现:某个UniCon构件的复合实现是对其它已定义的构件和连接子的配置的描述,该实现包含三类信息:片段(piece):用于构造某个配置的构件和连接子实例配置信息:描述构件和连接子的关联抽象信息:描述该构件的接口如何由其复合实现中的构件接口实现.构件实现的语法如下:UniCon中的连接子连接子的定义也包含规约和实现两个部分,其中规约部分通过协议(protocol)进行描述.连接子的协议定义了构件之间允许产生的交互,并确保这些交互能够顺利进行.连接子的协议包含三类信息:连接子类型:连接子类型表示连接子所能调解的构件之间的交互类型,它限制了连接子的角色的数量,类型和规约.特性:由属性和值组成的二元组,用于指定和连接子整体相关的附加信息,例如断言,约束等(例如和时间和顺序相关的规则)角色:从连接子外部可见的语义单元,通过角色连接子对构件的交互进行调解.角色通过与演员发生关联,从而形成系统的连接,它定义了参与连接的演员的需求与责任.连接子的实现是UniCon内置的,即UniCon只支持连接子的原子实现,它本身不提供用户自定义连接子实现的机制.连接子的定义的语法如下(从中也可以看出UniCon目前支持的连接子实现的类型):UniCon是最早的体系结构描述语言之一.从上述介绍可以看出,UniCon强调将系统划分为构件后,用适当的连接子将其组装起来构成一个完整的系统.构件和连接子之间是松耦合关系.UniCon备受诟病的一点是它只支持预定义的连接子,并且不支持复合连接子.为了解决这个问题,相关研究人员在UniCon的基础上对其进行了增强.增强后的UniCon称为UniCon-2.UniCon-2提供了一个比较灵活的类型系统,并且引入了责任(duty)这个概念用于描述演员,角色等与属性的关系.某个系统配置的责任还可以用于描述体系结构风格.由于UniCon-2允许用户引入新类型,为了便于对与新类型相关的约束进行检查,UniCon-2采用了一种开放的编译器结构以便于增加相应的检测方法.DarwinDarwin简介Darwin最初是一个分布式系统配置语言,引入软件体系结构研究后,Darwin成为一个体系结构描述语言.作为一个ADL,Darwin对软件系统的静态结构的描述和UniCon非常相似,不过Darwin中引入了一些特有的构造(construct)使之便于描述系统的动态特性.此外,Darwin使用π演算作为其形式化基础,因此使用Darwin描述的体系结构模型能够进行一些高层的模型检测,例如是否存在死锁等.Darwin的建模能力和特点使用Darwin描述的软件系统配置主要由构件及构件之间的绑定(binding)组成. Darwin中的构件是用服务(service)进行定义的,一个构件既能对外提供一些服务,也能请求外部的服务.所有的服务名的作用范围仅限于定义这些服务的构件,亦即构件的定义本身并不需要了解全局的服务名.因此Darwin中的构件是上下文独立的(context independent),这有助于构件的复用,并能简化维护阶段对构件的替换工作.构件的服务由服务类型进行区分,但是Darwin本身并不解释服务类型信息.服务类型信息要么由低层的形式化行为规约进行解释,要么用于表示底层分布式平台所支持的通信机制(例如在Regis系统中,类型信息就可以直接用于选择正确的通信代码).图- 3是一个过滤器构件的定义,其中服务的类型信息就是尖括号内的内容.Darwin中的构件Darwin中的绑定就是构件的provide服务和require服务之间的链接.只有provide服务类型和require服务类型相互匹配,相应的绑定才是合法的.由于Darwin本身只管理服务类型,并不对其进行解释,因此必须由提供服务类型的系统来判断服务是否匹配(不过在Darwin目前的工具集中,仅仅简单的通过名字是否相同来判断服务是否匹配).为了灵活的对构件进行绑定,Darwin中提供了一些特有的关键字,例如forall,when等.下述代码是图- 4例子的Darwin描述,其中流水线的长度是由其参数动态决定的,forall,when等也体现了Darwin这种ADL 对动态性的支持.Darwin对动态结构的支持主要来自于延迟实例化(lazy instantiation)和直接动态实例化(direct dynamic instantiation)这两种技术.延迟实例化是指只有当用户试图访问某个服务时,提供该服务的构件才被实例化.将延迟实例化与递归结合起来就能描述几乎不受限制的结构,其局限性是不能描述循环绑定的结构.直接动态实例化则允许系统结构随意的发生演化,这需要底层π演算的相关支持.具体细节以及与π演算相关的内容请参看相关文献.可变长度的流水线(Pipeline)用Darwin 描述的客户服务期系统使用构件和绑定就能定义Darwin中的复合构件以及一个系统.事实上,Darwin描述的系统就是一个层次式结构化的复合构件.下述代码就是图- 5所示的客户服务器系统的Darwin描述.注意:其中的System构件就是最终的系统.Darwin的设计面向的是分布式软件,因此它对系统动态性的支持可以说是天生的.从抽象的角度来看,Darwin中的构件及其之间的绑定其实独立于具体的构件交互机制,因此理论上Darwin也能用于描述传统的程序结构.虽然Darwin能很好的描述系统的动态特性,但是Darwin中并没有显式的连接子概念,因此使用Darwin进行复杂系统设计时关注的主要还是构件;当然这似乎并不会削弱其表达能力.C2 SADLC2 SADL是UCI设计的一种基于消息传递的体系结构描述语言,主要用于描述符合C2风格的软件系统的体系结构.C2风格C2风格是一种基于构件和消息的体系结构风格,主要是应用于带有图形用户接口(GUI)的应用系统,但也能用于其它类型的应用.这种风格要求构件之间通过消息交换进行通信.因此每个C2构件和C2连接子都有一个top接口和一个bottom接口,其中top接口定义了该构件所能接收的应答消息和向上发出的请求消息,而bottom接口定义了该构件能够进行应答的请求消息及其向下发出的应答.所有消息都以连接子为桥梁在构件之间进行传递.这种风格的体系结构将系统中的构件用连接子划分为不同层次,如图- 4所示.C2风格的体系结构:可视化堆栈(Stack)C2概念的图例C2风格的核心在于构件之间的"有限可见性",即处于系统中某个层次的构件只能"看到"上层的构件,而不清楚下层到底是什么构件在与之进行通信.具体表现在如下所述的构件之间的通信规则(即系统的组装规则):构件的top接口只可能与某一个连接子的bottom接口相连构件的bottom接口只可能与某一个连接子的top接口相连与连接子相连的构件或者连接子没有数量限制两个连接子相连时,只能是其中一个的bottom接口与另一个的top接口相连C2 SADLC2 SADL目前还只是一个原型语言,其相应的支撑工具还在开发中.该语言包含三个部分:接口定义符号(IDN, interface definition notation):是C2中的构件接口的规约.如下所示是一个堆栈(Stack)构件的C2 IDN.体系结构描述符号(ADN,architecture description notation):是C2体系结构的声明性规约.例如图- 4所示例子的相应描述如下:体系结构构造符号(ACN,architecture construction notation):主要用于表达体系结构的动态变化,例如如果要在运行时删除堆栈的一种可视化表示方式,可以用ACN进行如下描述:C2 SADL中的连接子本质上是一种消息总线,复合这种结构的应用系统往往具有比较良好的灵活性和可扩展性.不过由于C2 SADL还没有针对大型实际系统进行建模和使用,因此对使用该结构所可能导致的性能问题还不是很明确.AcmeAcme简介Acme是CMU的Acme项目的产物.该项目始于1995年,目的是为了研究一个公共的语言,使之能在不同的体系结构设计工具之间作为体系结构描述信息互换的桥梁.目前Acme及其开发工具包AcmeLib提供了一个通用的,可扩展的基础框架用于描述,表示,生成以及分析系统的软件体系结构.而作为桥梁作用的Acme,由于必须具备大多数ADL共有的概念,因此它本身也是一个ADL,并且是一个相对而言比较简单的通用的ADL.Acme的建模元素和特点Acme的主要特点表现为:采用七个基本的体系结构设计元素作为体系结构的本体(architectural ontology),如图- 6,图- 7所示.采用灵活的标注机制支持使用外部语言定义的非结构化信息使用类型机制对常见的可复用的软件体系结构俗语和风格进行抽象描述使用开放的语义框架对体系结构描述进行推理Acme的设计元素Acme的设计元素以下对Acme所采用的设计元素进行简要介绍.这七个设计元素是:构件(components):系统中的计算元素和数据存储.直观的说,就是线框图中的框.典型的构件有:客户端,服务器,数据库,黑板,过滤器等.连接子(connectors):构件之间的交互.直观的说,就是线框图中的线.典型的连接子有:过程调用,事件广播,客户和服务器之间的协议等.系统(systems):构件和连接子的配置.端口(ports):构件通过端口与外界发生交互.一个构件可以有多个不同类型的端口,每个端口都是一个接口的集合,例如一系列需要以特定顺序调用的过程.角色(roles):连接子通过角色与外界发生交互.角色定义了构件之间交互的参与者. 表示(representations):构件或者连接子内部结构的描述.通过"表示"这个概念,系统的体系结构就具有了层次结构.同时,"表示"这个概念可以用于描述体系结构实体的多个视图(但是Acme本身并不处理视图之间的对应关系),如图- 7所示. 表示的映射(rep-maps):将构件或者连接子的内部"表示"与外部接口进行映射. 简单的客户端-服务器系统以下是一个简单的客户端-服务器系统(图- 8)的Acme描述.Acme本质上是一些ADL的建模元素的"最大公约数",因此它能作为不同ADL 及其支撑工具之间用于信息交换的语言.这是Acme的最大作用,当然这也使得它只能成为一个建模能力一般的ADL,例如Acme中就没有相应的机制用于对构件或者系统行为进行描述或者规约.相关研究者正在考虑在Acme中引入类似于Wright中使用的CSP的形式化语言来解决这个问题.当然,作为一个通用的交换语言,Acme的能力及其可扩展性也不是无限的.例如Acme的扩展仅限于在七个基本设计元素的基础上进行,并且Acme中缺乏用于描述属性及其数据格式的元语言.无论如何,Acme是第一个ADL之间的互交换语言,它的出现使得不同的ADL支持工具之间有可能进行体系结构描述信息的交流.xADLxADL简介xADL是UCI设计的一个基于xml的ADL,最新版本是xADL2.0.其建模元素都是使用xml schema进行定义的.xADL除了提供ADL中常见的建模元素外,还对产品家族的描述提供了一些支持,例如体系结构版本等.这是xADL的一个独特之处.此外,xADL本身设计成一个模块化语言,因此具有良好的可扩展性.xADL建模元素和特点作为一个ADL,xADL也定义了常见ADL中的建模元素,包括构件,连接子,构件的接口,配置等,其中构件和连接子都具有内部结构.由于xADL的模块化特性,使得用xADL描述的体系结构看起来就像是一些相互独立的结构的集合.例如下述代码就是用xADL描述的一个客户-服务器结构(图- 11)(由于空间有限,下述简写代码没有遵循xml的格式!)用xADL 描述的客户-服务器系统除了上述常见的体系结构建模元素,xADL还提供了一些特有的建模元素用于支持产品家族的建模,这些元素包括:选项(Option):允许体系结构描述中的一些构件或者连接子在某些情况下是可选的,即不一定存在.变体(Variant):类似于编程语言中的联合(Union).将某些构件或者连接子指定为变体,意味着这些元素在某些情况下可以被实例化为不同类型的元素.版本(Version):用于描述构件,连接子和接口的版本树.这样就可以在同一个体系结构模型中使用同一类型元素的不同版本.结构差异(Structural Differing):用于描述两个xADL结构的差异.产品线体系结构差异(Product-Line Architecture Differing):用于描述产品线中两个体系结构的差异.上述建模元素在xADL中根据抽象层次分为两类,一类是运行时概念,包括构件实例,连接子实例,接口实例,链接实例等;还有一类是运行时概念,包括构件,连接子,接口,链接等(这些都是类型的概念)xADL的另一个特点在于其灵活的可扩展性.其可扩展性本质上来源于xml以及schema的可扩展性,例如可以通过schema的include机制来实现继承等.当然,从上述介绍中也可以看出,xADL也提供了体系结构建模的基本元素,并且用于定义xADL的xml schema是独立于其它ADL的,因此xADL也可以用于ADL 之间的转换.已有研究人员已经给出了从C2,Acme等ADL到xADL的映射规则. xADL相比UniCon等ADL来说属于第二代的ADL.其xml基础使其具有良好的可扩展性,并且由于xml格式文本的易交换性使得xADL能比较容易的集成不同的支持工具.但是由于xml格式的冗长,因此对xADL的使用需要有一定的工具支持.体系结构描述语言分类框架根据对ADL的研究,Medvidovic 和Taylor 于2000年提出了一个用于对ADL进行分类和比较的一般框架,如表1所示.该框架认为一个ADL必须明确的对构件,连接子和它们的配置进行建模;为了保证体系结构描述有明确的语义还必须对构件的接口进行建模.此外,为了保证可用性和有用性,它也必须为基于体系结构的开发和演化提供工具支持.除了上述必需的建模元素外,不同的方法由于关注点的不同,可能会关注不同的体系结构特性,比如系统组装的风格,某个应用领域的特征以及分布,并发,安全和吞吐量等属性.体系结构描述语言体系结构建模特性构件接口,类型,语义,约束,演化,非功能属性连接子接口,类型,语义,约束,演化,非功能属性体系结构配置易理解性,组装性,精化和追踪性,异构性,可量测性,演化,动态性,约束,非功能属性工具支持主动规约,多视图,分析,精化,实现生成,动态性ADL的分类与比较框架,黑体字表示必须建模的元素如上所述,构成体系结构描述的三要素是:构件,连接子和体系结构配置.因此,一个ADL应该提供至少这三种元素的显式描述.是否同时描述了这三种元素,也可以。

adl架构描述语言

adl架构描述语言

adl架构描述语言ADL架构描述语言(ADL,Architecture Description Language)是一种用于描述软件系统架构的形式化语言。

它提供了一种结构化的方法,用于表示和分析软件系统的组成部分、功能、相互关系以及性能等方面的信息。

ADL的使用旨在帮助软件工程师和架构师更好地理解和设计复杂的软件系统。

通过使用ADL,人们可以通过一种系统化的方式来描述软件系统的架构,从而使得系统的各个组成部分和之间的关系更加清晰可见。

ADL中的描述可以包括各种软件系统的元素,例如模块、组件、接口等。

通过使用ADL,系统的各个元素可以被组织成一个层次结构,并且通过定义它们之间的关系和依赖来建立起完整的系统模型。

在ADL中,可以使用多种方式来描述软件系统的结构和行为。

例如,可以使用类、接口和对象来描述系统的静态结构;可以使用状态图、序列图和活动图来描述系统的动态行为;还可以使用性能指标和约束等来描述系统的性能和限制。

ADL的使用可以带来许多好处。

首先,它可以帮助软件工程师更好地理解系统架构,从而能够更准确地进行设计和实现。

其次,通过使用ADL,可以对软件系统进行模拟和分析,以验证和优化系统的性能和可靠性。

此外,使用ADL可以使得系统的构建过程更加标准化和可自动化,从而提高开发效率和质量。

然而,ADL也存在一些挑战和限制。

首先,ADL需要具备一定的形式化语言和建模技术的知识,这对于一些软件工程师来说可能是一个学习和使用的成本。

其次,ADL的描述需要确保与具体的编程语言和平台无关,这可能对于一些需要关注特定技术细节的应用场景来说会有一定的限制。

总之,ADL是一种用于描述软件系统架构的重要工具和技术。

通过使用ADL,软件工程师和架构师能够更好地理解和设计复杂的软件系统,从而提高系统的可维护性、可扩展性和可重用性。

尽管ADL存在一定的挑战和限制,但其在软件工程领域的应用前景仍然十分广阔。

AUTOSAR技术概述

AUTOSAR技术概述

AUTOSAR技术概述AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是一种用于开发汽车电子系统的标准化框架。

它的目标是提供一种开放、标准化的软件架构,以便增强汽车电子系统的可重用性和互操作性。

AUTOSAR的发展始于2003年,是一项由世界各大汽车制造商和供应商共同开发的合作项目。

AUTOSAR的核心概念是基于组件的开发和软件设计的可重用性。

它定义了一种组件模型,使开发人员可以将软件功能划分为独立的、可重用的组件。

每个组件都有明确定义的接口和行为,可以通过连接和交互来构建复杂的功能。

此外,AUTOSAR还提供了一种架构描述语言(Architecture Description Language,ADL),描述了整个系统的逻辑架构和组件之间的关系。

AUTOSAR还提供了一套基础软件模块,用于管理和控制汽车电子系统的各个方面。

这些基础软件模块包括操作系统、通信协议栈、诊断功能、存储器管理和传感器接口等。

它们为汽车电子系统提供了统一的接口和服务,从而提高了功能的可靠性、可维护性和可扩展性。

AUTOSAR的优势在于提高了汽车电子系统的互操作性和灵活性。

通过标准化的接口和行为,不同的汽车制造商和供应商可以更容易地集成他们的软件组件。

此外,AUTOSAR还提供了一种可定制的框架,使开发人员可以根据特定的需求和平台来构建定制化的解决方案。

然而,AUTOSAR也面临一些挑战。

首先,由于AUTOSAR是一个复杂的标准,其实施和配置过程可能会非常繁琐和耗时。

此外,由于AUTOSAR涉及多个汽车制造商和供应商之间的合作,统一的标准和协调也是一项挑战。

总的来说,AUTOSAR是一种有助于提高汽车电子系统可重用性和互操作性的标准化框架。

它的出现为汽车制造商和供应商提供了更高效、可靠和灵活的软件开发和集成解决方案。

随着汽车电子系统的不断发展和普及,AUTOSAR有望在未来得到更广泛的应用。

高级系统架构师软件架构设计考试卷模拟考试题.docx

高级系统架构师软件架构设计考试卷模拟考试题.docx

《软件架构设计》考试时间:120分钟 考试总分:100分遵守考场纪律,维护知识尊严,杜绝违纪行为,确保考试结果公正。

1、编译器的主要工作过程是将以文本形式输入的代码逐步转化为各种形式,最终生成可执行代码。

现代编译器主要关注编译过程和程序的中间表示,围绕程序的各种形态进行转化与处理。

针对这种特征,现代编译器应该采用()架构风格最为合适。

( )A.数据共享B.虚拟机C.隐式调用D.管道-过滤器2、<p> 架构描述语言(Architecture Description Language ,ADL )是一种为明确说明软件系统的概念架构和对这些概念架构建模提供功能的语言。

ADL 主要包括以下组成部分:组件、组件接口、()和架构配置。

</p>( ) A.架构风格 B.架构实现 C.连接件 D.组件实现3、<p> 服务组件体系结构(Service Component Architecture ,SCA )是基于面向服务体系结构(Service Oriented Architecture ,SOA )的思想描述服务之间组合和协作的规范。

以下关于SCA 的叙述,不正确的是()</p>( )姓名:________________ 班级:________________ 学号:________________--------------------密----------------------------------封 ----------------------------------------------线-------------------------A.SCA定义了语言中立的服务组合方式,能够进行跨语言的服务调用B.SCA加强组件的接口与传输协议的关联,提高组件的内聚性C.SCA实现服务组件和其传输协议的绑定,这种绑定是可扩展的D.SCA主要是为了满足软件集成的需要而创建的架构4、博学公司欲实现一个数据处理软件,该软件需要从网络接收一组复杂的数据,然后分步进行解析和处理。

adl架构描述语言

adl架构描述语言

adl架构描述语言ADL 架构描述语言ADL(Architecture Description Language,架构描述语言)是一种用于描述和表达软件系统架构的专门语言。

它提供了一种形式化的方式来描述系统中各个组件及其相互关系,从而帮助开发人员更好地设计、分析和评估软件架构。

本文将介绍 ADL 架构描述语言的定义、特点、应用以及未来发展方向。

一、ADL 架构描述语言的定义ADL 架构描述语言是一种基于模型的描述语言,用于描述软件系统的构建组件、关系和行为。

它提供了一种形式化的语法和规约,确保架构描述的准确性和一致性。

与一般的编程语言不同,ADL 更加关注系统整体架构的层次性、可重用性和可扩展性。

ADL 架构描述语言具有以下特点:1. 抽象性:ADL 并不关注具体实现细节,而是重点关注系统的结构和组织方式。

通过提供抽象层次的描述,ADL 可以帮助开发人员更好地理解和设计软件架构。

2. 模型化:ADL 使用模型的方式来描述系统架构。

它将系统分解为不同的组件,并定义它们之间的关系和交互方式。

这种模型化的方式可以提供更好的可视化效果和可扩展性。

3. 形式化:ADL 提供了一种形式化的语法和规约,确保架构描述的准确性和一致性。

通过规定严格的语义和语法规则,ADL 可以有效地检查和验证系统架构的正确性。

二、ADL 架构描述语言的应用ADL 架构描述语言在软件工程领域有着广泛的应用。

它可以用于以下方面:1. 架构设计和分析:ADL 提供了一种形式化的语言和工具,帮助开发人员更好地设计和分析软件架构。

通过使用 ADL,开发人员可以在系统设计阶段就捕捉到各个组件的功能和相互关系,从而进行有效的架构评估和优化。

2. 可视化和交流:ADL 可以将系统架构以图形化的方式进行可视化展示,从而方便开发人员之间的交流和沟通。

通过使用 ADL,开发人员可以更好地理解和讨论系统的架构设计,减少沟通误差和理解偏差。

3. 自动化生成和验证:ADL 提供了一种形式化的语法和规约,可以进行自动化生成和验证。

电子信息工程专业英语教程_第5版 题库

电子信息工程专业英语教程_第5版 题库

《电子信息工程专业英语教程(第5版)》题库Section A 术语互译 (1)Section B 段落翻译 (5)Section C阅读理解素材 (12)C.1 History of Tablets (12)C.2 A Brief History of satellite communication (13)C.3 Smartphones (14)C.4 Analog, Digital and HDTV (14)C.5 SoC (15)Section A 术语互译Section B 段落翻译Section C阅读理解素材C.1 History of TabletsThe idea of the tablet computer isn't new. Back in 1968, a computer scientist named Alan Kay proposed that with advances in flat-panel display technology, user interfaces, miniaturization of computer components and some experimental work in WiFi technology, you could develop an all-in-one computing device. He developed the idea further, suggesting that such a device would be perfect as an educational tool for schoolchildren. In 1972, he published a paper about the device and called it the Dynabook.The sketches of the Dynabook show a device very similar to the tablet computers we have today, with a couple of exceptions. The Dynabook had both a screen and a keyboard all on the same plane. But Key's vision went even further. He predicted that with the right touch-screen technology, you could do away with the physical keyboard and display a virtual keyboard in any configuration on the screen itself.Key was ahead of his time. It would take nearly four decades before a tablet similar to the one he imagined took the public by storm. But that doesn't mean there were no tablet computers on the market between the Dynabook concept and Apple's famed iPad.One early tablet was the GRiDPad. First produced in 1989, the GRiDPad included a monochromatic capacitance touch screen and a wired stylus. It weighed just under 5 pounds (2.26 kilograms). Compared to today's tablets, the GRiDPad was bulky and heavy, with a short battery life of only three hours. The man behind the GRiDPad was Jeff Hawkins, who later founded Palm.Other pen-based tablet computers followed but none received much support from the public. Apple first entered the tablet battlefield with the Newton, a device that's received equal amounts of love and ridicule over the years. Much of the criticism for the Newton focuses on its handwriting-recognition software.It really wasn't until Steve Jobs revealed the first iPad to an eager crowd that tablet computers became a viable consumer product. Today, companies like Apple, Google, Microsoft and HP are trying to predict consumer needs while designing the next generation of tablet devices.C.2 A Brief History of satellite communicationIn an article in Wireless World in 1945, Arthur C. Clarke proposed the idea of placing satellites in geostationary orbit around Earth such that three equally spaced satellites could provide worldwide coverage. However, it was not until 1957 that the Soviet Union launched the first satellite Sputnik 1, which was followed in early 1958 by the U.S. Army’s Explorer 1. Both Sputnik and Explorer transmitted telemetry information.The first communications satellite, the Signal Communicating Orbit Repeater Experiment (SCORE), was launched in 1958 by the U.S. Air Force. SCORE was a delayed-repeater satellite, which received signals from Earth at 150 MHz and stored them on tape for later retransmission. A further experimental communication satellite, Echo 1, was launched on August 12, 1960 and placed into inclined orbit at about 1500 km above Earth. Echo 1 was an aluminized plastic balloon with a diameter of 30 m and a weight of 75.3 kg. Echo 1 successfully demonstrated the first two-way voice communications by satellite.On October 4, 1960, the U.S. Department of Defense launched Courier into an elliptical orbit between 956 and 1240 km, with a period of 107 min. Although Courier lasted only 17 days, it was used for real-time voice, data, and facsimile transmission. The satellite also had five tape recorders onboard; four were used for delayed repetition of digital information, and the other for delayed repetition of analog messages.Direct-repeated satellite transmission began with the launch of Telstar I on July 10, 1962. Telstar I was an 87-cm, 80-kg sphere placed in low-Earth orbit between 960 and 6140 km, with an orbital period of 158 min. Telstar I was the first satellite to be able to transmit and receive simultaneously and was used for experimental telephone, image, and television transmission. However, on February 21, 1963, Telstar I suffered damage caused by the newly discovered Van Allen belts.Telstar II was made more radiation resistant and was launched on May 7, 1963. Telstar II was a straight repeater with a 6.5-GHz uplink and a 4.1-GHz downlink. The satellite power amplifier used a specially developed 2-W traveling wave tube. Along with its other capabilities, the broadband amplifier was able to relay color TV transmissions. The first successful trans-Atlantic transmission of video was accomplished with Telstar II , which also incorporated radiation measurements and experiments that exposed semiconductor components to space radiation.The first satellites placed in geostationary orbit were the synchronous communication (SYNCOM ) satellites launched by NASA in 1963. SYNCOM I failed on injection into orbit. However, SYNCOM II was successfully launched on July 26, 1964 and provided telephone, teletype, and facsimile transmission. SYNCOM III was launched on August 19, 1964 and transmitted TV pictures from the Tokyo Olympics. The International Telecommunications by Satellite (INTELSAT) consortium was founded in July 1964 with the charter to design, construct, establish, and maintain the operation of a global commercial communications system on a nondiscriminatory basis. The INTELSAT network started with the launch on April 6, 1965, of INTELSAT I, also called Early Bird. On June 28, 1965, INTELSAT I began providing 240 commercial international telephone channels as well as TV transmission between the United States and Europe.In 1979, INMARSAT established a third global system. In 1995, the INMARSAT name was changed to the International Mobile Satellite Organization to reflect the fact that the organization had evolved to become the only provider of global mobile satellite communications at sea, in the air, and on the land.Early telecommunication satellites were mainly used for long-distance continental and intercontinental broadband, narrowband, and TV transmission. With the advent of broadband optical fiber transmission, satellite services shifted focus to TV distribution, and to point-to-multipoint and very small aperture terminal (VSAT) applications. Satellite transmission is currently undergoing further significant growth with the introduction of mobile satellite systems for personal communications and fixed satellite systems for broadband data transmission.C.3 SmartphonesThink of a daily task, any daily task, and it's likely there's a specialized, pocket-sized device designed to help you accomplish it. You can get a separate, tiny and powerful machine to make phone calls, keep your calendar and address book, entertain you, play your music, give directions, take pictures, check your e-mail, and do countless other things. But how many pockets do you have? Handheld devices become as clunky as a room-sized supercomputer when you have to carry four of them around with you every day.A smartphone is one device that can take care of all of your handheld computing and communication needs in a single, small package. It's not so much a distinct class of products as it is a different set of standards for cell phones to live up to.Unlike many traditional cell phones, smartphones allow individual users to install, configure and run applications of their choosing. A smartphone offers the ability to conform the device to your particular way of doing things. Most standard cell-phone software offers only limited choices for re-configuration, forcing you to adapt to the way it's set up. On a standard phone, whether or not you like the built-in calendar application, you are stuck with it except for a few minor tweaks. If that phone were a smartphone, you could install any compatible calendar application you like.Here's a list of some of the things smartphones can do:•Send and receive mobile phone calls•Personal Information Management (PIM) including notes, calendar and to-do list•Communication with laptop or desktop computers•Data synchronization with applications like Microsoft Outlook•E-mail•Instant messaging•Applications such as word processing programs or video games•Play audio and video files in some standard formatsC.4 Analog, Digital and HDTVFor years, watching TV has involved analog signals and cathode ray tube (CRT) sets. The signal is made of continually varying radio waves that the TV translates into a picture and sound. An analog signal can reach a person's TV over the air, through a cable or via satellite. Digital signals, like the ones from DVD players, are converted to analog when played on traditional TVs.This system has worked pretty well for a long time, but it has some limitations:•Conventional CRT sets display around 480 visible lines of pixels. Broadcasters have been sending signals that work well with this resolution for years, and they can't fit enough resolution to fill a huge television into the analog signal.•Analog pictures are interlaced - a CRT's electron gun paints only half the lines for each pass down the screen. On some TVs, interlacing makes the picture flicker.•Converting video to analog format lowers its quality.United States broadcasting is currently changing to digital television (DTV). A digital signal transmits the information for video and sound as ones and zeros instead of as a wave. For over-the-air broadcasting, DTV will generally use the UHF portion of the radio spectrum with a 6 MHz bandwidth, just like analog TV signals do.DTV has several advantages:•The picture, even when displayed on a small TV, is better quality.• A digital signal can support a higher resolution, so the picture will still look good when shown on a larger TV screen.•The video can be progressive rather than interlaced - the screen shows the entire picture for every frame instead of every other line of pixels.•TV stations can broadcast several signals using the same bandwidth. This is called multicasting.•If broadcasters choose to, they can include interactive content or additional information with the DTV signal.•It can support high-definition (HDTV) broadcasts.DTV also has one really big disadvantage: Analog TVs can't decode and display digital signals. When analog broadcasting ends, you'll only be able to watch TV on your trusty old set if you have cable or satellite service transmitting analog signals or if you have a set-top digital converter.C.5 SoCThe semiconductor industry has continued to make impressive improvements in the achievable density of very large-scale integrated (VLSI) circuits. In order to keep pace with the levels of integration available, design engineers have developed new methodologies and techniques to manage the increased complexity inherent in these large chips. One such emerging methodology is system-on-chip (SoC) design, wherein predesigned and pre-verified blocks often called intellectual property (IP) blocks, IP cores, or virtual components are obtained from internal sources, or third parties, and combined on a single chip.These reusable IP cores may include embedded processors, memory blocks, interface blocks, analog blocks, and components that handle application specific processing functions. Corresponding software components are also provided in a reusable form and may include real-time operating systems and kernels, library functions, and device drivers.Large productivity gains can be achieved using this SoC/IP approach. In fact, rather than implementing each of these components separately, the role of the SoC designer is to integrate them onto a chip to implement complex functions in a relatively short amount of time.The integration process involves connecting the IP blocks to the communication network, implementing design-for-test (DFT) techniques and using methodologies to verify and validate the overall system-level design. Even larger productivity gains are possible if the system is architected as a platform in such as way that derivative designs can be generated quickly.In the past, the concept of SoC simply implied higher and higher levels of integration. That is, it was viewed as migrating a multichip system-on-board (SoB) to a single chip containing digital logic, memory, analog/mixed signal, and RF blocks. The primary drivers for this direction were the reduction of power, smaller form factor, and lower overall cost. It is important to recognize that integrating more and more functionality on a chip has always existed as a trend by virtue of Moore’s Law, which predicts that the number of transistors on a chip will double every 18-24 months. The challenge is to increase designer productivity to keep pace with Moore’s Law. Therefore, today’s notion of SoC is defined in terms of overall productivity gains through reusable design and integration of components.。

复杂嵌入式实时系统体系结构设计与分析语言AADL--AADL综述

复杂嵌入式实时系统体系结构设计与分析语言AADL--AADL综述

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@Journal of Software, Vol.21, No.5, May 2010, pp.899−915 doi: 10.3724/SP.J.1001.2010.03700 Tel/Fax: +86-10-62562563© by Institute of Software, the Chinese Academy of Sciences. All rights reserved.∗复杂嵌入式实时系统体系结构设计与分析语言:AADL杨志斌1+, 皮磊2, 胡凯1, 顾宗华3, 马殿富11(北京航空航天大学计算机学院,北京 100191)2(Toulouse Institute of Computer Science Research, Toulouse, France)3(浙江大学计算机科学与技术学院,浙江杭州 310027)AADL: An Architecture Design and Analysis Language for Complex Embedded Real-TimeSystemsYANG Zhi-Bin1+, PI Lei2, HU Kai1, GU Zong-Hua3, MA Dian-Fu11(School of Computer Science and Engineering, BeiHang University, Beijing 100191, China)2(Toulouse Institute of Computer Science Research, Toulouse, France)3(College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China)+ Corresponding author: E-mail: kenney@Yang ZB, Pi L, Hu K, Gu ZH, Ma DF. AADL: An architecture design and analysis language for complexembedded real-time systems. Journal of Software, 2010,21(5):899−915. /1000-9825/3700.htmAbstract: This paper firstly presents a summary of AADL (architecture analysis and design language), includingits progress over the years and its modeling elements. Then, it surveys the research and practice of AADL from amodel-based perspective, such as AADL modeling, AADL formal semantics, model transformation, verification andcode generation. Finally, the potential research directions are discussed.Key words: complex embedded real-time system; system architecture; model driven; AADL (architecture analysis anddesign language)摘要: 首先归纳了AADL(architecture analysis and design language)的发展历程及其主要建模元素.其次,从模型驱动设计与实现的角度综述了AADL在不同阶段的研究与应用,总结了研究热点,分析了现有研究的不足,并对AADL的建模与分析工具、应用实践进行了概述.最后,探讨了AADL的发展与研究方向.关键词: 复杂嵌入式实时系统;系统体系结构;模型驱动;AADL(architecture analysis and design language)中图法分类号: TP311文献标识码: A复杂嵌入式实时系统广泛应用于航空电子、航天器、汽车控制等领域,这些系统具有资源受限、实时响应、∗Supported by the National High-Tech Research and Development Plan of China under Grant Nos.2007AA01A127, 2006AA01Z19A(国家高技术研究发展计划(863)); the Aviation Science Foundation of China under Grant Nos.20081951027, 2007ZC51032,20060151003 (航空科学基金); the RGC CERG of Hong Kong of China under Grant No.613506 (香港研究资助局面上项目); theTOPCASED Project in France (法国TOPCASED项目)Received 2009-01-08; Revised 2009-04-27; Accepted 2009-07-09900 Journal of Software软件学报 V ol.21, No.5, May 2010容错、专用硬件等特点,对实时性、可靠性等性质有较高的要求,文献[1]称其为性能关键系统(performance critical systems,简称PCS).由于计算精度、实时响应的要求,这类系统变得越来越复杂,如何设计与实现高质量的复杂嵌入式实时系统,并有效控制开发时间与成本,是学术界和工业界共同面临的难题.模型驱动开发方法(model driven development,简称MDD)能够在早期阶段对系统进行分析与验证,有助于保证系统的质量属性,并有效控制开发时间与成本.而质量属性是由系统体系结构决定的[1].因此,基于体系结构模型驱动(model-based architecture-driven)的设计与开发方法成为复杂嵌入式系统领域的重要研究内容.其中一个重要的方面就是研究合适的体系结构描述语言.常用的体系结构描述语言主要有UML(unified modeling language)和ADL(architecture description language).UML侧重描述系统的软件体系结构,为了支持嵌入式实时系统的非功能属性分析,OMG(Object Management Group)先后定义了UML Profile for SPT(schedulability, performance, and time,简称SPT)[2],UML Profile for Qos/FT(quality of service and fault tolerance,简称Qos/FT)[3]以及UML Profile MARTE(modeling and analysis of real-time and embedded systems)[4],它们继承了UML的多模型多分析方法,因此模型之间可能存在不一致性;而C2,Darwin,Wright,Aesop,Unicon,Rapide等ADL都是通用领域的软件体系结构描述语言,难以满足软硬件协同设计、实时响应、资源受限等特定需求;MetaH是面向航空电子系统的ADL,可以用于嵌入式实时系统体系结构描述与分析,但MetaH在支持运行时体系结构描述、可扩展、与其他ADL兼容以及复杂系统设计等方面有所欠缺.2004年,美国汽车工程师协会SAE(society of automotive engineers)在MetaH,UML的基础上,提出嵌入式实时系统体系结构分析与设计语言AADL(architecture analysis & design language)[5],并发布为SAE AS5506标准,目的是提供一种标准而又足够精确的方式,设计与分析嵌入式实时系统的软、硬件体系结构及功能与非功能性质,采用单一模型支持多种分析的方式,将系统设计、分析、验证、自动代码生成等关键环节融合于统一框架之下.AADL具有语法简单、功能强大、可扩展的优点.由于具有广阔的应用前景,AADL得到了欧美工业界,特别是航空航天领域(如Airbus,Lockheed Martin,Rockwell Collins,Honeywell,Boeing)的支持;CMU(Carnegie Mellon University),MIT(Massachusetts Institute of Technology),UIUC(University of Illinois at Urbana- Champaign),Pennsylvania大学,NASA以及法国IRIT(Toulouse Institute of Computer Science Research),INRIA, Verimag等研究机构对AADL展开了深入研究与扩展.TOPCASED[6],SPICES[7],AVSI-SAVI[8]等是欧美工业界和学术界共同参与的AADL重大研究项目,涉及AADL标准扩展、建模工具、形式语义、验证、可靠性分析、可调度分析以及自动代码生成等方面的研究,这些也是目前AADL的研究热点.AADL被认为是基于模型驱动的嵌入式实时系统设计与实现的基础,但AADL还有很多问题需要进一步研究与完善.本文试图从模型驱动设计与开发的角度,综述近几年AADL的研究成果,剖析一些重要概念,如执行模型(execution model),总结研究热点以及分析现有研究的不足.第1节简介AADL的发展历程及其建模元素.第2节分述AADL语言的研究、基于AADL的建模方法、AADL模型的验证与分析以及基于AADL模型的自动代码生成等内容.第3节介绍AADL现有的建模与分析工具.第4节概述AADL的应用实践.最后讨论AADL可能的研究发展方向.1 AADL简介1.1 AADL发展历程AADL创始人Peter H. Feiler和Bruce A. Lewis总结了AADL的发展历程[1],提出AADL是在MetaH,ADL 以及商业建模语言UML和HOOD(hierarchical object-oriented design)[9]的基础上发展起来的.1991年,在美国DARPA计划DSSA(domain specific software architectures)项目支持下,Honeywell 实验室提出体系结构描述语言MetaH,专用于航空电子、飞行控制等系统的体系结构描述与分析.到1999年,学术界和工业界对MetaH进行了大量研究与应用,如支持多处理器系统建模、Ada95和POSIX中间件配置、MetaH-ACME的转换、可靠性建模等.2001年,SAE提出基于MetaH定义一个航空电子体系结构描述语言标准,即Avionics Architecture杨志斌 等:复杂嵌入式实时系统体系结构设计与分析语言:AADL 901 Description Language(AADL),支持描述标准的航空电子控制与数据流机制及实时、容错、安全等非功能性质.2004年,AADL 标准化得到了进一步的扩展.SAE,CMU,Honeywell 等共同提出建立嵌入式实时系统体系结构描述语言标准,并正式命名为Architecture Analysis & Design Language(AADL).2004年11月,发布了AADL1.0版本,以文本的形式给出核心语言的语法和语义.2006年发布了一些扩展附件(annex),如Graphical AADL Notation Annex [10],AADL Meta model and XML/XMI Interchange Format Annex [10],Error Model Annex [10], Behavior Annex [11],UML Profile Annex.2009年1月发布了AADL 2.0版本[12].1.2 AADL 建模元素AADL 通过构件、连接等概念描述系统的软、硬件体系结构;通过特征、属性描述系统功能与非功能性质;通过模式变换(mode change)描述运行时体系结构演化;通过用户定义属性和附件支持可扩展;对于复杂系统建模,AADL 通过包(package)进行组织.AADL 提供了3种建模方式:文本、XML 以及图形化.如图1所示,本文以汽车巡航控制系统(cruise control system)的AADL 模型为例,介绍AADL 的基本建模元素.Speed DisplayCommandSpeedVoltage ThrottleVoltageRequired speedActual speed Tours per periodSpeed SpeedVoltage Tour Event port connection Data port connection CruiseProcess20Hz 50Hz 100Hz 20Hz SpeedBus WheelProcess MemoryProcessor Tours per period Tour CruiseSystemWheelFig.1 Graphic AADL model of an automotive cruise-control system图1 汽车巡航控制系统的AADL 图形化模型(1) 构件种类AADL 定义了3类构件:软件构件、执行平台构件以及系统构件.软件构件用于软件体系结构建模,包括数据(data)、线程(thread)、线程组(thread group)、进程(process)、子程序(subprogram)构件;执行平台构件用于硬件体系结构建模,包括处理器(processor)、虚拟处理器(virtual processor)、存储器(memory)、总线(bus)、虚拟总线(virtual bus)、外设(device)构件;系统构件组合所有的构件,层次化地建立系统的体系结构.在图1中,采用系统构件(CruiseSystem)、进程构件(WheelProcess,CruiseProcess)、线程构件(Wheel,Throttle,Speed,Command, Display)、处理器构件、存储器构件以及总线构件构造系统的体系结构模型.902 Journal of Software软件学报 V ol.21, No.5, May 2010(2) 构件描述AADL构件被定义为两部分:类型(component type)和实现(component implementation).一个构件拥有一个类型以及对应的0个、1个或多个实现.构件类型描述对外的功能接口(输入输出端口等).构件实现则描述构件的内部结构(子构件、连接等),例如,进程构件CruiseProcess由4个线程子构件及其连接来实现.构件类型和实现都是可继承的.(3) 构件特征特征(feature)是构件类型定义的一部分,用于描述构件的对外接口,主要包括4类:端口、子程序、参数以及子构件访问.端口用于定义构件之间的数据、事件交互接口,分为数据、事件、数据事件端口,图1中主要采用了数据和事件端口进行交互.子程序用于定义子程序共享访问接口,分为子程序访问者(required subprogram access)和子程序提供者(provides subprogram access),前者表示需要访问其他构件内部的子程序,后者表示提供子程序给其他构件来访问,可以支持远程子程序调用.参数用于定义子程序被访问时输入、输出的合法数据类型.子构件访问分为数据构件访问和总线构件访问,前者用于共享数据或共享资源描述,后者用于硬件平台构件之间的连接.(4) 连接、流AADL采用连接(connection)来描述构件之间的交互行为,与构件特征对应,AADL支持3种连接方式:端口连接、参数连接及访问连接.端口连接用于描述并发执行构件之间的数据与控制交互;参数连接描述一个线程构件访问的所有子程序的参数所形成的数据流;访问连接又分为数据访问连接、总线访问连接以及子程序访问连接,分别描述数据共享、总线共享以及子程序共享.连接是点对点的,为了简化对体系结构的分析过程,AADL引入了流(flow)的概念,用于描述系统中信息传输的逻辑路径.流的完整描述包括流规约(flow specification)和流实现(flow implementation).流规约在构件类型中定义,包含外部可见的源结点(flow source)、目标结点(flow sink)及路径(flow path),源结点和目标结点分别是构件的特征,路径则是构件中从一个特征到另一个特征的连接.流实现在构件实现中定义,包括构件中流路径的具体实现或整个系统的端到端流(end-to-end flow)定义.端到端流的描述可以用于支持端到端延迟分析和可靠性分析.(5) 构件属性属性(property)用于描述体系结构中的约束条件,即非功能属性约束,进而支持验证与分析系统的可靠性、安全性、可调度性等性质,如子程序的执行时间、线程的周期、数据或事件端口的等待队列协议、安全层次等.AADL提供了标准的属性集,用户也可以根据需要定义新的属性.属性和特征的区别在于,特征主要是描述构件功能接口,而属性则是描述系统非功能性质的约束.(6) 模式AADL通过模式(mode)来描述运行时体系结构的动态演化.模式就是系统或构件的操作状态,如汽车巡航控制系统可能包括初始化、人工控制、自动巡航等模式.它们对应了系统功能行为的不同配置,模式变换体现系统体系结构的变化,能够描述体系结构重构及容错等需求.(7) 扩展附件当定义新的属性不能满足用户需要时,AADL引入了附件的概念.它拥有独立的语法和语义,但必须与AADL核心标准保持语义一致.如故障模型附件(error model annex)[10],支持构件、连接的故障事件、故障概率等属性建模;行为附件(behavior annex)[11]增强了AADL对构件实际功能行为的详细描述能力,以更好地支持功能行为验证和自动代码生成.另外,时间正确性是实时系统重要的特征,不仅与AADL属性中定义的时间约束(时限、最坏执行时间等)有关,而且与调度算法、调度属性有关.AADL支持描述周期、非周期、偶发等任务模型,支持抢占与非抢占式调度策略,支持多种固定优先级、动态优先级调度算法,如RM(rate monotonic),DM(deadline monotonic), EDF(earliest deadline first)等.这些调度算法定义在处理器构件的属性中.杨志斌等:复杂嵌入式实时系统体系结构设计与分析语言:AADL 903 2 AADL的研究现状2.1 AADL语言的研究为了适应不同的应用需求,AADL语言本身还需要进一步完善和扩展.AADL语言扩展及其语义的形式化目的是为了更好地支持系统体系结构建模与分析.2.1.1 AADL语言扩展AADL提供两种扩展方式:引入新属性或符号以及子语言(sub language)扩展.前者与具体应用相关,允许用户和工具提供商为各种构件引入新的属性集,或专用于特殊分析的符号,如可调度分析工具Cheddar[13],通过定义新的属性集扩展AADL对更复杂调度算法的支持;后者则更严格,需要提议、发展以及被核准,才能成为AADL语言的一部分,一般以AADL附件的形式给出,需要提供子语言的语法和语义.已经被核准的附件有[10]: Graphical AADL Notation Annex,AADL Meta-Model and Interchange Formats Annex,Language Compliance and Application Program Interface Annex,Error Model Annex以及UML Profile Annex.正在发展中的附件有:Behavior Annex[11],ARINC653 Annex.下面对AADL扩展附件进行概述.AADL核心标准是文本形式的,Graphical AADL Notation Annex为AADL定义了一系列图形符号,构件、端口通信、数据共享访问、子程序调用、模式变换、端到端的数据流、属性、附件等元素都能用图形符号表示.但Behavior Annex还没有图形化.目前,AADL的主要建模工具OSATE/TOPCASED[14],STOOD[15]都支持图形化建模,而且能够方便地与文本表示相互转换.Meta Model and Interchange Formats Annex定义了AADL元模型以及基于XML的模型交互格式.元模型定义了AADL语言的结构,也就是AADL模型的对象表示.这些对象表示采用XML标准的交互格式保存,以支持不同工具之间的互操作性.自动代码生成是模型驱动开发的关键环节之一.Language Compliance and Application Program Interface Annex为用户提供了AADL到Ada,C语言代码的转换规则.主要涉及线程、进程、数据等软件构件以及端口通信和子程序调用.Error Model Annex定义了构件和连接建立故障模型的声明规则及语义.故障模型也由两部分组成:类型(error model type)和实现(error model implementation).故障类型可以声明故障状态、故障事件以及故障传播等;故障实现则定义故障状态的变迁,即构件在故障事件发生和故障传播过程中,故障状态是如何变化的.故障状态变迁本质上是一个随机自动机,附件提供Occurrence属性定义故障的发生概率.Error Model Annex可以与多种分析方法结合,如MA(Markov analysis)、DD(dependency diagrams)、ETA(event tree analysis)、FTA(fault tree analysis)、随机Petri网等,从而对系统的可靠性、完整性、可用性以及可维护性进行定量分析.系统行为描述与验证是非常重要的.文献[16]提出,系统行为不仅依赖于AADL构件和连接所描述的静态体系结构,而且依赖于运行时环境.因此AADL提供了执行模型[16,17]的概念来描述运行时环境,用于管理和支持构件的执行,分为同步和异步两种,包括构件分发(dispatch)、同步/异步通信、调度、模式变换等行为.AADL核心标准的默认模式为带同步通信的抢占式调度,在这种模式下,执行模型和系统体系结构的结合能够保证系统行为的可预见性(predictability).线程、子程序构件是最小的执行和调度单元,AADL标准仅描述两者的对外功能接口,而构件内部具体执行行为无法描述.这样就导致在异步执行模型情况下,系统行为的可预见性难以保证.为了更好地分析异步模式下的系统行为,法国IRIT提出了Behavior Annex,对线程和子程序构件的具体行为进行详细描述.Behavior Annex通过状态、变迁来描述构件行为,变迁可以定义触发条件及变迁后的动作,条件和动作主要包括接收/发送数据、子程序调用、异步访问、执行时间、延迟时间等,且通过层次、并发状态来支持更复杂的行为描述.目前,AADL建模工具都支持Behavior Annex的描述.我们认为Behavior Annex与执行模型有密切的关系[18].执行模型的分发机制定义了线程、子程序周期性或非周期性地读取数据、计算、发送数据,Behavior Annex则是对计算状态内的执行行为进行详细刻画.也就是说,904 Journal of Software软件学报 V ol.21, No.5, May 2010执行模型定义了Behavior Annex何时执行、哪些数据被执行,而Behavior Annex处于构件内部,对线程、子程序构件的执行进行更精确的描述.因此,静态体系结构、执行模型及Behavior Annex组成一个完整的AADL模型.以线程构件为例,图2给出了三者的关系.Execution modelFig.2 Structure, execution model and behavior annex图2 体系结构、执行模型及行为附件的关系随着AADL在工业界的广泛应用,对AADL扩展的需求会更多.在航空航天领域,ARINC653是重要的航空电子应用软件接口标准,文献[19,20]研究了AADL与ARINC653标准之间的结合.在自动控制领域,AADL可以与该领域的OSEK[21],AutoSAR[22],EAST-ADL[23]等标准结合.2.1.2 AADL形式语义形式化方法能够对语义进行更精确的刻画,有助于体系结构验证与分析.体系结构、执行模型和行为描述构成一个完整的AADL模型,因此AADL语义也涉及这3个方面.AADL采用混成自动机(hybrid automata)对线程、进程、处理器、虚拟处理器构件的执行状态和动作进行了语义描述,但对通信、模式变换、同步/异步访问等执行模型语义以及Behavior Annex语义没有形式化,主要采用自然语言和例子进行解释.因此,AADL形式语义研究主要针对后两者的内容.目前,AADL形式语义描述主要采用转换的方式(translational semantics),大致可以分为两类:采用一种具有精确语义的形式语言来定义AADL语义,再依据语义进行转换;直接将AADL模型转换到另一种形式化模型.我们称前者为显式描述(explicit),可以将不精确的AADL语义形式化,能够更完整地描述语义,这种方式类似于操作语义.我们称后者为隐式描述(implicit),目的是为了直接使用语义模型的现有形式化分析工具,但这种方式有不足之处:仅仅假设转换的语义是一致的,语义描述可能不够精确;模型转换是依据AADL已有语义,而那些用自然语言和例子给出的语义不够精确,可能导致语义转换不够完整.在显式语义描述方面,文献[24]采用UML Marte对同步执行模型中周期性线程之间基于数据端口的即时与延迟通信(immediate and delayed communication)机制进行了语义描述,UML Marte具有显式的时间模型,能够同时描述逻辑时间和物理时间,方便定义线程的时间属性和通信协议.同时,AADL的通信语义本质上就是实时任务的时钟约束关系,对系统调度和可调度分析有直接的影响.但UML Marte难以支持形式化验证和分析.文献[25]则对AADL数据端口通信语义进行了描述,提出端口连接可以看作对共享数据变量的访问,采用消息缓冲区模型来定义任务之间的交互,并提出了基于共享缓冲区的分析框架,对端口通信进行优化.文献[26]则采用UML Marte对异步执行模型中事件端口通信进行语义描述,事件端口都带有队列以支持异步访问,但这样可能会导致数据或事件的传输延迟,因此该文献基于语义描述对端到端的延迟进行了分析.文献[27,28]采用动作时序逻辑描述语言TLA+(temporal logic of actions plus)对AADL执行模型的部分语义做了初步研究,包括端口通杨志斌 等:复杂嵌入式实时系统体系结构设计与分析语言:AADL 905 信、共享变量的构件间通信、抢占式调度策略以及模式的语义,但TLA+的模型检测工具分析能力不足.文献[29]采用Fiacre 和时间抽象状态机(timed abstract state machine,简称TASM)两种方法从不同角度对AADL 同步执行模型进行语义描述,并进行分析与比较.Fiacre [30]是一种能够描述实时系统行为和时间的形式化中间语言,目的是为了支持多种高层建模语言(如AADL,UML,SDL)到不同验证工具(如CADP,TINA)的建模语言的转换.TASM [31]则是抽象状态机的实时扩展,能够支持时间、资源、同步、并发等行为的描述.文献[18]采用时间抽象状态机对AADL 同步执行模型以及Behavior Annex 的语义进行形式描述,并采用UPPAAL [32]进行时间属性验证.在隐式语义描述方面,法国Verimag 实验室提出AADL 到BIP(behavior interaction priority)的语义转换[33],如AADL 线程转换到BIP 原子构件、数据端口连接转换到BIP 的连接器,仅描述了AADL 线程、进程、处理器构件以及Behavior Annex 的部分语义,采用Aldebaran 工具进行死锁、安全性的验证.BIP [34]是Verimag 提出的实时系统建模语言,采用自动机的方式描述行为,并支持异构构件之间的组合.英国Leicester 大学研究AADL 到重写逻辑Maude 语言的模型转换[35],支持行为验证,并实现了MOMENT2-AADL 工具.文献[36]研究AADL 转换到IF 语言进行形式化验证,采用Kermeta 元模型语言作为转换工具,支持静态结构、Behavior Annex 、执行模型到IF 的转换,但目前只进行了部分转换.IF 语言是Verimag 实验室提出的实时系统描述语言,扩展了通信时间自动机来描述实时系统的功能与非功能行为[37].文献[38]提出AADL 到时间进程代数ACSR(algebra of communicating shared resources)[39]的语义转换,然后进行可调度性分析,但其分析工具VERSA [40]只能支持简单的分析.文献[41]研究了AADL 到实时演算(real time calculus,简称RTC)[42]的语义转换,以支持端到端的时间延迟分析.文献[43]研究AADL 到随机Petri 网的转换.模型转换是AADL 语义描述的关键.文献[44]采用B 语言和高阶逻辑HOL(higher-order logic)形式刻画AADL 元模型,以支持AADL 模型转换的正确性.我们认为,可以采用定理证明的方式来保证模型转换的语义一致性.我们对部分AADL 形式语义描述语言进行比较,见表1.Table 1 Comparison of AADL semantics models表1 AADL 语义模型比较 Methods Fundamental formalism Verification and analysis tools StrengthsWeaknessesTLA+ Logic Model checker: TLC General and abstract expressions The verification tool support simple simulationTASM Abstract state machine Model checker: UPPAAL Analysis tool: TASMToolset Describe real time, resource and concurrency well readability Less time and data types of expressionFiacre Process algebra Model checker: TINA, CADP Offers a rich set of structuring techniques and concurrency patterns Less powerful construct, such as resource expressionMaude Rewrite logic Proving tool: ITP Analysis tool: MTT General and abstract expressions Don’t support real time descriptionBIP Automata Model checker: Aldebaran Powerful for components interaction and priority The verification tool only support deadlock detectionACSR Process algebra Analysis tool: VERSA Describe real time, resource strongly The verification tool only support simple analysisUML Marte UML None Explicit time model Don’t support formal verification AADL 能够描述系统功能行为、非功能属性以及运行时的体系结构动态演化,尤其是AADL 的可扩展性,使得AADL 建模机制越来越复杂,很多语义还需要形式化.本文认为可以对多种语义描述进行比较,从不同角度来刻画AADL 的语义与性质.2.2 AADL 建模方法的研究AADL 是嵌入式实时系统领域的体系结构设计与分析标准,而MDD 正在成为主流的开发过程.文献[45]提出AADL 与MDD 结合,能够使AADL 得到更广泛的使用.MDD 定义了3个层次的抽象:平台独立模型(platform independent model,简称PIM)、平台特定模型(platform specific model,简称PSM)以及应用代码.PIM 是模型驱动设计的初始抽象模型,是设计过程中最为重要的环节之一.因此,AADL 建模方法的研究主要涉及AADL PIM 的906 Journal of Software软件学报 V ol.21, No.5, May 2010构造.我们归纳为3类:(1) 从需求模型到AADL模型的转换由于UML,SysML,xUML(executable UML)[46],HOOD等描述语言已经广泛应用于需求的描述,因此结合这些描述语言的优势是必要的,从需求模型到AADL模型的转换就成为重要的研究内容.文献[47]采用UML作为需求模型,提出需求模型到AADL模型的转换规则,如UML类转换为AADL构件类型,类之间的组合连接转换为AADL子构件,类之间的直接连接转换为AADL端口等.Feiler提出将xUML和AADL集成到统一的模型驱动开发过程,通过一些经验规则来完成需求模型到AADL模型的转换[48],其中xUML对UML增加了更精确的执行语义.文献[49]采用SysML作为需求模型,并研究了SysML到AADL的模型转换.文献[50]则采用UML,HRT-HOOD(hard real time HOOD)[51]作为需求模型,提出将带有属性和操作的UML类图转换到AADL的包,每个包由数据构件类型、数据构件实现、子程序构件类型组成,前两者表示属性,后者表示操作,同时将HRT-HOOD的周期性对象、非周期性对象、保护对象分别转换到AADL的周期性线程、非周期性线程、数据构件,并在STOOD[15]工具中实现了这些转换.其中,HOOD是欧洲航空防务航天公司(European Aeronautic Defense and Space,简称EADS)提出的复杂系统建模方法,HRT-HOOD则是HOOD在嵌入式实时系统领域的扩展,而STOOD是建立在HOOD,AADL之上的商业建模工具.(2) AADL常用于构造系统的PSM模型,因为AADL能够同时描述系统的软、硬件体系结构,两者映射即可构成PSM模型.同时,也可以采用AADL单独建立系统的软件体系结构模型,作为AADL PIM模型.(3) 采用AADL与UML结合的方式,文献[52]基于AADL UML Profile Annex,将AADL原型(stereotype)标注在UML模型上,作为AADL PIM模型.如,构件用UML 类图表示,并标注AADL构件类型.模型驱动设计的建模一般在需求分析之后进行,为了保持需求规约与系统设计之间的一致性,可以研究基于AADL的需求建模.文献[53,54]提出了面向软件体系结构的需求工程方法,这些可以借鉴到基于AADL的需求规约当中,而且AADL V2.0的新概念将更有助于AADL直接应用于需求工程.需求阶段的AADL研究与应用,为整个生命周期提供完整的需求和概念.2.3 AADL模型转换模型转换是MDD的核心,同时也是AADL模型验证与分析的重要基础.根据嵌入式实时系统的需求,文献[52]给出了基于AADL的模型驱动开发过程:(1) 获得AADL PIM模型,如,基于AADL UML Profile Annex,将AADL原型(stereotype)标注在UML模型上,作为AADL PIM;(2) 利用功能转换规则,转换成AADL PSM;(3) 利用非功能转换规则,将PSM转换成AADL分析模型,进行可调度、性能等分析;(4) 基于正确的AADL模型转成可执行代码.模型转换关键在于转换规则及工具的研究.文献[55]对常见的模型转换方法进行了分类,按转换规则分为变量型、模式型、关系型以及逻辑型;按转换方法可以分为模型到模型的转换以及模型到代码的转换,前者包括手动转换、关系转换、图转换、结构转换、元模型转换等方法,后者则包括基于访问的转换以及基于模板的转换.在模型转换工具方面,QVT(query/view/transformation)[56]是由OMG定义的模型转换标准;ATL(Atlas transformation language)[57]是由法国INRIA开发的一种基于元模型转换方法的模型转换语言;Kermeta[58]是法国INRIA Triskel Team开发的模型转换语言,能够对元模型的结构、行为进行描述;GreAT(graph rewriting and transformation)[59]则是一种将图形转换和重写技术应用到模型转换过程中的方法.ATL和Kermeta在AADL模型转换研究中比较常用.同时,本文认为AADL模型转换的正确性验证与证明也是需要重点研究的内容.2.4 AADL模型的验证与分析在早期阶段进行体系结构验证与分析,能够尽早发现系统设计的潜在错误.目前,AADL模型验证与分析主要采用仿真和形式化方法.仿真方法需要设定体系结构模型中的初始参数,通过执行体系结构模型,对每个元素的行为进行分析与评价.ADeS(architecture description simulation)[60]是一个事件驱动的AADL行为仿真工具,支持执行时间、时限、。

飞行指导和控制系统设计基于AADL说明书

飞行指导和控制系统设计基于AADL说明书

2nd Workshop on Advanced Research and Technology in Industry Applications (WARTIA 2016)Flight Guidance and Control System Modeling and Design Based onAADLWei Zhong1, a, Lichen Zhang2, bSchool of Guangdong University of Technology, Guangzhou 510000, China.a*****************Keywords: FG&CS, AADL, FC, FG.Abstract Flight Guidance and Control System is widely used in the world.which effectively improve the efficiency of play operation ,reduce system maintenance and construction costs,etc. so,This paper propose the use of structural analysis and design language(AADL) for Flight Management (FM).First,it is described by Flight Guidance and Control System ,then the paper use OSATE Modeling the system.Through the modeling proved the model can be used in the Flight guidance and Control system.1.IntroductionWith the development of aviation industry, the design of aircraft control system has changed a lot ,More and More people attention to the automatic guidance and control system.The flight guidance and control system (FGCS) of modern general transport plane include flight control system (FC),the flight management system (FM),automatic flight control system (AFC).It is also generally contains structure control (SC) and active load control (ALC). The FG&CS consists of the following components[1]:1、FC:Its task is executed by FCS[2].This system allows the pilot to use the control bar, rudder pedals and a series of control devices to manually fly a plane.Through feedback flight information and feedback algorithm, FCS can automatically change the parameters of the aircraft flight directly, and help to real time accurately and independently (decoupling) tracking the flight parameters.Aircraft control unit will ensure flight safety, there are dangers security mechanisms to prevent pilots flying.The accelerator and brake speed is used to control the plane and flight path.If the system errors or system failure, the cockpit control will connect control surface in the form of electronic control.2、FM:Flight management system (FMS) [3]can predict and optimize the parameters of the flight plan on an aircraft's performance or related algorithm, realization of automatic throttle and using the automatic pilot and the flight plan.Pilots can through the multi-function control and display unit ( MCDU) loaded to real-time optimization of flight plan or a plan in advance.3、FG:Its task executed by AFCS scheme.The AFCS scheme is composed of autopilot and automatic throttle.The driver can control unit in the mask (glare shields control unit) set the flight mode and setting speed, altitude, vertical height, direction.The AFCS scheme used in long distance of aircraft autopilot.Architecture Analysis and Design Language is a language that use the advantages from UML and Marte while also be able to write in text and graphics[4].To describe the unfunctional quality of complicated embedded systems, such as real-time requirement,safety requirement,schedulablity.AADL offers a standard and accurate way so that the programmer could analyse the schedulablity and safety about components they used, ensure the consistency from the model to the codes they turned.Impeccable modeling, test and Verify tools could make the user making a model faster, produce the response code automatically, and testing at the same time.In this way, the system designer could make the components better and do some functional and quality estimates in the designing phase.So using AADL to model the CPS could describe its unfunctional quality well,guranteeing the high quality codes, it will be more and more important in designing and producing systems which combined information and physical functions, focus on running-time and safety.2.Design and Modeling of FG&CSFirst of all, The flight guidance and control system need the overall modeling, it peripherals include sensors, radio receivers, control equipment, throttle control, screen control unit, route control unit, display, drive controller, flight control, emergency equipment, etc. Figure 1 represents the overall modeling.We design overall System part of the code is as follows:system implementation complete.systsubcomponentsthis_sensors: device Sensors;this_rad: device RAD;this_manage_device: device manage_device;.......SubSyst: system SubSys::subsystems.with_components;connectionscomplete_conn0: port this_sensors.trajectory_sensors->SubSyst.trajectory_sensors_in;......bus10: bus access this_bus -> this_alarm_devices.bus_access;......end complete.syst;flight guidance and control system provided four main functions: the flight management (FM), flight guidance(FG), the flight control (FC), and the structure and drive control (SLC).For navigation and control system for aircraft respectively set up four processes, modeling.Fig.2 show the model of them.Fig.2 The process level modelingWe design process System part of the code is as follows:system implementation subsystems.with_componentssubcomponentsfm_syst: process FM_systems;fc_syst: process FC_systems;fg_syst: process FG_systems.with_threads;slc_syst: process SLC_systems;connectionssub_conn1: port trajectory_sensors_in -> fm_syst.tra_input;......sub_conn19: port slc_syst.display_output -> display_devices_out;end subsystems.with_components;3.Design and Modeling of Flight Guidance ServiceWe take the plane down this scenario to analysis flight guidance service.The input data of the whole process are: flight management system management of the input data, sensor transmits the plane speed, path information, and the pilot in flight through the control panel, is balancing the plane down[5].The whole process of decline is a place where drivers test flight technology.At the same time the output is display devices and execution. flight guidance and control services can be divided into three threads, thread guide, speed and route tracking thread, and signal stability and thread. Fig.3 show the model of flight guidance service.Fig.3 The thread level modelingWe design process System part of the code is as follows:process implementation FG_systems.with_threadssubcomponentsthis_guidance_law: thread guidance_law;this_traking_law: thread traking_law;this_augmentation_rules: thread augmentation_rules;connectionsfg_conn1: port fm_manage_input->this_guidance_law.manange_inbuf_port;......fg_conn11: port this_augmentation_rules.fc_outbuf_port->fg_output; endFG_systems.with_threads;4.Design and Modeling of SLCStructural control and navigation system is simple, it mainly includes three threads: filter thread, control rules thread, and the amplified signal thread. Fig.4 show the model of SLC.5.SummaryIn this paper, we propose flight guidance and control system design method based on AADL,we split FG&C system to FC,FG,FM,SLC systems and discusse,then made a reasonable model. Follow-up studies will further FG&C system model based on AADL, the system can dispatch, safety and reliability analysis and verification methods.References[1].JIM ESCH, Aviation Cyber–Physical Systems: Foundations for Future Aircraft and Air Transport, Proceedings of the IEEE , PROLOG,2013.101(8).[2].Lichen Zhang,Designing Big Data Driven Cyber Physical Systems Based on AADL,2014 IEEE International Conference on Systems, Man, and Cybernetics,October 5-8, 2014, San Diego, CA, USA.[3].Peter H. Feiler, Bruce Lewis, The SAE Avionics Architecture Description Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering, Software Engineering Institute, 2003.[4].Krishna Sampigethaya, Member IEEE , Radha Poovendran, Senior Member IEEE , Sudhakar Shetty, Terry Davis, Member IEEE,Chuck Royalty, Future E-Enabled Aircraft Communication sand Security: The Next 20 Years and Beyond, Proceedings of the IEEE(INVITED PAPE R),2011.99(11), 0018-9219[5].P. H. Feiler, D. P. Gluch, J. J. Hudak. The Architecture Analysis &Design Language (AADL): An Introduction. CMU/SEI-2006-TN-001,Carnegie Mellon University & Software Engineering Institute,2006.[6].GILLES, Olivier. HUGUES, Jérôme. Expressing and enforcing user-defined constraints of AADL models. In: Proceedings of the 5th UML and AADL Workshop (UML and AADL 2010)。

描述的英文名词

描述的英文名词

描述的英文名词【释义】1 describe描述,形容;做……运动,形成……形状2 description描述,形容,说明;类型【短语】1产品描述Product description ; Description ; Characterization ; Technical Parameter 2规范科学与描述科学nomothetic and idiographic; normative science and descriptive science; nomothetische Wissenschaft und idiographische Wissenschaft ; nomothetic and idiographic; normative science and descriptive science3硬件描述语言计Hardware Description Language ; HDL ; Verilog HDL ; VHDL4商品描述Notice ; products description ; DESCRIPTION ; DESCRIPTION OF GOODS5描述伦理学descriptive ethics6描述函数计describing function ; described function7描述论理论观the descriptive view of theories8描述的形而上学descriptive metaphysics (a philosophical thought developed by English philosopher Peter Frederick Strawson) ; descriptive metaphysics9架构描述语言architecture description language【例句】1这个描述恰好符合我们的情况。

The description fits us to a tee.2我们请她描述她在闲暇时做些什么。

adl架构描述语言

adl架构描述语言

adl架构描述语言ADL架构描述语言(Architecture Description Language)是一种用于描述软件系统架构的语言。

它提供了一种形式化的方法,用于描述系统的组成部分、它们之间的关系以及系统的行为。

ADL架构描述语言在软件工程领域中被广泛应用,它可以帮助开发人员更好地理解和设计复杂的软件系统。

ADL架构描述语言的主要目标是提供一种标准化的描述方法,以便开发人员能够更好地理解和沟通系统的架构。

它通过定义一组抽象的概念和规则,使得开发人员能够以一种统一的方式描述系统的各个方面。

这些方面包括系统的组成部分、它们之间的关系、系统的行为以及系统的性能等。

ADL架构描述语言通常包括一组特定的语法和语义规则,用于描述系统的各个方面。

它可以使用图形表示法、文本表示法或混合表示法来描述系统的结构和行为。

开发人员可以使用ADL架构描述语言来创建系统的模型,然后使用这些模型来进行系统的分析、设计和实现。

ADL架构描述语言的一个重要特点是它的可扩展性。

开发人员可以根据自己的需求定义新的概念和规则,以适应不同的应用场景。

这使得ADL架构描述语言能够适应不同的软件系统和开发方法。

ADL架构描述语言的另一个重要特点是它的形式化。

它提供了一种精确的描述方法,使得开发人员能够准确地描述系统的各个方面。

这有助于减少误解和歧义,并提高系统的可靠性和可维护性。

ADL架构描述语言在软件工程领域中有着广泛的应用。

它可以帮助开发人员更好地理解和设计复杂的软件系统。

通过使用ADL架构描述语言,开发人员可以更好地组织和管理系统的组成部分,提高系统的可重用性和可扩展性。

此外,ADL架构描述语言还可以帮助开发人员进行系统的分析和验证,以确保系统的正确性和性能。

总之,ADL架构描述语言是一种用于描述软件系统架构的语言。

它提供了一种标准化的描述方法,使得开发人员能够更好地理解和设计复杂的软件系统。

通过使用ADL架构描述语言,开发人员可以更好地组织和管理系统的组成部分,提高系统的可重用性和可扩展性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 Related Work
Many architecture description languages have been developed in the field of retargetable compilation. In the following, we list only some of the most significant ADLs. For instance, the hardware description language nML [3] permits concise, hierarchical processor descriptions in a behavioral style. nML is used in the CBC/SIGH/SIM framework [2] and the CHESS system [6]. The machine description language LISA [15] is the basis for a retargetable compiled simulator approach developed at RWTH Aachen, Germany. The project focuses on fast simulator generation for already existing architectures to be modeled in LISA. At the ACES laboratory of the University of California, Irvine, the architecture description language EXPRESSION [8] has been developed. From an EXPRESSION description of an architecture, the retargetable
Programmable Interconnection
I/O I/O I/O
WPPE
WPPE
WPPE
WPPE
WPPE
WPPE
ip0 ip1 ip2 ip3
I/O
I/O
Input Registers/FIFOs i0 i1 i2 i3
regI
General Purpose Regs regGP r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 rPorts
An Architecture Description Language for Massively Parallel Processor Architectures
Alexey Kupriyanov1 , Frank Hannig1 , Dmitrij Kissler1 , J¨ urgen Teich1 , Rainer Schaffer2 , and Renate Meteady technological progress in integration densities and modern microtechnology allows implementation of hundreds of 32-bit microprocessors and more on a single die. Furthermore, the functionality of the microprocessors is increasing continuously, e.g., parallel processing of data with low accuracy (8 bit or 16 bit) within each microprocessor. Due to these advances, massively parallel data processing has become possible in portable and other embedded systems. These devices have to handle increasingly computationally-intensive algorithms like video processing (H.264) or other digital signal processing tasks (3G). Hence, modeling languages will be of great importance during the entire design flow for processor arrays. In this paper we propose an architecture description language (ADL) to characterize parallel processor architectures. The rest of the paper is structured as follows: In Section 2, an overview of related work is given. In Section 3, the class of considered target architectures is introduced. The basic modeling concepts for parallel processor architectures are described in Section 4. A case study is presented in Section 5. Finally in Section 6, the paper is concluded with a summary of our achievements and an outlook of future work directions.
regFlags
I/O
BUnit Output Registers
WPPE
WPPE
WPPE
WPPE
WPPE
WPPE
I/O
I/O
I/O
Fig. 1. Example of a WPPA with parameterizable processing elements (WPPEs). A WPPE consists of a processing unit which contains a set of functional units. Some functional units allow to compute sub-words in sub-word units in parallel. The processing unit is connected to input and output registers. A small data memory exists to temporary store computational results. An instruction sequencer exists as part of the control path which executes a set of control instructions from a local tiny program memory.
compiler Express and a cycle-accurate simulator can be automatically generated. The Trimaran system [19] has been designed to generate efficient VLIW code. It is based on a fixed basic architecture (HPL-PD) being parameterizable in the number of registers, the number of functional units, and operation latencies. Parameters of the machine are specified in the description language HMDES. MIMOLA [13] is one of RT-level ADLs. It was developed at the University of Kiel, Germany. Originally, it targeted at micro-architecture modeling and design. ISDL is one of Instruction Set Description Languages. It was developed at MIT and is used by the Aviv compiler [10] and the associated assembler. It was also used by the simulator generation system GENSIM [7]. The target architectures for ISDL are VLIW ASIPs. Maril is an ADL used by the retargetable compiler Marion [1]. It contains both instruction set information as well as coarse-grained structural information. The target architectures for Maril are RISC style processors only. There is no distinction between instruction and operation in Maril. TDL stands for target description language. It has been developed at Saarland University in Germany. The language is used in a retargetable post-pass assembly-based code optimization system called PROPAN [11]. Another architecture description language is PRMDL [17]. PRMDL stands for Philips Research Machine Description Language. The target architectures for PRMDL are clustered VLIW architectures. Finally, we refer to the Machine Markup Language (MAML) which has been developed in the BUILDABONG project [4]. MAML is used for the efficient architecture/compiler co-generation of ASIPs and VLIW processor architectures. For a more complete ADL’s summary we point out to the surveys in [16], [18], and [14]. All these ADLs have in common that they have been developed for the design of single processor architectures such as ASIPs which might contain VLIW execution. But, to the best of our knowledge, there exists no ADL which covers the architectural aspects of massively parallel processor arrays. Of course, one could use hardware description languages such as Verilog or VHDL but these languages are too low level and offer only insufficient possibilities to describe behavioral aspects.
相关文档
最新文档