CN109634574A - 基于微内核架构的变量实时监视方法及系统 - Google Patents
基于微内核架构的变量实时监视方法及系统 Download PDFInfo
- Publication number
- CN109634574A CN109634574A CN201811564246.6A CN201811564246A CN109634574A CN 109634574 A CN109634574 A CN 109634574A CN 201811564246 A CN201811564246 A CN 201811564246A CN 109634574 A CN109634574 A CN 109634574A
- Authority
- CN
- China
- Prior art keywords
- variable
- monitored
- value
- packaging group
- packaging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
Abstract
本发明提供了一种基于微内核架构的变量实时监视方法及系统,包括以下步骤:在应用程序的框架内编写基本类型或者自定义类型的包装类;编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;构建需要监视的变量的本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;根据监视UI需求定制监视显示插件,设置有指定的监视变量;将指定的监视变量通过包装类进行定义替换;应用程序运行状态下,运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。本发明使应用此框架开发出的应用均具备在运行状态下便捷、友好的变量监视能力。
Description
技术领域
本发明涉及软件架构技术领域,具体涉及一种基于微内核架构的变量实时监视方法及系统。
背景技术
微内核架构有时也被成为插件架构模式(plug-in architecture pattern),见图1,其是一种通用的软件架构模式,与所使用的软件开发语言没有强制关联关系。微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules)。应用逻辑被分割为独立的插件模块和核心系统,提供了可扩展性、灵活性、功能隔离和自定义处理逻辑的特性。微内核架构的使用范围很广泛,比较著名的插件架构产品为Eclipse和Firefox。
件开发调试过程中,打断点、查看局部变量、添加变量监视等是常用且必要的手段。对变量值变化的关注通常对理解程序的运行走向、关键节点的流程跳转等具有重要的意义。但是以上手段均只能在软件开发调试过程中,在IDE环境(集成开发环境,IntegratedDevelopment Environment)下才能具备操作条件,而对于在实际部署环境下处于运行状态的软件往往无能为力或者需要花费较大代价在部署场景下也安装开发、调试工具才可实现。另一个解决变量监视的通用方法即为通过在代码中添加运行状态下打印日志的方式输出变量的值到日志文件,而后对日志文件的信息进行分析,追踪具体变量值的变化。因为在编程中变量的使用场景是非常灵活的,很容易出现多个位置修改同一个变量的情景,那么意味着如果需要紧密监视变量的每一处修改,则必须紧跟修改位置增加日志打印,此重复劳动显得异常繁琐。微内核架构作为一种通用的软件架构方式,其解决的是软件框架的构建问题,并未对上述问题提出解决方案,因此也需要面对使用此类架构进行应用开发时不易在软件运行状态下进行变量监视的问题。
发明内容
本发明的目的就是针对现有技术的缺陷,提供一种基于微内核架构的变量实时监视方法,利用插件的隔离性和独立性特征来实现一种软件运行状态下的变量监视方法,以使应用此框架开发出的应用均具备在运行状态下便捷、友好的变量监视能力。
本发明提供了一种基于微内核架构的变量实时监视方法,包括以下步骤:
a.编写基本类型或者自定义类型的包装类;
b.编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;
c.构建本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;
d.根据监视UI(用户界面)需求定制监视显示插件,支持对待监视变量的监视功能进行控制;
e.将待监视变量通过包装类进行定义替换;
f.应用程序运行状态下运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。
上述技术方案中,步骤a中步骤a中所述包装类定义有一个变量类型的数据成员,以存储需要监视变量的真值;所述真值用于重载操作符时使用,将需要监视的变量的定义类型替换为其对应的包装类型,包装类对象被视为其包装的变量类型的变量而等价使用。所述包装类以C++类模板形式实现。
上述技术方案中,所述C++类模板包括以下两种类型:
1)实现通用的类模板,在类模板的构造函数、需要重载的操作符等实现内部通过动态类型识别技术,从模板的实例化时的对象获取其具体类型,针对不同类型进行定制化处理;
2)实现针对具体类型的特例化类模板,即直接以特例化的类型参数实现对应类型的变量监视包装类,需要对需要支持监视的基本类型或者自定义类型均定义一个特例化的类模板。
上述技术方案中,所述本地数据库中的监视变量的变化信息包括:
变量ID,即全局唯一ID,用于唯一标识变量;同一个变量在多个线程多次构造时,不同线程里的同一个变量ID是不同的,而同一个线程里的同一个变量多次构造时其ID是相同的;利用变量所在文件、其在文件中被构造时的代码位置的行号以及其被构造的所在线程ID经过散列算法可计算出变量ID并作为包装类的成员变量被缓存;
变量名称,即变量在程序中的命名;使用一个友好的宏定义,将包装类的构造以及包装类的变量名称通过“#”获取之后作为包装类的构造函数入参传入包装类,并通过成员变量将包装类变量名称缓存起来;
变量类型,通过C++RTTI(Run-Time Type Information,通过运行时类型信息程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型)技术,获取变量类型名称;
所在文件名,通过编译器内置指令__FILE__(文件的完整路径和文件名)获取变量所在文件名;
所在文件行号,通过编译器内置指令__LINE__(告诉与处理器将编译器内部存储的行号和文件名更改为给定的行号和文件名)获取变量在源码文件中所在行号;
构造所在线程ID,标识当前变量是在哪个线程被构造;
是否动态监视,控制是否实时显示变量值的标志位;
是否有效,指变量当前是否已被析构,可用于控制实时监视时的显示效果;
变量构造次数,对于作用域较短或变量存在多次构造的情况下,用于标记其构造次数;
变量值,以<线程ID,变量值>元组的方式记录变量值,可设计为数据库中的blob(binary large object,二进制大对象,是一个可以存储二进制文件的容器,常常是数据库中用来存储二进制文件的字段类型)数据类型,存储该变量所有出现过的历史值以及当前值;线程ID记录用于应对变量可能在多个线程被修改的情况,比如全局变量在多线程的访问修改。
上述技术方案中,监视变量的变化信息在包装类的构造函数中生成或提取并通过框架提供的数据库操作接口插入到本地数据库文件中;在包装类的析构函数中需要根据变量ID信息,将数据库中对应的监视变量的是否有效状态位调至为0,以标识当前监视变量生命周期已终结,已经被析构。
上述技术方案中,以包装类及原变量名重新定义监视变量,即修改监视变量的定义语法,使包装类对象能完全替代其包装的类型的监视变量在不同场景下等价使用;在包装类对常用操作符进行重载,使包装类对象替换其对应类型原始变量进行数学计算、关系运算时,以包装类内存储的被包装原始类型的变量真实值作为计算对象,即包装类操作符重载时使用存储的变量真实值实现操作符的运算规则;
重载操作符时,变量值的变化情况通过框架提供的数据库操作接口输出到本地数据库中,以监视变量的当前值及历史变化情况。
上述技术方案中,监视显示插件直接利用从本地数据库获取变量监视信息;监视显示插件根据不同的需求定制实时显示、历史查询、有效变量查询不同的查询策略;根据不同的查看习惯定制不同的显示方式,包括图表可视化方式实时显示、提示变量。
上述技术方案中,步骤f包括以下步骤:
经过包装类定义替换的指定的监视变量,在被构造的过程中会在本地数据库中记录此需要监视的变量信息,析构时将变量信息中变量有效状态置为无效,在变量被赋值或一些改变了其值的运算中,会将此变量的真实值同步到本地数据库中变量值的位置。
上述技术方案中,所述本地数据库为SQLite本地数据库文件。SQLite本地数据库是轻型的数据库,是遵守ACID(数据库事务正确执行的四个基本要素,包含:原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)的关系型数据库管理系统。本发明还包括一种微内核架构的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如本发明提供的一种基于微内核架构的变量实时监视方法。
本发明利用类模板对基本类型或自定义类型进行包装,并通过操作符重载以实现包装类对象与其包装的类型的变量的等价使用;通过在本地数据库中设置变量ID,采用对待监测变量的唯一性标识方法,保证同一变量在不同线程被操作时,准确标识值的改变位置。本发明为了减少变量监视对原代码带来的性能开销增加,在实现变量基本信息标记、值变化收集等过程时,采用性能开销小的方式,不增加执行耗时以及保证多线程调用时的线程安全问题。
本发明通过微内核架构的插件机制,利用插件的独立性和隔离性,可提供不同变量监视展示、呈现效果的插件实现,在数据展示层面具备多样性和灵活的可定制性。通过利用微内核框架,为其增加变量监视支持并辅以变量监视展示等插件,可以实现使用此微内核框架的应用程序自动具备在软件实际部署环境下的变量在线实时监视能力,有效支持软件在实际运行环境下的运行状态分析、故障定位等工作,让原本只能在开发调试过程中,借助IDE(集成开发环境Integrated Development Environment)开发工具才能具备的变量监视能力以便捷的方式复制到实际运行环境中。另若在微内核框架内实现对变量存储信息的远程访问,亦可以实现对应用程序内变量的远程监视,即可在本地应用的变量监视插件展示本机其他应用或者其他机器应用程序的变量变化情况,但前提是这些应用均使用此同一个微内核框架来架构应用。
附图说明
图1是为本发明的微内核架构模式;
图2是为本发明的方法实施流程。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。
如图2所示,本发明提供了一种基于微内核架构的变量实时监视方法,具体包括以下步骤:
S1:在框架中定义基本类型或自定义类型的包装类型。
此过程为微内核框架中变量监视包装类的编写,此包装类以C++类模板形式实现,一种具体的形式如:template<class VariableType>class VariableMonitor{},而实现此类模板有两种不同的思路:
1)实现通用的类模板,在类模板的构造函数、需要重载的操作符等实现内部通过动态类型识别技术,从模板的实例化时的对象获取其具体类型,针对不同类型进行定制化处理;
2)实现针对具体类型的特例化类模板,即直接以特例化的类型参数实现对应类型的变量监视包装类,这样意味着需要对需要支持监视的基本类型或者自定义类型均定义一个特例化的类模板;
以上两种方式都需要在包装类定义一个VariableType(变量类型)的数据成员,以存储需要监视变量的真值。此真值用于后续重载操作符时使用,以保证包装类对象可以被视为一个其包装的变量类型的变量而等价使用。
S2:包装类型构造、析构函数实现及重载赋值等操作符。
编写在包装类的构造和析构函数的过程中,需要插入代码对需要监视的变量进行标记,标记的变量信息及其变化信息存储于本地数据库内,本案实施例为微内核框架维护一个SQLite本地数据库文件,用做存储需要监视的变量信息的本地数据库。其中SQlite数据库功能简约、小型化、独立性、追求最大的磁盘效率,而进程服务型数据库功能全面、综合化、追求最大并发效率。
本地数据库文件中的记录以表格形式呈现如下:
表1变量信息数据表设计
表格中的变量信息包括以下:
变量ID:全局唯一ID,用于唯一标识变量,解决需要监视的变量可能同名、同文件或者同一个变量在多个线程被构造等冲突问题,确保所监视变量的唯一性,需要保证的是同一个变量在多个线程多次构造时,不同线程里的同一个变量ID是不同的,而同一个线程里的同一个变量多次构造时其ID是相同的,以便准确记录所有事实存在的变量及其历史状态。因为一个变量所在文件、其在文件中被构造时的代码位置的行号以及其被构造的所在线程ID这个信息三元组是确定唯一的,可以利用此信息经过散列算法计算出变量ID并作为包装类的成员变量被缓存;
变量名称:即变量在程序中的命名,C++变量名在经过编译之后是不会被存储到程序中的,即无法在程序运行时通过动态手段获取,那么变量名的获取需要在编译器实现,通常做法是使用“#”操作符将变量名直接转换为对应字符串。可以使用一个友好的宏定义,将包装类的构造以及包装类的变量名称通过“#”获取之后作为包装类的构造函数入参?传入包装类,并通过成员变量将包装类变量名称缓存起来;
变量类型:通过C++RTTI技术,可以获取变量类型名称;
所在文件名:可通过编译器内置指令__FILE__获取变量所在文件名;
所在文件行号:可通过编译器内置指令__LINE__获取变量在源码文件中所在行号;
构造所在线程ID:标识当前变量是在哪个线程被构造;
是否动态监视:控制是否实时显示变量值的标志位;
是否有效:指变量当前是否已被析构,可用于控制实时监视时的显示效果;
变量构造次数:对于作用域较短或变量存在多次构造的情况下,用于其构造次数;
变量值:以<线程ID,变量值>元组的方式记录变量值,可设计为数据库中的blob数据类型,存储该变量所有出现过的历史值以及当前值;增加线程ID记录是为了应对变量可能在多个线程被修改的情况,比如全局变量在多线程的访问修改。
以上变量信息可在包装类的构造函数中生成或提取并通过框架提供的数据库操作接口插入到本地数据库文件中。在包装类的析构函数中,则需要根据之前生成的ID信息,将数据库中对应的变量的是否有效状态位调至为0,以标识当前变量生命周期已终结,已经被析构。
对于变量的监视,主要目的在于监视其值的赋值、修改等变化情况。通常在代码中这些变化都是通过变量构造、赋值操作、自增自减操作等;同时变量通常也会被用来做一些逻辑或关系运算,为了达到包装类对象能完全替代其包装的类型的变量在不同场景下等价使用的目的(避免在需要监视某变量时,对原有变量使用代码的侵入性修改,而只需要以监视包装类及原变量名重新定义变量即可,即只需要修改变量的定义语法),需要在包装类对一些常用操作符进行重载,要求在包装类对象替换其对应类型原始变量进行数学计算、关系运算时,需要以包装类内存储的被包装原始类型的变量真实值作为计算对象,即包装类操作符重载时需要使用存储的变量真实值实现操作符的运算规则。
对于对变量值进行了修改的操作符,如赋值操作“=”、自增操作“++”等,要求在重载时将变量值的变化情况通过框架提供的数据库操作接口输出到SQLite变量信息数据库即本地数据库中,以监视变量的当前值及历史变化情况。
S3:根据监视UI需求定制监视显示插件。
微内核架构插件是独立的组件,使用者利用插件的独立性、隔离性,可以根据具体的变量监视UI需求定制不同的变量监视显示插件。监视显示插件可以定制实时显示、历史查询、有效变量查询等不同的查询策略,显示UI也可以根据不同的查看习惯进行定制。
插件开发完成后,可以作为框架内置插件发布,也可以独立作为第三方插件发布自由共享。
S4:应用开发者使用插件框架并将需要监视的变量类型使用框架提供的包装类型替换。
应用开发者采用增加了变量监视支持的微内核框架进行应用开发时,可以使用框架内实现的变量监视包装类对需要监视的变量进行定义替换,例如有一个定义为int类型的变量需要监视,做如下操作:
int nValue->VariableMonitor<int>nValue。
S5:运行应用并启动变量监视插件。
程序运行时像使用int类型一样继续使用nValue。在nValue被构造的过程中会在本地SQLITE数据库中中记录此需要监视的变量信息,析构时将变量信息中变量有效状态置为无效,在变量被赋值或一些改变了其值的运算中,会将此变量的真实值同步到数据库中变量值的位置。这些过程都是在包装类的构造和析构函数,以及操作符重载的代码中实现的,对变量使用的编码过程没有侵入性影响。
步骤S2中实现了上述标记方式的代码,在步骤S5中运行过程中,这些标记代码才会被执行,即标记的动作才会发生。
S6:监视变量值变化情况。
即应用程序在运行状态下,通过变量监视插件进行变量监视,以为运行环境下的程序调试、故障定位等提供参考信息。插件以诸如图表可视化方式实时显示、提示变量的变化情况,这些展示效果或方式均由插件实现时的需求决定
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (9)
1.一种基于微内核架构的变量实时监视方法,其特征在于包括以下步骤:
a.编写基本类型或者自定义类型的包装类;
b.编写包装类的构造函数和析构函数并重载操作符;并在构造函数和析构函数内对需要监视的变量进行标记;
c.构建本地数据库,用于存储应用程序运行时包装类的需要监视的变量的变化信息;
d.根据监视UI需求定制监视显示插件,支持对待监视变量的监视功能进行控制;
e.将待监视变量通过包装类进行定义替换;
f.应用程序运行状态下运行并启动监视显示插件,监视显示插件从本地数据库中获取指定监视变量的变化情况并进行显示。
2.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于:步骤a中所述包装类定义有一个变量类型的数据成员,以存储需要监视变量的真值;所述真值用于重载操作符时使用,将需要监视的变量的定义类型替换为其对应的包装类型,包装类对象被视为其包装的变量类型的变量而等价使用。
3.根据权利要求2所述的基于微内核架构的变量实时监视方法,其特征在于所述本地数据库中的监视变量的变化信息包括:
变量ID,即全局唯一ID,用于唯一标识变量;
变量名称,即变量在程序中的命名;
变量类型,通过C++RTTI技术,获取变量类型名称;
所在文件名,通过编译器内置指令__FILE__获取变量所在文件名;
所在文件行号,通过编译器内置指令__LINE__获取变量在源码文件中所在行号;
构造所在线程ID,标识当前变量是在哪个线程被构造;
是否动态监视,控制是否实时显示变量值的标志位;
是否有效,指变量当前是否已被析构,可用于控制实时监视时的显示效果;有效状态位调至为0,以标识当前监视变量生命周期已被析构;
变量构造次数,对于作用域较短或变量存在多次构造的情况下,用于标记其构造次数;
变量值,以<线程ID,变量值>元组的方式记录变量值;
线程ID记录,用于应对变量可能在多个线程被修改的情况。
4.根据权利要求3所述的基于微内核架构的变量实时监视方法,其特征在于监视变量的变化信息在包装类的构造函数中或者重载操作符时生成或提取,变量值的变化情况输出至本地数据库中。
5.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于在包装类对常用操作符进行重载,使包装类对象替换其对应类型原始变量进行数学计算、关系运算时,以包装类内存储的被包装原始类型的变量真实值作为计算对象。
6.根据权利要求1所述的基于微内核架构的变量实时监视方法,其特征在于监视显示插件从本地数据库获取变量监视变量的信息;监视显示插件根据不同的需求定制实时显示、历史查询、有效变量查询不同的查询策略;根据不同的查看习惯定制不同的显示方式,包括图表可视化方式实时显示、提示变量。
7.根据权利要求4所述的基于微内核架构的变量实时监视方法,其特征在于步骤f包括以下步骤:
经过包装类定义替换的指定的监视变量,在被构造的过程中会在本地数据库中记录此需要监视的变量信息,析构时将变量信息中变量有效状态置为无效,在变量被改变其值的运算中,会将此变量的真实值同步到本地数据库中变量值的位置。
8.根据权利要求2所述的基于微内核架构的变量实时监视方法,其特征在于所述本地数据库为SQLite本地数据库文件。
9.一种微内核架构的终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564246.6A CN109634574B (zh) | 2018-12-20 | 2018-12-20 | 基于微内核架构的变量实时监视方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811564246.6A CN109634574B (zh) | 2018-12-20 | 2018-12-20 | 基于微内核架构的变量实时监视方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634574A true CN109634574A (zh) | 2019-04-16 |
CN109634574B CN109634574B (zh) | 2022-03-15 |
Family
ID=66075943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811564246.6A Active CN109634574B (zh) | 2018-12-20 | 2018-12-20 | 基于微内核架构的变量实时监视方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634574B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562954A (zh) * | 2020-05-18 | 2020-08-21 | 网易(杭州)网络有限公司 | 数据的处理方法及装置、存储介质、处理器 |
CN114168203A (zh) * | 2020-09-10 | 2022-03-11 | 成都鼎桥通信技术有限公司 | 双系统运行状态控制方法、装置和电子设备 |
CN111562954B (zh) * | 2020-05-18 | 2024-04-19 | 网易(杭州)网络有限公司 | 数据的处理方法及装置、存储介质、处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143812A1 (en) * | 2003-01-14 | 2004-07-22 | Vladimir Bernstein | Automatic software design tool for building web and other applications wherein components are linked through connected command and control and data variables |
CN102236550A (zh) * | 2010-04-30 | 2011-11-09 | 微软公司 | 软件开发工具 |
JP2012133751A (ja) * | 2010-12-23 | 2012-07-12 | Korea Electronics Telecommun | ソフトウェアコンポーネントのデータ変数をモニタする方法及び装置 |
CN105701006A (zh) * | 2014-11-28 | 2016-06-22 | 国际商业机器公司 | 用于程序调试中的变量跟踪的方法和系统 |
-
2018
- 2018-12-20 CN CN201811564246.6A patent/CN109634574B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040143812A1 (en) * | 2003-01-14 | 2004-07-22 | Vladimir Bernstein | Automatic software design tool for building web and other applications wherein components are linked through connected command and control and data variables |
CN102236550A (zh) * | 2010-04-30 | 2011-11-09 | 微软公司 | 软件开发工具 |
JP2012133751A (ja) * | 2010-12-23 | 2012-07-12 | Korea Electronics Telecommun | ソフトウェアコンポーネントのデータ変数をモニタする方法及び装置 |
CN105701006A (zh) * | 2014-11-28 | 2016-06-22 | 国际商业机器公司 | 用于程序调试中的变量跟踪的方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562954A (zh) * | 2020-05-18 | 2020-08-21 | 网易(杭州)网络有限公司 | 数据的处理方法及装置、存储介质、处理器 |
CN111562954B (zh) * | 2020-05-18 | 2024-04-19 | 网易(杭州)网络有限公司 | 数据的处理方法及装置、存储介质、处理器 |
CN114168203A (zh) * | 2020-09-10 | 2022-03-11 | 成都鼎桥通信技术有限公司 | 双系统运行状态控制方法、装置和电子设备 |
CN114168203B (zh) * | 2020-09-10 | 2024-02-13 | 成都鼎桥通信技术有限公司 | 双系统运行状态控制方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109634574B (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Siegfried | Modeling and simulation of complex systems: A framework for efficient agent-based modeling and simulation | |
Balci | Requirements for model development environments | |
US20090037888A1 (en) | Simulation of program execution to detect problem such as deadlock | |
DE112012003716T5 (de) | Erzeugen von kompiliertem Code, der Registeraktivität angibt | |
CN106227654B (zh) | 一种测试平台 | |
Souza et al. | Awareness requirements | |
EP2141587A1 (en) | Method and system for generating of a control flow graph for representing a program code | |
Rocha et al. | Model-based test case generation from UML sequence diagrams using extended finite state machines | |
WO2016093803A1 (en) | Separating test verifications from test executions | |
CN111813635A (zh) | 一种区块链智能合约的监控方法、系统及装置 | |
US11119899B2 (en) | Determining potential test actions | |
Moreno-Delgado et al. | Modular DSLs for flexible analysis: An e-Motions reimplementation of Palladio | |
CN103150386B (zh) | 一种c4isr系统元模型构建方法 | |
El-Hokayem et al. | Can we monitor all multithreaded programs? | |
US11126408B2 (en) | Incremental code generation method | |
CN109634574A (zh) | 基于微内核架构的变量实时监视方法及系统 | |
Khan et al. | A study: selection of model metamodel and SPL tools for the verification of software product lines | |
Augusto et al. | RETORCH: Resource-aware end-to-end test orchestration | |
Wiese et al. | Autonomic tuning expert: a framework for best-practice oriented autonomic database tuning | |
Fitzgerald et al. | Validation support for distributed real-time embedded systems in vdm++ | |
King et al. | A reusable object-oriented design to support self-testable autonomic software | |
Klink et al. | INCOME2010-a toolset for developing process-oriented information systems based on petri nets | |
Ehlers | Self-adaptive performance monitoring for component-based software systems | |
Vysocký et al. | Application instrumentation for performance analysis and tuning with focus on energy efficiency | |
Zimmerle et al. | Reactive-based complex event processing: An overview and energy consumption analysis of cep. js |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |