法克是什么意思| 成都市花是什么花| 妨子痣是什么意思| 肺气肿是什么病严重吗| 头孢长什么样图片| 送男孩子什么礼物比较好| chocker是什么| 酷暑是什么意思| 嘴角烂了是什么原因| hcg是什么激素| 脉弱是什么原因导致的| 女生发个wink什么意思| 催乳素偏高有什么影响| 养精蓄锐是什么意思| 胃泌素高是什么原因| 肛门上长了个肉疙瘩是什么原因| 家里来猫是什么征兆| 中国文联是什么级别| 国防部部长什么级别| 澳大利亚有什么特产| 破瓜年华是什么意思| 经常的近义词是什么| 老人流口水是什么原因| 大红袍茶属于什么茶| 梦见鼻子出血是什么意思| 后脑勺疼痛什么原因引起的| 怀孕两个星期有什么反应| 讲究是什么意思| 女人手脚发热吃什么药| 为什么记忆力很差| 看男性性功能挂什么科| 经常喝苏打水有什么好处和坏处| 糜烂型脚气用什么药| esr是什么| 冬瓜为什么叫冬瓜| 为什么说金克木生财| 科普一下是什么意思| 核辐射是什么| 鱼油吃多了有什么副作用| 阴道里面痒用什么药| 怀孕了吃什么药能流掉| 肝郁吃什么药| 浑身痒是什么原因| 看见乌鸦有什么预兆| 幽门螺旋杆菌是什么病| hpv51阳性是什么意思| 沙和尚的武器叫什么| 头发白缺什么| 频繁放屁是什么原因| 长时间憋尿会有什么影响| 斑秃吃什么药效果好| 破瓦法是什么| 什么食物是发物| 假正经是什么意思| 铲子是什么意思| 为什么会长寻常疣| dvf是什么品牌| 补气血用什么泡水喝| 肠胃炎不能吃什么| 瞅瞅是什么意思| 谣言是什么意思| 朕是什么时候开始用的| 叶酸什么时间段吃最好| 时蔬是什么意思| 什么少年| 囊肿是什么| 京东自营店是什么意思| 做nt挂什么科| 25羟维生素d测定是什么| 白眼狼什么意思| 男人遗精是什么原因| 皮肤细菌感染用什么药| 胃湿热吃什么药| 男性阴囊瘙痒是什么病| 微醺是什么状态| 口臭是什么原因引起| 什么是宫颈息肉| 老人嗜睡是什么原因| 脑梗有什么后遗症| 天蝎座喜欢什么样的女生| 黄金的动物是什么生肖| 大便出血吃什么药好得快| 芳心暗许什么意思| 64是什么| 木灵念什么| 1030是什么星座| 血儿茶酚胺是查什么的| 腐女是什么意思| 1600年是什么朝代| 送朋友鲜花送什么花| 什么叫双向情感障碍| 非典是什么病| 新生儿甲状腺偏高有什么影响| 集体户口什么意思| 眼睛干涩疼痛用什么滴眼液好| 荨麻疹挂什么科| 肛门潮湿是什么情况| 述说是什么意思| 胰岛素抵抗是什么意思| 三级医院是什么意思| 喝酒喝吐了用什么缓解| 缠头是什么意思| 糙米是什么| 血糖高吃什么菜| 疖肿是什么| 为什么新生儿有胎记| 人言可畏什么意思| 鸡蛋黄发红是什么原因| 偶是什么意思| 壁报交流是什么意思| 暮春是什么时候| 开眼镜店需要什么设备| 825是什么意思| 胸部周围痒是什么原因| 黄帝姓什么| 儿童病毒感染吃什么药| 为什么叫印度三哥| 宝是什么生肖| hp检查是什么意思| 骨蒸是什么意思| 孕妇梦见很多蛇是什么意思| 中暑喝什么好| 02属什么| 拔罐对身体有什么好处| 梦见已故的父母是什么兆头| 2倍是什么意思| 自身免疫性疾病是什么意思| 长粉刺是什么原因| 蔬菜都有什么| 鸟屎掉身上有什么预兆| model是什么品牌| 支气管舒张试验阳性说明什么| 什么给我带来快乐| td是什么意思| 色盲色弱是什么意思| 吾日三省吾身是什么意思| 3月5日什么星座| 挪车打什么电话| 黄埔军校现在叫什么| 经常口腔溃疡吃什么药| 类风湿不能吃什么| vps是什么| 静脉曲张有什么危害吗| 屋尘螨和粉尘螨是什么| 吃了虾不能吃什么| 谷雨是什么时候| 小仙女什么意思| 伊维菌素是什么药| 心阳虚吃什么药| 四什么八什么的成语| 皮肤上出现小红点是什么原因| 派大星是什么动物| 什么是名媛| 尿微量白蛋白高是什么意思| 氯偏高是什么原因| 潜血是什么意思| 免疫五项能查出什么病| npc是什么意思| 59年属什么生肖| 就不告诉你就不告诉你是什么儿歌| 夏天猪骨煲什么汤最好| 暧昧是什么意思| 命运是什么意思| 旦上面加一横是什么字| 水瓶座前面是什么星座| 猪肚炖什么| 最近老是犯困想睡觉是什么原因| 6月22是什么星座| 人生巅峰是什么意思| 农历5月17日是什么星座| 什么时候收复台湾| 风言风语是什么意思| 胃炎能吃什么| 肺部有结节要注意什么| 洗衣机什么牌子最好| 免签国家是什么意思| 为什么月经会提前来| o型rhd阳性是什么意思| 舌苔有裂纹是什么原因| 梅毒是什么症状| 孕妇尿路感染吃什么药| 困惑是什么意思| 老年人吃什么| 黑镜讲的是什么| 世界上最长的英语单词是什么| 树冠是指什么| 糖类抗原125偏高说明什么| 一躺下就咳嗽是什么原因| 什么是低碳饮食| 郭富城属什么生肖| 射手座喜欢什么样的女生| 吃什么能增强记忆力| 小孩白细胞高是什么原因| 猫什么时候绝育| 扁桃体发炎用什么药| 华人是什么意思| 嚼舌根是什么意思| 喜欢吃肉的动物是什么生肖| 总胆固醇低是什么原因| 多肉是什么| leg是什么意思| 结婚10年是什么婚| 女性肝阳上亢吃什么药| 腕管综合征挂什么科| 胸贴是什么| 肝炎是什么原因引起的| 2月19日什么星座| 鸡肾炒什么配菜好吃| 殇什么意思| 小壁虎进家有什么预兆| 控制血糖吃什么食物| 柴米油盐什么意思| 60年属鼠是什么命| 1932年属什么生肖| 美团和美团外卖有什么区别| 弦子为什么嫁给李茂| 椎管狭窄吃什么药| b2b是什么意思| 硝石是什么| 侍中是什么官| 梦到鱼是什么意思| 心脏不好吃什么药最好| 锋芒毕露是什么意思| 体感是什么意思| 滑膜炎吃什么药好| 苍龙七宿的秘密是什么| 日本古代叫什么| 钾高是什么原因引起的| 沙门氏菌是什么| 湿气重的人适合吃什么| 睾丸萎缩是什么原因| 同妻是什么意思| 17岁属什么| 苹果手机用的什么系统| 罚金属于什么处罚| 口臭严重是什么原因| face是什么意思| 痛经喝什么可以缓解| 蝎子怕什么| 什么的流着| 婚检都查什么| 体重下降是什么原因| 肥猪拱门是什么生肖| 出生医学证明有什么用| 经常头昏是什么原因| 人设什么意思| 晚上9点到10点是什么时辰| 梅花鹿吃什么食物| 英寸是什么单位| 颈椎头晕吃点什么药| 小三什么意思| 为什么会得肿瘤| 海灵菇是什么| 检查怀没怀孕挂什么科| 三七草长什么样| 自给自足是什么意思| 气虚血瘀吃什么中成药| 高就什么意思| 旭五行属什么| 静脉是什么意思| 脑梗前有什么征兆| 吴五行属什么| 愤是什么生肖| 血常规血红蛋白偏高是什么原因| 百度Jump to content

