国士无双什么意思| 梦见被狼追是什么意思| MR医学上是什么意思| 孩子上火吃什么药| 114514什么意思| 西汉后面是什么朝代| 老是口渴是什么原因| sd是什么| 棉麻是什么面料| 桃胶和什么相克| 嘴唇神经跳动是什么原因| rush是什么| 茹什么饮什么| 梦见什么是怀孕的征兆| 水瓶座男生喜欢什么样的女生| 江字五行属什么| 城堡是什么意思| 为什么刚小便完又有尿意| 吃什么药可以推迟月经| 什么是丛林法则| 失眠用什么药最好| 知己是什么意思| 哺乳期可以吃什么水果| 提供什么| 胃火旺吃什么好| 来大姨妈喝什么最好| 静脉曲张手术后吃什么| 海字五行属什么| 关节疼挂什么科| 什么是cg| 肝区疼痛吃什么药| 什么火灾不能用水扑灭| 现在是什么星座| 肾在什么位置图片| 睡几个小时就醒了是什么原因| 6月28日是什么星座| 梦见丢了一只鞋是什么意思| 女性更年期在什么年龄段| 北京为什么叫北平| 双肺纹理增多是什么意思| 1991年五行属什么| 看乳腺应该挂什么科| 办残疾证需要什么条件| 歆字五行属什么| 什么时候闰九月| 脑洞是什么意思| 初秋的天冰冷的夜是什么歌| 尿痛什么原因引起的| 氧分压高是什么原因| 全身皮肤瘙痒是什么原因| ast什么意思| 心电图是检查什么的| 小狗咳嗽吃什么药好使| 医院有什么科室| 什么动物有三个心脏| 墨西哥用什么语言| 步后尘是什么意思| 闭口是什么样子| 什么食物含维生素d| 生气吃什么药可以顺气| 鲱鱼为什么那么臭| 什么是肠漏| 兔子的耳朵有什么作用| 脚肿挂什么科| 毕业证有什么用| 半夜睡不着是什么原因| 心率快是什么原因| 长期失眠看什么科最好| 疝气嵌顿是什么意思| 高笋和茭白有什么区别| 爻辞是什么意思| 梦到猫是什么意思| 泥鳅吃什么| 心率不齐是什么原因| 爱迪生发明什么| 染色体是什么意思| 胃疼吃什么药| 女性尿检能查出什么病| 澳门为什么叫澳门| 什么本本| 爸爸生日礼物送什么| 病是什么结构| 2月25号是什么星座| 男人为什么会得尿结石| 吃大米配什么菜| sly是什么牌子| 新生儿c反应蛋白高说明什么| 肚子怕冷是什么原因该怎么办| 红日是什么意思| 雪花粉是什么面粉| 结婚五十年是什么婚| 尿酸高肌酐高是什么原因呢| 什么色什么流| 牛子什么意思| 脚起水泡是什么原因| 怀孕前三个月要注意什么| 海鲜有什么| 今年25岁属什么生肖的| 什么生肖不认识路| 股票缺口是什么意思| 抽筋是什么病| 7月29日什么星座| 甲状腺4b级是什么意思| 心脏不好吃什么| 脖子淋巴结发炎吃什么药| 11月4号是什么星座| 什么app可以买烟| 月出念什么| 做牛排需要什么调料| 肺炎有什么症状| 脚凉是什么原因造成的| 王是什么生肖| 查淋巴挂什么科| 蚊子喜欢什么血型| 吃什么降尿酸| 咖喱是什么东西| 智五行属性是什么| 吃什么容易长高| 卷柏属于什么植物| 血小板压积偏低是什么意思| 心乱如什么| 高血压和高血脂有什么区别| 吡唑醚菌酯治什么病| 渠道货是什么意思| 治标不治本是什么意思| 拯救银河系什么意思| 丁克是什么| 手上长老年斑是什么原因| 不打狂犬疫苗会有什么后果| 上学是为了什么| 意淫是什么意思| 健脾丸和归脾丸有什么区别| 胃有幽门螺旋杆菌是什么症状| 左金丸治什么病最好| 月经吃什么水果| 发改委主任什么级别| 一味是什么意思| 什么是白茶| 发烧酒精擦什么部位| 吃什么大补| 肌张力是什么意思| 例假少吃什么能让量多| 晚上吃什么不发胖| 蜗牛吃什么| 野生蜂蜜有什么好处和作用| 盆浴是什么意思| 玛尼石是什么意思| 圣诞节的礼物什么时候送| 非特异性t波异常是什么意思| 胆管炎吃什么药| 大腿为什么会长妊娠纹| 桂枝茯苓丸治什么病| 胃痉挛什么症状| 5月19日什么星座| 09属什么生肖| 身体透支是什么意思| 热狗是什么| 乳腺小叶增生是什么意思| 夏天用什么带饭不馊| 2033年是什么年| 滑膜增厚是什么意思| 什么是化疗| 口臭是什么原因导致的呢| 反射弧是什么意思| 肝肾阴虚是什么原因引起的| 免疫力差吃什么可以增强抵抗力| 儿童坐飞机需要什么证件| 6月13日是什么日子| 微量元素六项是什么检查| 椎体楔形变是什么意思| 名落孙山是什么意思| 身份证最后一位代表什么| 哈怂是什么意思| 面包属于什么类食品| 什么菜最好吃| 撸铁什么意思| 2.6号是什么星座| 巨细胞病毒抗体阳性是什么意思| 什么原因导致脑出血| 笑气是什么| 腿肿脚肿是什么病的前兆| 前方高能是什么意思| 指甲月牙代表什么意思| 老花眼是什么原因引起的| 眼袋浮肿是什么原因| 表妹是什么关系| 书到用时方恨少下一句是什么| 蚊子长什么样| 蜕膜是什么| 喜字五行属什么| 月黑风高什么意思| 身上起红斑是什么原因| 什么海翻江| 风湿类风湿有什么症状表现| 热锅凉油是什么意思| 一什么火箭| 骨是什么结构| 嘴上长痘痘是什么原因| 津液是什么意思| 麸质是什么意思| 湿热体质吃什么食物好| 手脚心出汗是什么原因| 脑垂体在什么位置图片| 肌酐高什么东西不能吃| 口臭喝什么茶效果最好| 形态各异的异是什么意思| 好朋友是什么意思| 海虹是什么| 结肠炎有什么症状表现| 细胞器是什么| 成全是什么意思| 眼色是什么意思| 为什么老是肚子疼| 宰相和丞相有什么区别| 呦呦鹿鸣什么意思| 脚底板出汗是什么原因| 什么是梭织面料| 安宫牛黄丸适合什么人群吃| 发福是什么意思| 精神病的前兆是什么| 阳强易举是什么意思| 心理活动是什么意思| 中性粒细胞偏低是什么意思| bp是什么意思医学上面| 耳朵堵塞感是什么原因| 肌肉一跳一跳什么原因| 桂枝茯苓丸治什么病| 囫囵吞枣是什么意思| 独一味是什么药| 多潘立酮片治什么病| 做生意的人最忌讳什么| b票能开什么车| 燕窝是什么| 马的守护神是什么菩萨| 糖尿病什么原因引起的| 黑是什么生肖| plv是什么意思| 舌头麻木是什么原因| 继发性高血压什么意思| os什么意思| 关节炎吃什么药好得快| 转氨酶偏高吃什么药| 小暑节气吃什么| 啫啫煲为什么念jue| 脖子疼是什么原因| 蟋蟀长什么样| vcr是什么| 红霉素软膏和红霉素眼膏有什么区别| 消化内科主要看什么病| 餐标是什么意思| 有人的地方就有江湖什么意思| 什么是士官| 在五行中属什么| 吉加页读什么| 葫芦什么时候种最好| 97年五行属什么| 张起灵和吴邪什么关系| 肠道感染用什么抗生素| b超能检查出什么| 尿隐血是什么原因引起的| 火同念什么| 肚子胀挂什么科| 蛔虫属于什么动物| fd是什么意思| 百度Jump to content

