Mark S. Miller

Last updated
Mark
MarkM.jpg
NationalityAmerican
Other namesMark S. Miller, Mark Samuel Miller, MarkM
CitizenshipA
EducationBS in computer science from Yale in 1980; PhD Johns Hopkins 2006
Alma mater Johns Hopkins
Known for E (programming language), Object Capabilities, CAJA
Scientific career
Fields Computer Science
InstitutionsAgoric
Google
Xerox PARC
Hewlett-Packard Labs
Thesis Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control  (2006)
Doctoral advisor Jonathan Shapiro
Website http://erights.org

Mark S. Miller is an American computer scientist. He is known for his work as one of the participants in the 1979 hypertext project known as Project Xanadu; for inventing Miller columns; and the open-source coordinator of the E programming language. He also designed the Caja compiler. Miller is a Senior Research Fellow at the Foresight Institute. [1]

Contents

Miller earned a BS in computer science from Yale in 1980 and published his Johns Hopkins PhD thesis in 2006. [2] He is currently Chief Scientist at Agoric [3] and a member of the ECMAScript (JavaScript) committee. [4] Previous positions include Chief Architect with the Virus-Safe Computing Initiative at HP Labs, [5] and research scientist at Google between 2007 and 2017. [6]

Miller's research has focused on language design for secure open systems. At Xerox PARC, he worked on Concurrent Logic Programming systems and Agoric Open Systems. At Sun Labs, [7] (while working for Agorics, an earlier company with a similar name to his current employer) he led the development of WebMart, a framework for buying and selling computing resources (network bandwidth, [8] access to a printer, images, CD jukebox etc.) across the network. At HP Labs he was the architect for the Virus Safe Computing project. While at Google he developed Caja, an environment for secure execution of JavaScript. He has also written articles on complex adaptive systems [9] and risk mitigation strategies for future technologies. [10]

Miller has been pursuing a stated goal of enabling cooperation between untrusting partners. [11] Miller sees this as a fundamental feature required to power economic interactions, and the main piece that has been missing in the toolkit available to software developers. Miller has returned to this issue repeatedly since the Agoric Open Systems Papers from 1988.

Miller's most prominent contributions have been in the area of programming language design, most notably, the E Language, which demonstrated language-based secure distributed computing. The work inspired several adaptations to other programming paradigms. He was also instrumental on the ECMAScript standards committee (TC39) in providing the foundations for development of Secure EcmaScript (SES), a standards track evolution that will make full capability programming available in JavaScript. [12]

Miller's work has been written up in Wired [13] which described his work as the inspiration for database researcher Michael Stonebraker's Mariposa, developed at Berkeley.

Major publications

Related Research Articles

<span class="mw-page-title-main">JavaScript</span> High-level programming language

JavaScript, often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. As of 2023, 98.7% of websites use JavaScript on the client side for webpage behavior, often incorporating third-party libraries. All major web browsers have a dedicated JavaScript engine to execute the code on users' devices.

<span class="mw-page-title-main">Single instruction, multiple data</span> Type of parallel processing

Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal and it can be directly accessible through an instruction set architecture (ISA), but it should not be confused with an ISA. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneously.

ECMAScript is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is standardized by Ecma International in the document ECMA-262.

JScript is Microsoft's legacy dialect of the ECMAScript standard that is used in Microsoft's Internet Explorer web browser.

<span class="mw-page-title-main">Guy L. Steele Jr.</span> American computer scientist (born 1954)

Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.

Joule is a capability-secure massively-concurrent dataflow programming language, designed for building distributed applications. It is so concurrent that the order of statements within a block is irrelevant to the operation of the block. Statements are executed whenever possible, based on their inputs. Everything in Joule happens by sending messages. There is no control flow. Instead, the programmer describes the flow of data, making it a dataflow programming language.

Ecma International is a nonprofit standards organization for information and communication systems. It acquired its current name in 1994, when the European Computer Manufacturers Association (ECMA) changed its name to reflect the organization's global reach and activities. As a consequence, the name is no longer considered an acronym and no longer uses full capitalization.

E is an object-oriented programming language for secure distributed computing, created by Mark S. Miller, Dan Bornstein, Douglas Crockford, Chip Morningstar and others at Electric Communities in 1997. E is mainly descended from the concurrent language Joule and from Original-E, a set of extensions to Java for secure distributed programming. E combines message-based computation with Java-like syntax. A concurrency model based on event loops and promises ensures that deadlock can never occur.

<span class="mw-page-title-main">JSON</span> Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

ECMAScript for XML (E4X) is the standard ISO/IEC 22537:2006 programming language extension that adds native XML support to ECMAScript. The goal is to provide an alternative to DOM interfaces that uses a simpler syntax for accessing XML documents. It also offers a new way of making XML visible. Before the release of E4X, XML was always accessed at an object level. E4X instead treats XML as a primitive. This implies faster access, better support, and acceptance as a building block of a program.

In computer science, future, promise, delay, and deferred refer to constructs used for synchronizing program execution in some concurrent programming languages. They describe an object that acts as a proxy for a result that is initially unknown, usually because the computation of its value is not yet complete.

Chip Morningstar is an American software architect, mainly for online entertainment and communication.

CommonLoops is an early programming language which extended Common Lisp to include Object-oriented programming functionality and is a dynamic object system which differs from the OOP facilities found in static languages such as C++ or Java. Like New Flavors, CommonLoops supported multiple inheritance, generic functions and method combination. CommonLoops also supported multi-methods and made use of metaobjects. CommonLoops and New Flavors were the primary ancestors of CLOS. CommonLoops was supported by a portable implementation known as Portable CommonLoops (PCL) which ran on all Common Lisp implementations of the day.

The object-capability model is a computer security model. A capability describes a transferable right to perform one operations on a given object. It can be obtained by the following combination:

<span class="mw-page-title-main">Douglas Crockford</span> American computer programmer

Douglas Crockford is an American computer programmer who is involved in the development of the JavaScript language. He specified the data format JSON, and has developed various JavaScript related tools such as the static code analyzer JSLint and minifier JSMin. He wrote the book JavaScript: The Good Parts, published in 2008, followed by How JavaScript Works in 2018. He was a senior JavaScript architect at PayPal until 2019, and is also a writer and speaker on JavaScript, JSON, and related web technologies.

Caja was a Google project for sanitizing third party HTML, CSS and JavaScript. On January 31, 2021, Google archived the project due to known vulnerabilities and lack of maintenance to keep up with the latest web security research, recommending instead the Closure toolkit.

<span class="mw-page-title-main">Carl Hewitt</span> American computer scientist; Planner programming languagedesigner (1944-2022)

Carl Eddie Hewitt was an American computer scientist who designed the Planner programming language for automated planning and the actor model of concurrent computation, which have been influential in the development of logic, functional and object-oriented programming. Planner was the first programming language based on procedural plans invoked using pattern-directed invocation from assertions and goals. The actor model influenced the development of the Scheme programming language, the π-calculus, and served as an inspiration for several other programming languages.

CommonJS is a project to standardize the module ecosystem for JavaScript outside of web browsers.

ECMAScript is a JavaScript standard developed by Ecma International. Since 2015, major versions have been published every June.

References

  1. "Senior Research Fellows". Foresight Institute. Retrieved April 15, 2020.
  2. Robust Composition:Towards a Unified Approach to Access Control and Concurrency Control, PhD thesis.
  3. "Mark. S. Miller". Agoric. 8 February 2023. Retrieved December 25, 2023.
  4. Ecma Technical Committee 39 (TC39) coalesces on future direction of Web Programming Language
  5. "Building a Virus-Safe Computing Platform - About the speaker". web.stanford.edu. Palo Alto, CA: Stanford University. 3 December 2003.
  6. "Mark S. Miller". Research at Google. Archived from the original on 12 March 2019.
  7. "SunLabs annual report 1995". Archived from the original on 2009-02-07. Retrieved 2009-02-07.
  8. An automated auction in ATM network bandwidth
  9. Miller, Mark (1 December 1996). "Learning Curve". Reason.
  10. Peterson, Christine; Miller, Mark S.; Duettmann, Allison (2017). "Cyber, Nano, and AGI Risks: Decentralized Approaches to Reducing Risks" (PDF). Foresight Institute.
  11. Smart Contracts: Patterns of Cooperation without Vulnerability
  12. Ecma International, Technical Committee 39. "Draft Proposal for SES (Secure EcmaScript)". GitHub. Retrieved April 15, 2020.{{cite web}}: CS1 maint: numeric names: authors list (link)
  13. Sidell, Jeff (1 December 1996). "Geek Page". Wired.