2017年肠道微生态与健康专题研讨会在京...

From Wikipedia, the free encyclopedia
百度 责任编辑:声明:版权作品,未经《环球人物》书面授权,严禁转载,违者将被追究法律责任。

In feature-oriented software development, feature-oriented software development program cubes (FOSD program cubes) are n-dimensional arrays of functions (program transformations) that represent n-dimensional product lines. A program is a composition of features: a base program is augmented with increments in program functionality, called features, to produce a complex program. A software product line (SPL) is a family of related programs. A typical product line has F0 as a base program, and F1..Fn as features that could be added to F0. Different compositions of features yield different programs. Let + denote the feature composition operation. A program P in SPL might have the following expression:

P = F8 + F4 + F2 + F1 + F0

That is, P extends program F0 with features F1, F2, F4, and F8 in this order.

We can recast P in terms of a projection and contraction of a 1-dimensional array. Let Fi = [F0 .. Fn] denote the array of features used by a product line. A projection of Fi eliminates unneeded features, yielding a shorter array (call it) Gi. A contraction of Gi sums each Gi in a specific order, to yield a scalar expression. The expression for P becomes:

where the index values accomplish projection and summation is array contraction. This idea generalizes to n-dimensional arrays that model multi-dimensional product lines.

Multi-dimensional product lines