? 天然药用植物无酸防虫纸张材料在文物储存中…

From Wikipedia, the free encyclopedia
Ada Semantic Interface Specification (ASIS)
Developer(s)Language Lawyers, Ada Lovelace
Target platform(s)Ada Programming Language Applications and Static Analysis
StatusActive
LicenseProprietary
百度 目击者穆哈迈德·阿卜迪纳索告诉新华社记者,爆炸发生时,那里有数辆汽车正准备接受安检。

The Ada Semantic Interface Specification (ASIS) is a layered, open architecture providing vendor-independent access to the Ada Library Environment. It allows for the static analysis of Ada programs and libraries. It is an open, published interface library that consists of the Ada environment and their tools and applications.

As explained by the ASIS Working Group:

“ASIS is an interface between an Ada environment as defined by ISO/IEC 8652:1995 (the Ada Reference Manual) and any tool requiring information from this environment” (SIGAda, 2020)

It is exclusively used for programming language applications and static analysis on Ada programs, therefore giving the relevant information and access to Computer-aided software engineering (CASE) and applicable developers. ASIS also has the ability in utilizing the relevant software engineering tools whilst also embodying an easy understanding of the complexities of an Ada environment display. In addition, it provides procedures, functions and relevant information that can be significantly used to access exclusive information found in reference manuals and the Abstract Syntax Tree (AST). Which in return will advance ASIS to the capability of being portable to transport and retain information and terminology of Ada tools.[1]

“ASIS consists of 21 packages, 2 are optional and within these packages define 349 queries”.[2] ASIS will also consist of a package which within it includes child packages that include “Errors Compilation units, Ada environments, implementation, exceptions, elements, iterator, declarations, expressions, clauses, definitions, statements, text and Ids”.[3]

Overall ASIS is simply a straightforward way to collect data from an ADA program and increases any of the Ada tools portability.

Ada Programming/All Chapters. Vol.1 of 3 volume set. The basis of ASIS

Features of ASIS

[edit]

Ada Semantic Interphase Specification under the ISO/IEC 8652 Ada 95 Reference Manual (Ada Language Referencing Manual, 1994) is defined as an interface amidst an Aria environment and other tools requiring information from the Aria environment.

Features of ASIS based tools could include:[4]

  • high quality code analysis
  • automated code monitors
  • browsers
  • call tree tools
  • code reformators
  • coding standards compliance tools
  • correctness verifiers
  • debuggers
  • dependency tree analysis tools
  • design tools
  • document generators
  • metrics tools
  • reverse engineering tools
  • re-engineering tools
  • style checkers
  • test tools
  • timing estimators
  • translators

ASIS also provides limited approaches to the structural and semantic information that are found in the Ada library, it aims to provide and produce information that is similar if not exactly the same semantic level as the definition of Ada. This will greatly assist in providing the exact same definitions and information of the Reference Manual for the Ada Programming Language (LRM) to interested individuals and clients (Ehrenfried).

Main abstractions

[edit]

In ASIS, there are 3 main abstractions that exist in the Ada 'private' types. This consists of Context, Compilation_Unit and Element.[5] While there are additional types of abstractions also involved but the 3 mentioned are the fundamentals.

Context

The Context abstraction of ASIS consists of the definitions, terms and conditions that are available in ASIS enquiries. It is also used as a way and logical handle for the Ada environment.[4]

Compilation_Unit

The Compilation Unit is also a logical handle for the Ada environment. This abstraction also defines the properties and characteristics which are further seen in the Ada Reference Manual. It uses Ada's programming language implementation to convey compilation units through ASIS. As said by Adacore;

"An ASIS Compilation_Unit provides the ‘black-box’ view of a compilation unit, considering the unit as a whole. It may be decomposed into ASIS Elementand then analyzed in ‘white-box’ fashion."[4]

Examplies of these properties given can include:

  1. Time of last update
  2. Name of object containing unit's source text
Element

Comparably the Element abstraction is also a logical handle to the Compilation Unit discussed above, this can either be explicit or implicit.

Structure of ASIS

[edit]

The ASIS application structure can be categorized into 3 categories; Setup ASIS Analysis, Process Compilation Units and Complete ASIS Analysis. This structure is to help in supporting various code analysis programs that appear in the Ada programming language.[3]

Setup ASIS analysis

[edit]

The first step to the structure of ASIS analysis is to set it up efficiently. During this step, various tasks and programs are initialised and established. For example, as identified by William Colket (1999), this step is when the ASIS program initializes ASIS, establishes ASIS context and state object, associates the ASIS Context with the analysis, opens the ASIS context, and performs any pre-processing needed to support the ASIS analysis. The first step is generally to get the ASIS analysis up and running and be ready to use efficiently and effectively.

Process compilation units

[edit]

The setup is then followed by "processing compilation units", during this time is when elements are sampled and analysed to fit into the ASIS Context that had been opened and associated with at the beginning of the ASIS structure. During this step, it mainly processes most of the ASIS application elements in correlation with the ASIS context, it also has the added capability to perform compilation units before and after processing has been done.

Complete ASIS analysis

[edit]

The last and final stage of the ASIS structure is the completion of ASIS analysis. This is where everything is finalised and reviewed to perform any post processing to the ASIS analysis. The ASIS context is also closed and disassociated and ASIS is eventually finalised.

Design criteria

[edit]

As ASIS continues to evolve similarly so does the evolution of its design criteria. The criteria for how ASIS can be designed can be sorted into 9 different categories; wide acceptance, transportability, uniformity and cohesiveness, implementability, state of technology, extensibility, ada terminology and style, performance and minimal set of interfaces.[6]

1. Wide acceptance

[edit]

It must be designed according to this criterion so that a wide variety of tools can be used for ASIS. Designing it with this allows the interface library to be more flexible and available for tools across other platforms, Ada vendor implementations. It also allows for it to reduce training time for tool users and developers.

2. Transportability

[edit]

ASIS must also be designed so it has the capability to be transferred from one computer to another computer or another environment to another.

3. Uniformity and cohesiveness

[edit]

It should also be consistent in properties, concepts, types and operations but also be kept as a simple and coherent operation.

ASIS is also criticised so that it is "implementable by any Ada Compiler Vendor with a reasonable effort".[4] As well as maintaining consistency throughout the whole program.

5. State of technology

[edit]

The state of technology must always be updated and advanced to ensure no issues take place. Additionally, it should be ensured that all possible variations and versions of ASIS will be coherent and efficient.

"It should not preclude extensions that will make use of the ASIS design model and abstractions."[4]

7. Ada terminology and style

[edit]

ASIS should also adapt to the terms and conditions of style and definitions to the Ada Reference Manual.

8. Performance

[edit]

"ASIS design must allow for efficiency from both the client view and implementation view"[4]

9. Minimal set of interfaces

[edit]

"It should allow clients to implement additional layered interfaces using the primitive operations provided."

Uses of ASIS

[edit]

ASIS for GNAT

[edit]

ASIS has been used by Adacore to implement an ASIS standard in the utilisation of ASIS-for-GNAT applications. ASIS can be used for GNAT through typical applications such as: “Static Analysis (property verification), Code instrumentation, Design and document generation tools, Metric testing or timing tools, Dependency Tree Analysis Tools, Type Dictionary Generators, Coding standards Enforcement Tools, Language Translators, Quality Assessment Tools, Source Browsers and Formatters and Syntax Directed Editors” (ASIS for GNAT).

This methodology has also been used to develop numerous tools with the assistance of ASIS including;

  1. gnatelim
  2. gnatstub
  3. gnatcheck
  4. gnatpp
  5. gnatmetric.

ASIS as insulator

[edit]

Pace Drury (1999) utilises ASIS to create a code for his project named ‘SIDPERS-3’ where the code is used to identify intimate details and variations seen in Commercial Off the Shelf (COTS) generated from data base interaction Drury used ASIS for his project where ASIS created a new layer of Ada code which successfully insulated the software developer from the same generated Ada code specifics.[7]

Having written such a difficult code called ‘generate_db_support_code’ which majorly consisted of Ada code, the aim of it were to open 2 files, examine contents and create two new files based on the prior 2 files. ASIS had been used to examine the structure of the code efficiently, making it easier to store and link to a list containing Ada language. ASIS coherently completes what is asked to do and successfully gains constant and secure access to the data base information which meets the project’s needs.

AdaControl

[edit]

AdaControl is a free (GMGPL) tool that detects the use of various kinds of constructs in Ada programs. Its uses include checking of coding standards, exploring the use of Ada features, making statistics, and more. It exploits all the power of ASIS, and can be considered as the most typical ASIS application.

References

[edit]
  1. ^ Sward, Ricky E.; Chamillard, A. T. (2004). "Re-engineering global variables in Ada". Proceedings of the 2004 annual ACM SIGAda international conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies. Vol. XXIV. Atlanta, Georgia, USA: ACM Press. pp. 29–34. doi:10.1145/1032297.1032303. ISBN 978-1-58113-906-8. S2CID 31415676.
  2. ^ Strohmeier, Alfred; Fofanov, Vasiliy; Rybin, Sergey; Barbey, Stéphane (1998). "Quality-for-ASIS: A portable testing facility for ASIS". In Asplund, Lars (ed.). Reliable Software Technologies — Ada-Europe. Lecture Notes in Computer Science. Vol. 1411. Berlin, Heidelberg: Springer. pp. 163–175. doi:10.1007/BFb0055003. ISBN 978-3-540-69802-9.
  3. ^ a b Colket, William Currie (September 1999). "Code analysis of saftey-critical [sic] and real-time software using ASIS". ACM SIGAda Ada Letters. XIX (3): 67–76. doi:10.1145/319295.319306. ISSN 1094-3641.
  4. ^ a b c d e f et.al
  5. ^ "4. ASIS Overview — ASIS-for-GNAT User's Guide 22.0w documentation". docs.adacore.com. Retrieved 2025-08-07.
  6. ^ Bladen, James B.; Spenhoff, David; Blake, Steven J. (1991). "Ada semantic interface specification (ASIS)". Proceedings of the conference on TRI-Ada '91 today's accomplishments; tomorrow's expectations - TRI-Ada '91. New York, New York, USA: ACM Press. pp. 6–15. doi:10.1145/126551.126552. ISBN 0-89791-445-7. S2CID 19422485.
  7. ^ Drury, Pace (March 1999). "Using ASIS for data base insulation". ACM SIGAda Ada Letters. XIX (1): 64–65. doi:10.1145/311457.311486. ISSN 1094-3641. S2CID 37063586.

Additional

[edit]
  1. ISO/IEC 15291: Information technology — Programming languages — Ada Semantic Interface Specification (ASIS)
  2. Ada Language Reference Manual. Version 6.0 21 December 1994. Copyright (C) 1992, 1993, 1994, 1995 Intermetrics, Inc.
  3. ASIS 2.0 specification
[edit]
六月十五号是什么星座 老花眼是什么症状 文曲星是什么神仙 腿部发痒是什么原因引起的 痛风急性发作期吃什么药
益生菌不能和什么一起吃 满是什么结构 gaba是什么 足字旁的字和什么有关 坐位体前屈是什么意思
虚火吃什么药 海豹油有什么功效 今年七夕节是什么时候 号召是什么意思 hcg是什么
马步鱼是什么鱼 拘谨是什么意思 检查脂肪肝做什么检查 梦见吃油饼是什么意思 宋江属什么生肖
颇负盛名的颇是什么意思hcv8jop2ns3r.cn 湿疹吃什么食物好得快hcv9jop5ns0r.cn 身份证后六位代表什么hcv8jop6ns3r.cn 血脂指的是什么hcv9jop1ns9r.cn exo什么意思hcv8jop8ns9r.cn
消化功能紊乱吃什么药hcv9jop1ns0r.cn 自食恶果是什么意思fenrenren.com 是非是什么意思hcv8jop9ns7r.cn 小孩咳嗽挂什么科hcv8jop9ns8r.cn 夜间睡觉出汗是什么原因naasee.com
晓五行属性是什么hcv7jop6ns9r.cn 迁徙是什么意思hcv8jop8ns1r.cn 越国在现在的什么地方jasonfriends.com 金与什么相生相克hcv7jop5ns5r.cn 肋膈角锐利是什么意思hcv8jop6ns8r.cn
0属于什么数fenrenren.com bp是什么意思hcv9jop1ns2r.cn 黄水疮是什么原因引起的hcv9jop5ns3r.cn 体检去医院挂什么科hlguo.com 金牛座女和什么星座最配hebeidezhi.com
百度