zoukankan      html  css  js  c++  java
  • RoseRT 建模学习

    目录:

             一、RoseRT理论知识

             二、一个完整模型的建立

             三、TD-SCDMA(UE侧)RRC层建模的学习

             四、LTE的RRC层建模(1.自主完成‘2.也可以是L2)

             五、参考文献

       一、RoseRT理论知识

    个model中包括4个部分:

    1.Use Case  视图

    在该部分包括:包,Actor,Use case、对象、消息和关系。

    2.逻辑视图Logic 

    在该部分包括,包,View RTC Class(类)、状态和关系。

    3、组件视图(Component View)

    在该部分内包括包,组件和依附关系。

    4、Deployment View 拓扑视图

    节点和关系

    详细学习:

    1.Use Case View

    它主要是用来描述一个系统(或者子系统,类和接口)做了什么,但是并不具体描述系统内部如何执行。该View中还含有Use case 图和相互作用图。

    Use case图中包括包、actors(外部系统)、use case和关系;也就是说,描述了存在的外部系统,该系统应该做什么(use case),以及他们的关系。它可以描述全部的或者部分的系统的use case。

    相互作用图,主要有两种:序列图和协同图,里面包括对象和消息。

    相互作用图也被称为交互图,它可以代表系统中对象的结构。序列图是按时间顺序排列对象交互操作;协同图是围绕对象及其间的链接关系组陈对象的交互操作。

    2.Logical View 

    它主要是描述整个model的建模流程,从分析,到整个设计,最后到具体实施。

    主要包括类图和状态图。类图主要是包和类,以及他们之间的关系,主要是讲静态;状态图主要是状态、事件和转换关系,主要是指动态。

    3.组件视图Component View

    它是对系统具体的描述。组件包含激活和数据的类(active ,data),并且为build一个可执行模型提供组件。

    直白得说,组件视图描述了在系统物理设计中组件中类和对象的分配情况。

    4.拓扑视图 Deployment View

    该部分主要显示了该系统是如何分布的,它定义了进程处理的分配情况,并且包含系统中节点的图标。简单说,就是描述了节点和连接。

    基本的理论知识差不多也就这些,如下就是指导(是我自己学习的过程中,写的,主要是可能遇到的问题,大多数是我遇到的或者我想到的问题。

    二、一个简单完整模型的创建

    步骤:

    1.新建一个model,选择RTC++

    说明:Rose RT通常有七个框架(framework),Empty, RTC, RTC++, RTJava, StartupC, StartupCPP, StartupJ。

    它们分别针对不同的编程语言。Empty可以用来创建use case,但不能用来开发实时系统。例子中选择C++代码(爱立信的RRC和L2都用Rose RT开发,语言选择C++)。

    2.创建逻辑视图Logical View

         1.创建一个容器,capsule。

    很重要的一个步骤,在RoseRT中很重要。一个model至少创建一个顶层(top-level)的capsule。因为代码的执行operation需要被激发,不能自动激活,所以需要把代码放到capsule中,这样代码就可以被RoseRT中的main函数执行。main函数在你模型中创建了capsule,启动状态机。你自己可以描述capsule,并定义状态机。他们会自动被创建,然后服务库会执行它们(services library)。

          2.把一个状态加入到所创建的容器中。

    对于capsule classees,一个状态表会生成完整的代码实现。该状态图为容器提供了异步消息的处理能力。

    在刚创建的名字为hello的capsule上,右击选择open state diagram,会弹出一个对话框,随后添加一个state。

    状态图包含一个初始圆点,还有一个初始状态(就是刚才你命名的state)。一个初始状态是用来表示状态机开始的特殊点,你需要连接该点和开始状态。一个状态图中只能有一个初始状态,是所有transition的开始。从初始点输出的也只能有一个transition,就是到初始状态的。

    可以有多个输入transition到初始状态。初始状态就像一个连接点,可以强制行为返回。

            3.画出初始transition

      首先,画出初始transition。利用state transition按钮,然后画出。

      将特殊点连接到的状态就是初始状态,也就是它是第一个接受具体的event。

             4.把一个端口加入到容器中(当使用的是C语言时,不用该步骤)

      端口其实很像我们通常所说的计算机之间通信的端口,随着容器实例的创建而创建,随着实例的消失而消失。

    默认的新端口是公共的,就是随便用,你可以创建保护性端口,该类端口可以阻止外部的容器的连接。

    在End Port中选择添加新port,然后选择一个新protocol。最后切换到structure tab,该图被激活。

             5.保存model

             6.把代码添加到一个状态机中。

    点击初始点和初始状态的连接线,然后在RoseRT右下角的code tab中,你想添加的代码。

    3.创建组件视图 Component View。

    组件视图描述了如何编译model的不同部分。组件视图的初始元素需要自己创建,该组件描述需要编辑的容器和类,如何编译哪些元素,并把包含文件和数据库整合到build中。

    必须要为顶层容器创建一个组件,以便能够build并执行你的model。当可能会有很多有关联的组件或者组件的包,可以画组件图。

    在component View中选择新建,然后出现新组件,双击新建组件,将逻辑视图中的capsule拖入,单击select,选择,并点击ok,就将其设定为顶层capsule。

    单击C++ compilation,选择编译器。组成形式:<operating system>.<processor and compiler>

    build组件

    为了build一个可执行的model,要创建一个组件,它用来管理build配置参数,你需要build或者编译该组件。

    步骤:首先将创建的component设定为active(选定set Active)

                单击 build component按钮

    4.创建拓扑视图

       1.创建一个组件实例

    2.run 组件实例 (我的之前的build就失败了,所以这个就不能run,可能之前我的配置有问题)

    如果成功,会跳出runtime 视图以及控制台窗口。

    观察产生的代码:在你存储你的model的文件夹中,打开在component(你自己创建的)的src文件中,有源代码。

    三、

    四、

      五、参考文献

       【1】Rose RT软件附带的tutorial,主要是QuickStart Tutorial部分。

       【2】Rose RT培训培训ppt

       【3】Ericsson TD-SCDMA Source Code

       【4】3GPP协议TS25.331  TS26.331

       【5】C++ Primer

  • 相关阅读:
    sql常用语句
    java学习(东软睿道)2019-09-06(预课)《随堂笔记》
    Servlet和JSP学习总结
    由字符集的转换想到的问题
    mysql主从搭建
    CentOS 源码安装MySQL5.7
    Linux搭建FTP服务器
    连接MySQL报错误代码 ERROR 1045时的解决方案
    [js]使用百度编辑器uediter时遇到的一些问题(span,div等被过滤)
    [css]将textarea前的文字设置在左上角
  • 原文地址:https://www.cnblogs.com/hai-persist/p/3517636.html
Copyright © 2011-2022 走看看