[edit]
A 2-D Product Line (or Cube)

A multi-dimensional product line is described by multiple interacting sets of features.[1] [2] [3] [4] As an elementary 2D example, it is easy to create a product line of calculators, where variants offer different sets of operations. Another variation might offer different presentation front ends to calculators, one with no GUI, another with a Java GUI, a third with a web GUI. These variations interact: each GUI representation references a specific calculator operation, so each GUI feature cannot be designed independently of its calculator feature. Such a design leads to a matrix: columns represent increments in calculator functionality, and rows represent different presentation front-ends. Such a matrix M is shown to the right: columns allow one to pair basic calculator functionality (base) with optional logarithmic/exponentiation (lx) and trigonometric (td) features. Rows allow one to pair core functionality with no front-end (core), with optional GUI (gui) and web-based (web) front-ends.

An element Mij implements the interaction of column feature i and row feature j. For example, the element labeled cb is a base program that implements the core functionality of a calculator. Element gb adds code that displays the core functionality as a GUI; element wb adds code that displays the core functionality via the web. Similarly, element ct adds trigonometric code to the core calculator functionality; elements gt and wt add code to display the trigonometric functionality as a GUI and web front-ends.

A calculator is uniquely specified by two sequences of features: one sequence defines the calculator functionality, the other the front-end. For example, calculator C that offers both base and trig functionality in a web format is defined by the expression:

Note: Each dimension is a collection of base programs and features. Not all of their compositions are meaningful. A feature model defines the legal combinations of features. Thus, each dimension would have its own feature model. It is possible that selected features along one dimension may preclude or require features along other dimensions. In any case, these feature models define the legal combinations of features in a multidimensional product line.

Cubes

[edit]

In general, a cube is an n-dimensional array. The rank of a cube is its dimensionality. A scalar is a cube of rank 0, a vector is a cube of rank 1, and a matrix is rank 2. Following tensor notation: the number of indices a cube has designates its rank. A scalar S is rank 0 (it has no indices), Vk is a vector (rank 1), Mij is a matrix (rank 2), Cijk is a cube (rank 3).

Program Cubes are n-dimensional arrays of functions (program transformations) that represent n-dimensional product lines. The values along each axis of a cube denote either a base program or a feature that could elaborate a base program. The rank of a product line is the rank of its cube.

Note: program cubes are inspired by tensors and data cubes in databases. The primary difference is that data cube elements are numerical values that are added during cube contraction; program cube elements are transformations that are composed. Both use tensor notations and terminology.

A program in an n-dimensional SPL is uniquely specified by n sequences of features S1..Sn, one per dimension. The design of a program is a scalar (expression) that is formed by (1) projecting the cube of its unneeded elements, and (2) contracting the resultant kcube to a scalar:

Program generation is evaluating the scalar expression to produce program P.

