一、概要说明
用户语言起源于基础逻辑语句,是为了缩短开发周期,快速实现业务功能,在电力系统维护环境中应运而生。用户语言特有的接近于口语化的逻辑语句,能让不懂开发技术的用户实现自己对业务需求的配置。用户仅需要关注两部分的内容——条件和动作,条件满足就执行动作,条件与动作的逻辑是由行业的专业术语以及口语化的逻辑组成。
二、语言优势
用户语言对于用户、开发者和项目管理人员具有多重好处和优势,主要体现在以下方面。
- 用户 · 易懂易用 · 灵活应对需求 · 深度定制个性化要求
- 开发者 · 一种新的软件工程分析方法 · 降低工作量
- 项目管理 · 减少开发、维护人工成本 · 降低时间成本
三、 用户语言架构
用户语言发展至今,从用户到底层自上而下形成了一套特有的体系架构,具体分为四个层次:分别是体验层、领域层、User层和函数层。服务于全体用户的体验层,支撑体验层应用实现的领域层,语言内核User层和功能组件函数层,详细介绍如下:
1.体验层
体验层是指与用户操作体验相关的内容输出,主要包括:移动App、用户语言项目管理工具、用户语言通用IDE和行业定制IDE等。其中面向普通用户使用的App,如:优大厨、云锁;面向系统管理员或开发者使用的项目管理工具,面向行业专业调试人员使用的定制IDE。
2. 领域层
领域层是指支撑各行业产品体验层输出的领域标准能力和定制能力,以领域建模的模板和术语为主。
领域标准能力,是指某领域符合行业标准的应用模板和术语,如在电力防误领域,标准模板:电脑钥匙加载钥匙系统,标准术语:获取操作权限,防火门锁操作等。
领域定制能力,是指某项目实施过程中为相应某些独特需求而定制化开发的模板和术语,如在智慧厨房领域定制模板:使用优特智厨智能一体机炒菜,定制术语:三成油,盖锅盖等。
同时用户语言本身还提供了一些基础通用服务,如:消息推送、数据转换、数值计算等功能,便于开发者在定义领域模板的时候进行数据存取和处理。
3. User层
User层是指用户语言的内核的工具,分为编译和执行两部分。编译是指将用户语言源代码翻译为二进制机器语言代码的过程,根据应用场景不同可以分为本地编译和云编译。执行是指将编译后的目标代码在制定环境中运行的过程,同样执行也可以根据应用场景不同分为本地虚拟机执行和云执行。
本地编译器,通过动态库的形式提供给用户,在硬件设备、智能终端、移动设备上将源文件编译为目标文件,目前支持的操作系统有:linux,android,ucos。适用于MCU内存资源充足且运算能力强但无法访问公网的硬件设备,如:电厂内网的权限管理程序。
云编译,是用户语言提供的云端通用编译引擎。开发者用户或调试员用户可以通过调用云编译的API进行同步编译。适用于MCU资源紧张或依赖外部数据且可以访问公网的硬件设备,如:结算云、商业云服务。
本地虚拟机执行,以动态库加头文件的形式提供给用户,用户需要具备的C语言编译工具。适用于对执行效率要求高、低时延,不依赖外部数据的软件环境,如:智能炒菜一体机。
云执行,是用户语言提供的云端通用执行引擎。开发者用户或调试员用户可以通过调用云执行的API进行同步编译。适用于软件执行资源紧张或依赖外部参数且可以访问公网的软件环境,如:商业云服务。
4. 函数层
函数层是指各种函数功能的定义与导入。这里的函数又分为通用函数和功能函数两类,通用函数指的是由用户语言官方提供或认证的各种基础组件函数,如:用户中心的用户注册、用户登录、修改密码函数;设备管理服务的设备绑定、获取设备UID等函数。功能函数指的是实现某些行业功能、应用App或行业服务,通过注册或导入到用户语言函数库的函数,如:智能家居领域的固件升级、云锁应用App的钥匙管理、锁具管理等。
基本语法
- 数据类型
- 基本运算符
- 标识符
- 常量与变量
- 函数
- 类
- 表达式
- 语言语句
- 特殊元素
- 编译源文件
产品版本
一、版本历史
用户语言自2014年发布至今,经过6年积累沉淀,陆续在智能家居、智慧厨房和电力防误等领域应用,并持续升级,最新版本为V3.0。
二、版本兼容性
本文描述的用户语言默认版本为3.00.X,程序员可以使用用户语言通用IDE、优大厨App,智能家居定制IDE等工具来编辑语言文件。
当然,用户语言3.00.X支持向下兼容,版本1.0和2.0的大多数功能依然可以使用。如果有特殊情况会在使用限制中详细说明。
三、版本
与此同时用户语言V3.00已发布,用户语言V3.01已经完成了开发和内测,目前在UAT测试阶段,即将正式发布。