Stories
Slash Boxes
Comments

SoylentNews is people

posted by on Friday April 10 2015, @01:21AM   Printer-friendly
from the stay-on-my-lawn-for-a-long-long-time dept.

From the phys.org article:

As modern software systems continue inexorably to increase in complexity and capability, users have become accustomed to periodic cycles of updating and upgrading to avoid obsolescence—if at some cost in terms of frustration. In the case of the U.S. military, having access to well-functioning software systems and underlying content is critical to national security, but updates are no less problematic than among civilian users and often demand considerable time and expense. That is why today DARPA announced it will launch an ambitious four-year research project to investigate the fundamental computational and algorithmic requirements necessary for software systems and data to remain robust and functional in excess of 100 years.

The Building Resource Adaptive Software Systems, or BRASS, program seeks to realize foundational advances in the design and implementation of long-lived software systems that can dynamically adapt to changes in the resources they depend upon and environments in which they operate. Such advances will necessitate the development of new linguistic abstractions, formal methods, and resource-aware program analyses to discover and specify program transformations, as well as systems designed to monitor changes in the surrounding digital ecosystem. The program is expected to lead to significant improvements in software resilience, reliability and maintainability.

DARPA's press release and call for research proposals.

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Interesting) by VortexCortex on Friday April 10 2015, @07:35AM

    by VortexCortex (4067) on Friday April 10 2015, @07:35AM (#168659)

    Every problem in Computer Science can be solved by adding another layer of indirection.

    So you just place a shim between the software and the operating environment/hardware: A virtual machine.

    You write code to the VM's opcode and every system it runs on needs a VM implementation (like how you need a compiler on new platforms for native languages). This solves the need to rewrite software (including the compiler if it's self hosting). The problem with this approach is that it requires additional computation. Interpreted bytecode uses additional CPU at runtime for each operation translated. JiT (Just in Time) compilers use additional CPU to translate parts or whole programs into native code at runtime. AoT (Ahead of Time) compilers translate bytecode once before runtime.

    My compiled language's VM uses Install Time linking with cached AoT translation, so it only uses additional CPU once at install time. Like LLVM my VM can target multiple hardware types. Unlike LLVM my VMs "intermediary opcode"(bytecode) can also run as-is interpreted too. This allows sandboxing even when hardware lacks the feature (e.g. 8x86 [un]real mode). I can also translate code into another language, like C, C++, Delphi, Perl, PHP, Lua, Java, Javascript (ASM.js), (and more) and run it given the specific small core runtime for the target lang is implemented. I can build and deploy my entire product line on a new platform in two to four weeks while the fools who are still NOT writing code in a meta language are still trying to port "Hello Database Connection" to $NEW_LANG. A self hosting VM is a much different beast than a self hosting compiler. It took a over a decade to build, and still gives me the edge over teams of young whipper snappers. When I retire I'll release the code in damn near every lang including $ANY: A bootstrap from a simple subset of opcodes which once implemented (in "native" code) can emulate a full VM stack that's been translated to said subset (Thus allowing one to evade the Ken Thompson Compiler Hack [bell-labs.com]).

    I also have a VM based on Babbage’s Analytical Engine. In the early 1840s Ada Lovelace wrote the first algorithm meant to run on a machine and it still runs today, even though the machine she wrote it for was never completed, thanks to VMs. There's one requirement met. It's time to stop reinventing wheels. VM langs like Java and Perl6 exist, along with their API libraries. What more could they want? To take it to the next level? Then a self hosting Turing complete machine is the only fundamental computational algorithm required. Just look in any living cell... On computers the parallel would be a self hosting VM -- a compiler is only subset of this mechanism and is tied to the hardware unless its for a VM (which is tied to hardware unless the VM is self hosting, hence the dual interpreted and compilable bytecode). All programs (even DNA) need an environment to run in. With C, GNU+Linux, and an emulator written in C you can a kludge together a self hosting VM. I've tightened and optimized this loop to more efficiently harness the power of the same fundamental & essential cybernetic system that life itself uses.

    IMO, Code should never be distributed as native machine opcodes (Hence MRNA vs DNA). Bytecode as an intermediary format can be translated & linked into OPTIMAL native code for the specific machine once upon install. Source based distros like Gentoo can be said to use C as an intermediary opcode. If your OS is not a compiler, you're doing it wrong since you let hardware specifics (machine code specs) leak into user-space (you'll make a virus-like ecosystem instead of a single self procreating life). The main problem with todays OSs is that the last step from compiled intermediary code should be the OSs job; Otherwise the hardware / software barrier has been breached, and the OS can not ensure its programs are valid (like DNA's per-duplication error correction does). The OS / VM level code between the two I dub neither hard nor soft but Wetware.

    Nature taught me everything I need to know about what works for sustainable cybernetic systems.

    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 1) by lizardloop on Friday April 10 2015, @12:38PM

    by lizardloop (4716) on Friday April 10 2015, @12:38PM (#168720) Journal

    I like your post although I feel like I didn't full understand.

    You're essentially saying Darpa needs to start writing everything in Perl and Java?