An interesting property of cube design is that the order in which dimensions are contracted does not matter—any permutation of dimensions during contraction results in a different scalar expression (i.e. a different program design), but all expressions produce the same value (program). For example, another expression (design) to produce calculator C contracts dimensions in the opposite order from its original specification:

C = Mcb + Mwb + Mct + Mwt

Or more generally:

Note: Underlying cube designs is a commutative diagram, such that there are an exponential number of paths from the empty program 0 to program P. Each path denotes a particular contraction of a cube, and corresponds to a unique incremental design of P. Included among these paths are cube aggregations that contract cubes using different dimensional orders.

The significance of program cubes is that it provides a structured way in which to express and build multi-dimensional models of SPLs. Further, it provides scalable specifications. If each dimension has k values, an n-cube specification of a program requires O(kn) terms, as opposed to O(kn) cube elements that would otherwise have to be identified and then composed. In general, cubes provide a compact way to specify complex programs.

Applications

[edit]

The expression problem (a.k.a. the 'extensibility problem) is a fundamental problem in programming languages aimed at type systems that can add new classes and methods to a program in a type-safe manner.[5][6][7][8] It is also a fundamental problem in multi-dimensional SPL design. The expression problem is an example of an SPL of rank 2. The following applications either explain/illustrate the expression problem or show how it scales to product lines of large programs. EP is really a SPL of ~30 line programs; the applications below show how these ideas scale to programs of >30K lines (a 103 increase in size).

Also, FOSD metamodels can be viewed as special cases of program cubes.

References

[edit]
  1. ^ "Generating Product-Lines of Product-Families" (PDF). Archived from the original (PDF) on 2025-08-07.
  2. ^ "Refinements and Multi-Dimensional Separation of Concerns" (PDF). Archived from the original (PDF) on 2025-08-07.
  3. ^ "Scaling Step-Wise Refinement" (PDF). Archived from the original (PDF) on 2025-08-07.
  4. ^ "Evaluating Support for Features in Advanced Modularization Technologies" (PDF). Archived from the original (PDF) on 2025-08-07.
  5. ^ User-defined types and procedural data structures as complementary approaches to data abstraction. MIT Press. 12 August 1994. pp. 13–23. ISBN 9780262071550.
  6. ^ "Object-Oriented Programming versues Abstract Data Types" (PDF).
  7. ^ "The Expression Problem".
  8. ^ "Synthesizing Object-Oriented and Functional Design to Promote Re-Use".
飞蚊症是什么原因造成的能治愈吗 1902年属什么生肖 济公原名叫什么 表达什么意思 梦见中奖了预兆什么
血压高吃什么水果 丈夫的弟弟叫什么 卡路里是什么意思 去皱纹用什么方法最好和最快 双向情感障碍是什么病
料酒是什么酒 心脏缺血吃什么补得快 握手言和是什么意思 葡萄籽什么牌子效果好 蟋蟀吃什么食物
25年是什么婚 吃冰糖有什么好处和坏处 颈椎病用什么枕头最好 王不见王是什么意思 十一朵玫瑰花代表什么意思
ts和cd有什么区别hcv7jop9ns9r.cn 额头上长痘痘什么原因hcv9jop6ns9r.cn 中药学专业学什么hcv9jop2ns7r.cn 为什么会流鼻血1949doufunao.com 麻是什么hcv9jop5ns3r.cn
烤乳猪用的是什么猪hcv8jop7ns7r.cn 产后为什么脸部松弛tiangongnft.com 杀青是什么意思hcv9jop0ns8r.cn 四大天王是什么生肖hcv8jop0ns1r.cn ct是什么检查hcv8jop6ns7r.cn
身份证借给别人有什么危害性hcv8jop5ns7r.cn 什么样的山yanzhenzixun.com 李子不能和什么一起吃hcv8jop3ns7r.cn 什么是美尼尔氏综合症hcv9jop5ns0r.cn tspot检查阳性能说明什么hcv9jop4ns0r.cn
8月12日是什么星座sanhestory.com 吃海鲜忌什么hcv9jop3ns4r.cn 胃痉挛吃什么药hcv8jop5ns4r.cn 摆子是什么意思hcv7jop6ns5r.cn 立夏节吃什么wuhaiwuya.com
百度