SICS的整体风格是我比较满意的一处:严格按照JAVA的包依赖关系设计,体系清晰。
本来想发一些截图的,但是上传图片的速度实在太慢,所以这里就偷懒了,仅文字描述一下吧!
SICS的包定义为:
0)wherever.sysframe:这个是程序的根包,其中wherever是我为自己的所有JAVA程序设定的根;
1)wherever.sysframe.running:系统运行段控制,建立了基于状态迁移的运行控制规范。因为定义高度概括(仅三言两语),而且非常抽象,所以应用系统(包括SICS的框架自身)都不会直接使用它们;
2)wherever.sysframe.concept:公用概念,定义了系统对象的基本规则,包括对象关系,配置语义,对象管理;
3)wherever.sysframe.system:系统体系,定义了SICS的核心规则,包括系统结构规范,资源共享规范,应用间协作规范,访问控制规范;
4)wherever.sysframe.realism:系统基础,它为基于SICS的应用开发提供了一些基本支持,也仅用于SICS自身及相关服务的开发,不对外公开;
5)wherever.sysframe.provider:主要定义了各种对象的存储规则,以适应不同的发布要求,同时,这个包也允许(但是通常不需要)由开发人员直接使用;
6)wherever.sysframe.engine:系统的实际实现,对于开发人员来说,这个包几乎是完全不可见的。
7)wherever.sysframe.oprview:定义了一些常用的操作界面,允许二次开发,但是通常仅用于SICS及相关服务的界面开发,对一个实际外部应用来说也没什么必要性;
8)wherever.sysframe.manager:定义了SICS的管理界面,由SICS的作者负责维护,不提供二次开发。
9)wherever.sysframe.layers:综合我自己的程序设计经验,所定义的一套分层结构规则,它们基本上都是一些规范接口或者声明性质的接口,以建立外部应用的访问规则。SICS自身不直接使用这些规则。
10)wherever.sysframe.service:为基本的数据链路定义了一个规范性的实现规则,以避免系统整合所导致的接口冲突,在基于SICS的服务实现过程中通常需要遵守这个规则;
11)wherever.sysframe.toolbox:建立了一些通用对象,包括实现SICS的基本扩展(例如类装载器)和常用组件(例如SOCKET客户网关),等等。它们主要用于应用开发;对于SICS自身来说它不是必要的,
12)wherever.sysframe.bootup:用于启动SICS,它可以被直接使用,例如创建SICS实例以实现其嵌入(在其它外部系统中)运行模式。
此外,作为一个应用框架,考虑到应用开发的实际情况,为了避免外部应用在定义过程中可能出现的接口冲突,SICS还补充定义了一些建议性的规范接口,它们完全是为外部应用设计的,SICS完全不使用它们。这样的包包括:
13)wherever.sysframe.object:相对concept和system,这个从另一个角度定义了复杂对象的管理和部署规则,这个包
所涵盖的语义非常复杂,目前也仅有SICS的一个原生服务LightRpc可以直接支持这样的模型。所以我衷心祝愿大家永远不要碰到类似的应用体系!如果
有一天您碰到了,那么我也衷心祝贺你,因为这说明你已经是一个顶尖的程序员了!
14)wherever.sysframe.message:它定义了一个基于消息的系统通讯和处理模型。从系统语义的角度考虑,它和SICS几乎八竿子
也打不着!但是,这类应用的市场非常广大,从系统扩展性角度考虑,SICS不得不为这类应用做好准备:建立一个规范语义,考察SICS的框架模型是否可以
兼容这类模型!
这个就是SICS的整体结构,描述的比较简单,也略显零乱,所以再归纳一下吧:
1)作为应用系统开发人员,您只需要关心(2)、(3)、(9)、(12)就足够了,重点是(3);
2)如果您是系统底层开发人员,那么您需要关心(2)、(3)、(9)、(10),对(11)也要有基本的了解;
3)如果您是系统分析师,那么您可能还需要关心(5);对于(13)、(14)这两个建议规范,如果有兴趣您可以使用它们,但不是必需的。
分享到:
相关推荐
SICS(System Interface Command Set)指令集是梅特勒天平与外部设备进行通信的一种标准化方式,它允许用户通过计算机或其他设备控制天平,获取测量数据,实现自动化工作流程。本文将详细解析梅特勒天平SICS指令集...
PLC作为自动化控制系统的核心,其编程和指令的发送都是通过编写梯形图程序来实现的。仪表接收PLC的指令后,会进行相应的数据处理,并将结果返回给PLC,从而实现了数据的双向传输。 在PLC的配置方面,GX Developer...
第2.1章节详细描述了SICS协议中命令的格式结构,包括命令头、参数和结束符等组成部分。第2.2章节则讲解了设备对命令处理后的响应格式,通常包括状态码、数据和结束标识。第2.3章节为程序员提供了编写SICS协议程序的...
SICS是完全模块化和高度参数化的产品,系统非常容易使用,支持及时按业务需求不断改变系统。用户可以在核心的卡管理模块外选择外围的功能模块,以丰富系统的功能。用户也可根据他们的业务需求将卡系统与其他系统连接...
ECE缝合引起的术后散光在51.5%的患者中在屈光度在2-4屈光度之间,在SICS中在73.91%的屈光度在0.5屈光度与2屈光度之间。 使用SICS,早期无需矫正的视力会更好。 结论:在这项白内障手术的比较研究中,我们注意到两...
Const LINE_DTR = 2 Const LINE_RTS = 3 ' Input Control Lines (CommGetLine) Const LINE_CTS = &H10& Const LINE_DSR = &H20& Const LINE_RING = &H40& Const LINE_RLSD = &H80& Const LINE_CD = &H80& '-------...
此时可以利用MT-SICS 2R标准级中的**SRU**命令(在偏差之后利用当前显示的单位发送稳定的重量值),结合适当的编程逻辑,实现实时数据传输和记录。 #### 六、故障排查指南 当遇到MT-SICS通信问题时,可以按照以下...
- **MT-SICS2 version 2.3x**:适用于Basic-S型号以及AL/PL/PL-S型天平。 - **MT-SICS3 version 2.2x**:同样适用于Basic-S型号以及AL/PL/PL-S型天平。 #### 基本信息 在正式介绍命令之前,我们先了解一下数据交换...
mt-sics 使用Mettler Toledo标准接口命令集(MT-SICS)的Mettler Toledo的node.js接口库进行平衡和缩放。 安装 安装使用软件包管理器。 安装npm后只需键入以下命令。 npm安装mt-sics 梅特勒-托利多RS232设置 波特...
【SICS-crx插件】是一款专为葡萄牙语(巴西)用户设计的浏览器扩展程序,其主要功能是针对WebSICS平台提供优化和支持。这款插件的目的是在辅助计算保险后,帮助用户在已经计算的预算中定位并管理Colo安全相关的项目...
综上所述,Contiki 2.x 手册是一份全面的技术文档,不仅涵盖了系统的架构设计和核心功能,还提供了详细的开发指南和丰富的示例代码,对于希望深入了解和应用 Contiki 操作系统的开发者来说是非常宝贵的资源。
前几天做托利多IND245仪表通信,发现托利多IND245仪表网口或串口与PLC200SMART通信只有状态字,没有控制字,所以只能远程读重量而不能执行清零操作,想要远程清零只有托利多的标准SICS协议具备,没办法,只好自已用...
MT-SICS 0级别的命令格式适用于基本的电子天平操作,MT-SICS 1级别的命令格式适用于高级的电子天平操作,MT-SICS 2和MT-SICS 3级别的命令格式则适用于 Excellence 平衡天平的高级操作。 响应格式 梅特勒托利多电子...
作者:Adam Dunkels adam@sics.se
让查阅API 函数变的更简单,容易,也更有效。
在本文中,我们将深入探讨如何使用MC55进行TCP通信,这是一个在网络编程中至关重要的部分。 首先,MC55能够作为TCP的客户端和服务器端,这意味着它可以发起连接请求(客户端模式)或者等待连接请求(服务器端模式)...
SICStus Prolog是一款强大的Prolog编程环境,由瑞典计算机科学研究所(SICS)开发。它提供了完整的开发工具集,包括编译器、调试器、性能分析器以及丰富的库支持,广泛应用于人工智能、自然语言处理、逻辑编程等多个...
2. I **climbed** a famous mountain.(我爬了一座名山。) 3. I went **back** to my hometown.(我回到了我的家乡。) 4. Did you see the **Ice** and **Snow** Festival?(你看到冰雪节了吗?) 5. **Show** me ...
3. 在D盘中建立一个新的目录(如“STATDRV”),然后将找到的SATARAID驱动程序文件全部拷贝到这个目录中(D:\SATADRV)。 编辑“txtsetup.sif”文件 1. 打开“D:\XPSATA\I386”文件夹,找到一个名为“txtsetup.sif...