Abstract :
Complex systems of the future will often comprise networks of distributed programmable parts without centralized control over the programming of the parts. In other words, programming will happen at the edge. In this position paper I suggest that edge programming will create interesting and important problems for the field of software design and engineering. Chief among them will be to maintain conceptual integrity, thus ease of use, software quality, thus system dependability, and a coherent global view, thus system understandability and analyzability (at some level) in the absence of what to now has been a centralized control paradigm of software development. Edge programming is related to but distinct from end-user programming and from open-source development.
Keywords :
parallel programming; software quality; centralized control; complex systems; distributed programmable networks; edge programming; end-user programming; open-source development; software design; software development; software engineering; software quality; system analyzability; system understandability;