Advertisement
Dimension

Brainstorm zu Semantic Code

Dec 10th, 2011
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.31 KB | None | 0 0
  1. future computing includes new technologies like code abstraction,
  2. recursively generating and self-modifying programs, code analysis
  3. and environments for simplified development of complex solutions.
  4.  
  5. Syntax-free development environments will support multi-dimensional
  6. code linking and significantly increase the productivity and quality
  7. of software development.
  8.  
  9. ______________________________________________________________________
  10.  
  11. Advantages of Code Generation Technology:
  12.  
  13. Search free available generic solutions
  14. Interchange between architectures, devices and programming languages
  15. Access code and support custom modifications
  16. Benefit from higher development productivity
  17. Increase complexity and involve AI in production
  18. Load and execute native sandbox code
  19. Update software during execution
  20.  
  21.  
  22. ### Code Linking Levels:
  23.  
  24. ## Control:
  25. Control flow
  26. Value expression, parameter references
  27. Native thread control
  28. State control
  29.  
  30. ## Data:
  31. Data, stack, heap access
  32. String
  33. Internationalization
  34. Supported query strings (SQL, regex, ...)
  35. DB model, relation, hierarchy, dependency
  36. Graphical component tree
  37. State data, history log
  38. Code to generate at runtime
  39. Code path (search pattern, navigate)
  40. Various supported/generic structures and models accessible
  41.  
  42. ## Structure:
  43. Type
  44. Class hierarchy, inheritance, interfaces
  45. Organize, fold, bookmark
  46. Constant tables
  47. Code abstraction, dynamic scope data access
  48. Code version, specialized alternatives, parallel implementation
  49. Optional parts, alternatives (construction kit, avoid overhead, ...)
  50. Target language specific, platform specific, language native code
  51. Profiles (release, debug, various tests, ...)
  52. Development status (alpha, beta, release, ...)
  53. State scope, trace resolution (trace overhead, performance)
  54. Distributed execution (distributed architecture, client server, ...)
  55. Maintained custom modification points
  56. Tests, documentation, external links
  57. Machine readable information, "scripted" conventions, suggestions
  58.  
  59. ## Event:
  60. Event, exception, message, callback
  61. Events for data access (constructor, destructor, getter, setter, ...)
  62. Events for arbitrary cases
  63. State restore event (init GUI, ...)
  64.  
  65. ## Advanced:
  66. Thread priority (real, user interface, background, ...)
  67. Multi processor code splitting, balancing
  68. File/variable sync, persistence sync, frequent state backup
  69. Data read only, append only (ROM, log, ...)
  70. GUI views, sub views, represent internal structures
  71. Data/functional focus, limitation, restriction
  72. User accounts, access permission
  73. Security levels (CPU ring, operating system, ...)
  74. Sandbox
  75.  
  76.  
  77. ### Analytic:
  78. Double linked, deep path tracking (up, down, all coherences)
  79. Data dependency (state hierarchy, thread sync, ...)
  80. Data/functional path, dependency
  81. Thread flow bounds, recursion
  82. Central implementation search, branch relevance
  83. Test status, combinations, paths
  84.  
  85.  
  86. ### Component:
  87. Convenient plug-in, linking, configuration
  88. Automatic linking, configuration, integration check
  89. Multiple level connectors, optional parts, alternatives
  90. High level programming and administration
  91.  
  92.  
  93. ### Details:
  94.  
  95. Some "levels" simply add a property, others duplicate all other levels
  96. like a new dimension. Root dimension, shared configuration,
  97. inheritance.
  98.  
  99. Entire code defined as JSON-like objects w/ string keys. Double-linked
  100. references w/ optional order, substructure, direction or attributes.
  101. Except of the basic target language implementation, all other
  102. properties are optional and modify the result. Symbol names COULD be
  103. omitted or replaced w/ short text. Named references instead of
  104. ordered function parameters and return values.
  105.  
  106. Extensible levels and programming elements, modular generating based
  107. on separate feature generation. Generated tree w/ compilation log,
  108. mutual output module integration. Elements represented by string
  109. properties in all processing states.
  110.  
  111. Import and output modules for Java and C++. Algorithms and function
  112. bodies should import cleanly. User interface, event handling, API
  113. calls, templates and generics may convert inaccurately. Emulates
  114. functions on limited architecture capability.
  115.  
  116. Technology core and modules should be implemented in clean importing
  117. Java or the technology itself, using basic language elements
  118. respectively.
  119.  
  120. Transform code by algorithm, search pattern w/ full code access. Check
  121. convention and specification compliance. Compare code and view
  122. differences by branch. Upgrade and change to new technologies
  123. automatically.
  124.  
  125. Convenient component use, immediately working w/ default settings.
  126. Additional properties configurable. High level administration of
  127. complex systems. Display internal structures directly w/ editor
  128. toolkit. Live trace or trace recording and stepwise playback.
  129. Context-related structured debug/log output.
  130.  
  131. Secure "sandbox" code generation, software/hardware security support,
  132. limited environment access, nestable, also full emulation possible.
  133. Convenient for plugins, extensions, scripting and web content.
  134.  
  135. Native filesystem access. Type independent serialization support.
  136. Native distributed architecture intercommunication.
  137.  
  138. Code and types are treated as values and can be assigned to variables.
  139. Abstract code can be passed to other code. Call abstract code within
  140. abstract code w/ arbitrary parameters. All code is accessible like
  141. JSON objects and can be discovered, modified, serialized and
  142. verified at runtime. Access restriction allows monitoring and
  143. validating remote or sandbox systems w/o security leak.
  144.  
  145. Future targets include: virtual machine, operating system, hardware
  146. architecture, nano mechanics.
  147.  
  148.  
  149. ### Productivity:
  150. Target software integrates editor, editor and compiler customization
  151. Save user input instantly, full editor history log and access
  152. Team: Convenient revision control, live team development
  153. Rapid: Safe development on running live system
  154. Parallel version execution, live testing
  155. Parallel GUI merge (testing, code integration, system change, ...)
  156. Parallel DB difference images
  157. Safe testing and error handling, track all influence, rollback
  158. Generic solution DB, search, compliance check, feedback, statistics
  159. Solutions customizable and extendable through full code access
  160. Convenient custom modification w/ exact tracking
  161. Submit custom modification to project
  162. Organize and exchange parallel projects
  163.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement