外文翻译-网上电影院购票系统的设计与实现.docx
- 文档编号:23162171
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:23
- 大小:41.40KB
外文翻译-网上电影院购票系统的设计与实现.docx
《外文翻译-网上电影院购票系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《外文翻译-网上电影院购票系统的设计与实现.docx(23页珍藏版)》请在冰豆网上搜索。
1.外文资料翻译译文
UML与java基础行为规范
1.介绍
图形化建模语言在系统设计和文档的应用。
一种广泛使用的通用的图形化建模语言是统一建模语言(UML)。
此前,该系统如法体和出入境的状态机的行为无法描述UML动态方面,和自然语言或现有的编程语言都是用来描述动态方面。
使用这些方法的缺点是1)自然语言是模糊的,早期的系统仿真和模型检查可能会影响模糊描述2)编程语言通常是执行特定的。
系统地建立现实行为,精确的动作语义已被纳入UML2.0。
UML可以让它在描述系统的动态方面更具表现力的可执行文件。
模型是一个系统的抽象。
由于建模和编程语言的抽象之间的差距,很难达到建模的一致性。
由于这个空白,本代码不必知道模型中定义的概念。
模型通过省略不必要的细节提供了一个抽象的系统。
行动,算法和导航路径不能用UML图进行了详细的阐述。
使用一些编程语言或文本表示的规则和约束的模型进行说明。
模型感知的行动语言的开发,以减少抽象的差距。
基础的UML动作语言(Alf)是由对象管理组(OMG)定义以减少差距。
模型主要利用UML的图形符号表示。
描述模型的元素和指定的可执行文件的行为,使用UML动作语言。
Alf行为的表面符号,用于指定模型内的可执行行为。
一个完整的规范行为和计算需要指定完整的可执行的系统。
使用一个文本符号很容易添加详细的行为模式和运行模式的程序从而指定完整的可执行性。
语言为基础的UML动作语言Alf。
在本文中,我们证明了java可以用来比较Alf和java的词法和句法构造指定UML行为。
我们发现,Alf的语法类似于java语言的语法和词汇的成分,也有少数例外几乎相同。
Alf编译过程图Alf行为规范到fUML模型或一个可执行代码在非UML平台而java程序的编译产生的一个中间平台无关的字节代码表示。
2.相关的工作
有许多文件相关的Alf的翻译和生成的代码从设计模型。
本文将UML关联到java代码,描述了在java考虑多重二元关系的实现,适航性和可见性。
虽然没有直接构建在java直接执行的二进制组合,结合类、属性和方法,组织可以实现。
介绍了UML语言和行动评价的调查。
在本文中,一种技术被称为umple定义允许任何语言作为一种动作语言。
一个高层次的抽象是由umplewhen与现有的高级语言相比,阐述了java代码可以从状态机设计模式的使用产生。
在本文中,每个状态被认为是一个对象。
状态图中的每一个状态都是一个类,并且所有的状态的转换和行为都被封装在它中。
为了实现分层和并发状态,组成和代表团的概念可以被使用。
阐述了如何将桥梁计算执行元建模和模型之间的鸿沟。
一个新的框架,结合元模型和计算模型(MOC)以模块化的方式介绍。
一个完整的、可执行的规范语言(DSL)的定义域的设置,以及如何给MOC可重复使用不同的特定领域的元模型,以及如何不同的系统可用于一个给定的模型占DSL.In,Alf语言是用来执行数据流分析模型。
本文还介绍了精确的数据流信息可以通过绘制UML状态机发现Alf。
3.Java
java是一个最流行和广泛使用的面向对象的语言。
java是一个平台无关的语言在某种意义上说,由java代码可以运行在各种不同环境下的CPU。
的设计,通过实际工作的程序员进行测试和完善的java语言,因此对真正的程序员的经验理由。
java的逻辑一致性和凝聚力。
程序员完全可以控制语言。
java语言也对网络的影响。
提供网络安全、java创建计算机和网络应用之间的防火墙。
java编译器输出的字节码是不可执行的。
这是一个可以在任何平台上运行java虚拟机解释。
通过编写java代码的字节码,程序可以创建跨平台。
java编程语言的优点是简单、安全、面向对象的、健壮的、多线程的、结构中立、解释、动态分布。
类图UML图表示系统的静态方面。
类之间存在关联和泛化关系。
java是一种面向对象的编程语言,因此类的概念、对象和继承的支持java。
java类可以直接实现。
在类关系图泛化关系可以模拟使用java中的继承的概念。
协会代表类和它是一个UML的关键概念之间的关系。
协会不能直接代表java但他们可以实现通过组合使用的类,属性和方法或具体的java接口。
单一的协会可以使用对应于目标类中的链接属性实现;多个关联可以实现使用java集合如矢量、适航性好等,包括单向和双向关联和包含在相应的类属性,导航可以实现。
java和UML的能见度水平有相同的语义;因此,能见度也可以实现在java。
java语言具有多种功能,使得它适合为代表的UML模型元素。
用活动图和状态图进行动态或行为建模。
活动图是一种特殊形式的状态图和他们描述动作的程序流程。
设计模式可用于从状态机生成java代码。
国家代码的翻译过程中,每一个国家是阶级嵌入所有的转换和行为对象。
并发状态也可以使用java组成代表团代表。
java的特点使它能够指定所有构建UML直接或通过一组特征相结合。
因此,
java可以用来指定与UML模型元素相关的行为。
4.Alf
基础的UML动作语言(Alf)的开发是为了提供一个文本对UML建模元素的表示。
Alf的具体语法可以映射到标准的基本子集的抽象语法可执行UML模型(称为基础的UML或fUML)。
这个映射指定的执行语义,Alf和执行Alf文本的结果是确定的语义,它映射到fUML模型。
模型代表应用UML和执行行为的图形符号的使用Alf作为指定的UML元素执行行为的表面符号指定。
这是Alf的首要目标。
行为规范包括类的操作或状态机的过渡效应行为的方法。
提供Alf的扩展符号可以用来表示结构建模元素。
Alf的语法直接覆盖的子集的子集fUMLUML和整个模型代表使用fUML子集可以指定Alf。
Alf的设计是基于以下的指导原则:
有Alf和C或java语法之间的密切的相似之处。
UML的文本语法像名称限定双冒号也可用于Alf。
这是可能的嵌入在图形化模型的Alf文本没有任何变化的模型。
(例如,包括名称的特殊字符,使用任意名称的构造函数等)。
容纳Alf在图形模型方便有用的1)提供执行语义在映射到fumlsubset和2)在映射到其他非fumlmodels。
参考元素的活动外,Alf使用的命名系统的UML命名空间提供。
本地名称被提供给活动中的值的引用流。
Alf使用隐式类型系统,它还使用静态类型检查的基础上至少在类型声明的结构模型元素。
Alf有对象约束语言的表现力(OCL)在使用和操作序列的值。
在扩展区域fUML这些序列表达式是完全可执行的;Alf也允许高度并行的计算简单和自然的规范。
是一个行动的语言是Alf的首要目标,在fUML子集的界限,Alf还提供了具体的语法结构建模。
5.对java和Alf的句法比较
从词法成分、句法规范和语义规范等方面对语言进行了编程。
词汇结构是一种编程语言的基石。
它指定了单个字符是如何组合在一起形成令牌的。
语法规范的目的是组的标记语法正确的结构形式。
形式化描述语言中的各种表达形式的语法结构,使用语法。
语句的语法是使用语法指定的。
语义语法有效的语句中指定的语言的意义。
扩展巴科斯范式(EBNF)是用来指定Alf动作语言的词法和句法结构。
Alf的具体语法可以被映射到标准fUML抽象语法在fUML规范定义。
该映射fUML模型的语义决定的执行语义和执行Alf文本的结果。
java编程语言的语法是使用上下文无关文法的规定。
一个java程序的编译生成一组源程序中的每个类的类文件。
Alf和java语言的比较是基于语言规范。
5.1.词法结构
一种编程语言有一个词法结构,确定字符的序列是如何组合在一起形成令牌的。
Alf的词法结构定义了一个Alf输入文本中的字符序列被划分成一组输入元素或令牌。
这样的投入要素可分为空白、注释或标记。
令牌再次被归类为文档注释、名称、保留字、文字、标点和运算符。
java报表也有词汇结构组成的白色空间,注释和标记。
标记可以是标识符、关键字、文字、分隔符或运算符。
Alf语言的词法结构类似于java语言的词法结构,词法分析器检测到白色空间,注释和标记。
在Alf和java的令牌是少数例外如文档注释几乎相似,名字(几乎类似于标识符)等。
5.2数据类型
Alf支持以下原始数据类型:
Boolean,String,Integer,,自然和位串。
java语言也支持数据typesbyte,short,char,int,long,float,double,Boolean。
所有的原始数据类型支持的Alf也由java编程语言支持。
5.3类
一个分类器,其实例被称为一个类。
一类可以包含属性和操作。
属性定义类的属性,并且它们可以有适当类型的值。
类中的操作可以用调用表达式来调用同一个类的对象调用。
属性和操作类似于java类的属性和方法。
Alf支持java类和有语法来指定抽象和具体类。
表1.抽象和具体在Alf和java类定义的实例。
Alf
Java
抽象类与抽象
操作
abstractclassSelect{
publicabstractgetValue():
Money;
abstractclassPointtranslate{intx=2,y=3;
}
voidmove(intdx,intdy){
x+=dx;
y+=dy;
alert();}
abstractvoidalert();
}
具体类
classproduct{privateqty:
Count;
publicgetQuantity():
Count{returnself.quantity;
}}
classproduct{privateintqty;publicintgetQty(){returnqty;
}}
5.4声明
语句没有值,并且是为它们的效果执行的行为的段段。
在一份声明中表示,Alf的行为控制程序的基本单位。
语句序列是由一组线性有序语句组成的Alf文本。
指定UML的行为,这样的语句序列可以在UML模型。
对于较大的句法结构,使用一个块,这是一个语句序列的划分。
Alf行动语言支持注释,内联,块,空,本地名称声明,表达式语句,如果,切换,同时,做,为,中断,返回,接受和分类报表。
语句序列中的所有语句按顺序依次执行。
使用一个不透明的行为,Alf的一个语句序列可以被插入到UML模型和UML活动。
这种不透明的行为主体是用Alf的语句序列处理文本和相应的语言字符串指定的是Alf。
一个动作可能有输入和输出引脚,它应该被命名。
输入引脚的名称被认为是在语句序列中的指定源。
输出引脚可以在语句序列中指定名称,它们为语句序列的末端提供相应的输出引脚的值。
在语句序列中,其他可视模型元素(如有必要)的名称也可以被用作通常的。
在java中,报表控件执行的顺序和没有价值。
类似于Alf,他们被执行的效果。
语句序列构成一个块。
在java中,一个语句可以if-else语句,断言语句,while,do-while,for,break,continue,return,throw,switch,try-catch语句。
在Alf的声明类似于java语法的语法。
为了对比while和switch语法在表2的例子中对Alf对Java的非常相似地进行了比较。
在switch语句中,唯一的区别是在java的break语句的使用。
表2比较Alf和Java的while语句和switch语句
类型声明
Alf
Java
while语句
"while"
"("conditionExpression")"
while(ConditionalExpression)
statement
Statement
语句的例子
While(file.hasNext())
{Record=file.readNxt();
while(file.hasNext())
{record=readNxt();}
switch语句
"switch""("Label")""{"
“case”exp”:
”expstatement"default"":
"
Defaultstatements“}”
switch(Label)
{
caseExp:
Expstatementbreak;
default:
Defaultstatement
break;
}
切换语句的例子来检查日期的有效性
switch(month){
case1:
case3:
case5:
case7:
case
8:
case10:
case12:
if(day>0&&day<=31)Writeln(“Validdate”);
case4:
case6:
case9:
case11:
if(day>0&&day<=30)
Writeln(“Validdate”);case2:
if(((year%4==0)&&
!
(year%100==0))||(year%400==0)){
if(day>0&&day<=29)Writeln(“Validdate”);
switch(month){
case1:
case3:
case5:
case
7:
case8:
case10:
case12:
if(day>0&&day<=31)System.out.println(“Validdate”);break;
case4:
case6:
case9:
case
11:
if(day>0&&day<=30)System.out.println(“Validdate”);break;
case2:
if(((year%4==0)&&!
(year%100==0))
||(year%400==0))
{if(day>0&&day<=29)
}else{
if(day>0&&day<=28)
Writeln(“Validdate”);}default:
writeLine("Invaliddate");}
System.out.println(“Validdate”);}else{if(day>0&&day<=28)
System.out.println(“Validdate”);}break;default:
System.out.println("Invaliddate");break;}
5.5的表达
表达式计算值的集合,并被视为行为单元。
评价表达式的副作用是改变一个对象的属性值。
使用一个不透明的表达,Alf的表达可以被插入到UML模型。
在UML模型中指定的值,可以使用一个Alf的表达。
Alf支持条件表达式和赋值表达式的java语言表达式的语法,也支持条件表达式和赋值表达式。
对Alf表达的执行语义的形式化规范的UML活动图的映射了。
由于java和Alf支持条件表达式和赋值表达式,表达式可以表达Alf与java取代。
6.解析
分析是验证输入程序或文本的语法正确性的过程。
分析是一个过程,需要输入一个流的令牌,验证语法,并产生作为输出的解析树或语法树。
语法通常使用语法定义。
语法的定义是基于扩展巴科斯范式(EBNF)用于指定Alf具体语法。
Alf具体语法定义了一个抽象语法树是如何通过分组词法标记生成的。
这是通过分组的词法分析的一个Alf的文本所产生的符号构造一个抽象的语法树。
一个层次分析树作为分析结果产生。
Alf的输入文本的解析,从而基本上是相同的,用于处理任何典型的文本编程语言。
通常使用上下文无关文法来指定编程语言的语法。
EBNF语法的使用提供了上下文分析Alf文本。
从报表和指定的UML行动与这些表达相关的原子的表达式解析器12确定。
指定的单元被解析为内存中的抽象语法表示形式。
有没有预编译的单位和任何单位进口应递归编译。
在分析过程中,违反了Alf规范中定义的抽象语法约束,并报告了。
静态语义分析的目的是收集更多的信息映射到fUML而在编程语言的情况下,语义分析是进行类型检查和解决的名字。
由于在编译后产生的输出的差异,在语义分析阶段出现的差异。
在Alf的情况下,它被映射到fUML,而在java中,产生一组类文件。
在处理Alf文本的最后一步是映射在fUML抽象语法表示。
通过进行深度优先遍历抽象语法树的注释与静态语义分析的衍生属性,建立fUML抽象语法表示法。
的参考实现地图的所有解析fUML单位到内存中的表示形式。
单元映射
在一个执行环境在locus14fUML创建执行。
在java的情况,后进行编译,产生一个独立于平台的表示称为字节码。
字节码被存储在一个类文件中。
一套java源文件编译的java编译程序集的类文件。
源文件中的词法分析器组字符以形成标记。
然后将令牌分组由语法分析器生成抽象语法树。
创建符号定义的符号表。
在抽象语法树上执行处理注释后进行语义分析。
它包括名称解析,类型检查和常量折叠。
进行注释的解析树,内部类的数据流分析后,类文字等删除和每个类文件generated5。
在Alf和java的编译步骤基本相似,除了由编译器产生的输出。
7.结论
Alf是一个UML的子集称为基础的UML建模语言的描述。
它已经表明,alfhas语法类似于Java编程语言。
java是一个高水平的平台无关的编程语言。
可执行UML模型中的行为可以被指定与Alf。
Alf密码可以映射到fUML模式或高级语言代码编译而在java后,一组包含一个独立于平台的表示称为字节码的产生可以被解释和执行的类文件。
解析后,中间的表示:
产生fUML模型或高级语言代码在Alf和字节代码的情况下在java案例。
Alf在模型和代码之间产生一个抽象层。
在本文中,我们已经表明,自从Alf像java,在众多的结构,抽象的额外水平可以避免使用一种高级编程语言,如java。
虽然使用动作语言提供的行为规范有助于完整的代码生成,额外的努力产生的文本表示Alf码和进一步的地图模型fUML后来执行模型。
Alf的语法类似于C,C++或java程序员必须学习另一种语言,Alf使模型可执行。
java是一种最流行的编程语言,它已经证明,许多的Alf建立了类似于java。
使用java的UML模型中指定的优点是消除了行为的抽象和程序员额外的一层是体验从学习另一种语言,是Alf在很多方面相似于高层次的编程语言的负担。
参考文献
1.ObjectManagementGroup(OMG):
UnifiedModelingLanguage:
Superstructure,version2.0availableathttp:
//www.omg.org
2.Yang,Mikai,GregJ.Michaelson,andRobPooley.FormalActionSemanticsforaUMLActionLanguage.J.UCS14.212008:
3608-3624
3.Ciccozzi,Federico,AntonioCicchetti,andMikaelSjodin.TowardsTranslationalExecutionofActionLanguageforFoundationalUML.InSoftwareEngineeringandAdvancedApplications(SEAA)201339thEUROMICROConference:
IEEE,2013.p.153-160.
4.Mellor,S.J.,Tockey,S.ActionSemanticsforUML,ResponsetoOMGRFPad/98-11-01OMGad/1002-08-04;Tech.Rep.ProjectTechnology,Inc.
5.Erni,D.,&Kuhn,A.TheHacker’sGuidetojavac.UniversityofBern,Bachelor’sthesis,supplementarydocumentation,2008.
6.EdSeidewitz.ProgramminginUML:
AnIntroductiontofUMLandAlf,TutorialfortheOMGExecutableUMLInformationDay22March2011
7.ObjectManagementGroupActionLanguageforFoundationalUML(Alf),ConcreteSyntaxforaUMLActionLanguage,beta1versionOMGDocumentNumber.ptc/2010-10-05.2010
8.GonzaloGénova,CarlosRuizDelCastillo,andJuanLlorens.MappingUMLassociationsintoJavacode.JournalofObjectTechnology2.52003:
135-162.
9.Badreddin,OmarBahy,TimothyC.Lethbridge,andAndrewForward.InvestigationandEvaluationofUMLActionLanguages.InMODELSWARD2014,p.264-273.
10.Michel,Daniel,andAndreasSteffen.CodeGeneratorforUMLStateMachines.2011.
11.Combemale,B.,Hardebolle,C.,Jacquet,C.,Boulanger,F.,&Baudry,B.Bridgingthechasmbetweenexecutablemetamodelingandmodelsofcomputation.InSoftwareLanguageEngineeringSpringerBerlinHeidelberg:
2013.p.184-203.
12.Obaid,S.,S.Asghar,andM.Naeem.DataFlowAnalysisofUMLModelsbyALF.Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外文 翻译 网上 电影院 购票 系统 设计 实现