`
canonical
  • 浏览: 359402 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Meta Generation

阅读更多
      代码生成现在已经逐渐成为软件开发中的一种标准技术,在众多的软件领域都大大减轻了我们重复劳动的工作量。程序中总是存在着这样那样的隐蔽的关联,它们无法在通用的程序语言框架下得到明确的表达,代码生成是我们突破既定的语言和框架限制的一种重要手段。但是代码生成也存在着严重的弊病,一方面一般的程序语言在设计时没有考虑到和代码生成工具的相互配合,因此生成代码是一次性的,代码生成工具无法以增量的方式修正已经生成的代码。另一方面,程序的结构是复杂的,代码生成工具一般基于某种简化的通用的程序模型(例如CRUD)来产生代码,它无法承载完整的程序结构,因此代码生成后手工调整量仍然很大,有的时候甚至为了微小的界面调整,将生成的代码修改的面目全非,无法发挥代码生成的优势。
       在witrix平台中主要使用meta generation而不是code generation. meta实际上是对一种定制模型(model)的描述,它在某种意义上可以看作是完整程序的简化版本,但它本身并不意味着最终的程序结构。在witrix平台各处meta的使用都是可选的, 特别是在多变的前台页面,我们可以选择根据meta描述自动生成界面,也可以选择通过<df:Field name="字段名"/>来引用单个字段的meta数据. 在witrix平台中, meta可以看作是系统运行的内核, 它通过syncWithModel等属性与设计工具发生耦合. 当设计模型修改之后, 这种修改能够以增量的形式通过可控制(修改)的信道传播到系统各处.
分享到:
评论
1 楼 Godlikeme 2007-03-15  
greate idea,

相关推荐

    Next-Generation VoIP Network

    Authors: Paul Drew pd@metaswitch.com MetaSwitch Chris Gallon cgallon@ftel.co.uk Fujitsu

    How to build AutoML from scratch – Alexander Mamaev – Medium.pdf

    Code generation then has to rely on model-to-code transformations based of extensible stylesheet language transformations (XSLT). We propose a meta-model for WebML to bridge WebML to MDE. To ...

    arrow-meta:Kotlin编译器的功能伴侣

    rowrrow Meta是一个元编程库,可在所有阶段与Kotlin编译器合作,将其全部功能带给社区。 编写编译器插件,源代码转换,IDEA插件,linters,类型搜索引擎,自动代码重构等……只是Meta可以完成的一些。 rowRrow Meta...

    spike-cli-generation

    用npx hygen init self初始化Hygen后,我们可以使用为我们生成的new成器(因此meta)来创建我们自己的生成器。 我们npx hygen generator new primitive创建一个原语生成器,用所需的输出填充prim

    2020年机器学习深度学习下载地址.txt

    Conditional Generation by RNN & Attention P54. Pointer Network P55. Recursive P56. Transformer and its variant 选学 P57. Unsupervised Learning - Linear Methods P58. Unsupervised Learning - ...

    复杂网络《Complex Networks Principles Methods and Applications》

    Networks constitute the backbone of complex systems, from the human brain to computer communications, transport infrastructures to online social systems, metabolic reactions to financial markets....

    eclipse 内存溢出解决办法

    ermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分 用于存放Class和...

    xdoclet-1.2.1

    XDoclet is an open source code generation engine. It enables Attribute-Oriented Programming for java. In short, this means that you can add more significance to your code by adding meta data ...

    21天学会Java之(Java SE第四篇):Java虚拟机、垃圾回收机制

    文章目录Java虚拟机(JVM)JVM的基本结构类加载机制类的生命周期类加载器的种类类加载机制运行时数据区(内存分析)垃圾回收机制新生代(Young Generation)老年代(Old Generation)元空间(Meta Space) Java虚拟机...

    Machine.Learning.Optimization.and.Big.Data

    Machine Learning, Optimization, and Big ... Establishment of Optimal Control Strategy of Building-Integrated Photovoltaic Blind Slat Angle by Considering Interior Illuminance and Electricity Generation

    Thinking in LINQ

    LINQ-to-Reflection, you can do a lot of meta programming in .NET. ■ Introduction xxxii • Chapter 8: Exploratory Data Analysis This chapter shows how you can use LINQ to solve several data analysis ...

    Big Data in Omics and Imaging_Association Analysis-CRC (2018).pdf

    The next generation of genomic, sensing, and imaging technologies has generated a deluge of DNA sequencing, transcriptomes, epigenomic, metabolic, physiological (ECG, EEG, EMG, and MEG), image (CT, ...

    7篇论文CVPR2020.rar

    元迁移学习零样本超分:Meta-Transfer Learning for Zero-Shot Super-Resolution 3D室内场景理解:Total3DUnderstanding 从有偏训练生成无偏场景图:Unbiased Scene Graph Generation from Biased Training 视觉常识...

    matlab中洋红色代码-deeplearning:深度学习笔记

    Meta-Training with CNNs [] RNN & lstm 网络 手写数字识别[lstm_mnist_28x28x10.py] Caltech101分类-灰度[lstm_caltech_227x227x101L.py] 图片生成 -- DRAW: A Recurrent Neural Network For Image Generation by ...

    Metaprogramming Elixir(Pragmatic,2015)

    You'll continue your journey by using advanced code generation to create essential libraries in strikingly few lines of code. Finally, you'll create domain-specific languages and learn when and where...

    Agisoft Metashape Professional 1.5.3 Build 8407

    - Georeferncing based on EXIF meta data/flight log: GPS/GCPs data. - EPSG registry coordinate systems support: WGS84, UTM, etc. Georeferenced orthomosaic export - Georeferenced orthomosaic: most-GIS-...

    UML and the Unified Process.pdf

    performing process, process model, process metamodel and MetaObject facility. Sev- eral processes fit SPEM. The most popular of these is the Rational Unified Process (RUP), developed and marketed by ...

    网页制作完全手册

    You can prevent a document from being cached by adding the following meta tag to the document. <META HTTP-EQUIV="Expires" CONTENT="0"> Preventing the document from being cached ensures that a fresh ...

Global site tag (gtag.js) - Google Analytics