programming distributed data-intensive web and mobile applications is gratuitously hard. As the world is moving more and more toward the software as services model, we have to come up with practical solutions to build...
详细信息
ISBN:
(纸本)9781595938657
programming distributed data-intensive web and mobile applications is gratuitously hard. As the world is moving more and more toward the software as services model, we have to come up with practical solutions to build distributed systems that are approachable for normal programmers. Just like Visual Basic democratized programming Windows by removing much of the boilerplate, such as message pumps and window handles, that contributed more to the problem than to the solution, we propose a toolkit of language extensions, APIs, and tools that do the same for web programming. As a result, ordinary programmers can concentrate on the essential aspects of building distributed and mobile applications such as partitioning and flowing code and data across tiers, deployment, security, etc. without getting bogged down in low level details.
Elephant 2000 is a proposed programming language good for writing and verifying programs that interact with people (e.g., transaction processing) or interact with programs belonging to other organizations (e.g., elect...
详细信息
ISBN:
(纸本)9781595938657
Elephant 2000 is a proposed programming language good for writing and verifying programs that interact with people (e.g., transaction processing) or interact with programs belonging to other organizations (e.g., electronic data interchange). Communication inputs and outputs are in an I/O language whose sentences are meaningful speech acts identified in the language as questions, answers, offers, acceptances, declinations, requests, permissions, and promises. The correctness of programs is partly defined in terms of proper performance of the speech acts. Answers should be truthful and responsive, and promises should be kept. Sentences of logic expressing these forms of correctness can be generated automatically from the form of the program. Elephant source programs may not need data structures, because they can refer directly to the past. Thus a program can say that an airline passenger has a reservation if he has made one and hasn't cancelled it. Elephant programs themselves can be represented as sentences of logic. Their extensional properties follow from this representation without an intervening theory of programming or anything like Hoare axioms. Elephant programs that interact non-trivially with the outside world can have both input-output specifications, relating the programs inputs and outputs, and accomplishment specifications concerning what the program accomplishes in the world. These concepts are respectively generalizations of the philosophers' illocutionary and perlocutionary speech acts. Programs that engage in commercial transactions assume obligations on behalf of their owners in exchange for obligations assumed by other entities. It may be part of the specifications of an Elephant 2000 program that these obligations are exchanged as intended, and this too can be expressed by a logical sentence. Human speech acts involve intelligence. Elephant 2000 is on the borderline of Al, but the talk emphasizes the Elephant usages that do not require AI.
A facility with front room and back room operations has the option of hiring specialized or, more expensive, cross-trained workers. Assuming stochastic customer arrival and service times, we seek a smallest-cost combi...
详细信息
Ownership domain annotations enable obtaining at compile-time the system's execution structure from the annotated program. The execution structure is sound, hierarchical (and thus more scalable) and conveys more d...
详细信息
ISBN:
(纸本)9781595938824
Ownership domain annotations enable obtaining at compile-time the system's execution structure from the annotated program. The execution structure is sound, hierarchical (and thus more scalable) and conveys more design intent than flat object graphs obtained by existing static analyses that do not rely on annotations.
Rewriting logic semantics provides an environment for defining new and existing languages. These language definitions are formal and executable, providing language interpreters almost for free while also providing a f...
详细信息
ISBN:
(纸本)9781595938657
Rewriting logic semantics provides an environment for defining new and existing languages. These language definitions are formal and executable, providing language interpreters almost for free while also providing a framework for building analysis tools, such as type checkers, model checkers, and abstract interpreters. Large subsets of several existing object-oriented languages have been defined, while a new research language, KOOL, has been created as a platform for experimenting with language features and type systems. At the same time, new tools and formalisms aimed specifically at programming languages are being developed.
There has been recognition that the writers' workshop process is beneficial for the production of high quality papers ever since the first patterns conference or PLoP was held in 1994. In this OOPSLA workshop, att...
详细信息
ISBN:
(纸本)9781595938657
There has been recognition that the writers' workshop process is beneficial for the production of high quality papers ever since the first patterns conference or PLoP was held in 1994. In this OOPSLA workshop, attendees will participate in a writers' workshop of their paper as well as writers' workshops for papers of other attendees in their group. Participants who do not have a paper to workshop are also invited. Everyone will be expected to read all the papers in their groups in advance. The organizers of this workshop were all involved in PLoP '06 and would like to continue a close association between this important patterns activity and OOPSLA. Our hope is that the relationship will benefit both OOPSLA, by attracting authors of papers that are works-in-progress, and PLoP, by allowing authors who might not be able to attend PLoP to participate in the writers' workshop process.
The proceedings contain 110 papers. The topics discussed include: making frameworks work: a project retrospective;once upon a time, like never before: the challenge of telling the next story;second life: the world'...
详细信息
ISBN:
(纸本)9781595938657
The proceedings contain 110 papers. The topics discussed include: making frameworks work: a project retrospective;once upon a time, like never before: the challenge of telling the next story;second life: the world's biggest programming environment;collaboration and telecollaboration in design;Elephant 2000: a programming language based on speech acts;precise software documentation: making object-orientation work better;context, perspective, and programs;complexity management;1st international workshop on in process software engineering measurement and analysis (ISEMA 2007);the first international workshop on patterns languages: addressing challenges (PLAC 2007);fifth international workshop on SOA & Web services best practices;and the 7th OOPSLA workshop on domain-specific modeling.
Since the introduction of object-oriented programming few programming languages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively ...
详细信息
ISBN:
(纸本)9781595937865
Since the introduction of object-oriented programming few programming languages have attempted to provide programmers with more than objects and classes, i.e., more than two levels. Those that did, almost exclusively aimed at describing language properties - i. e., their metaclasses exert linguistic control on language concepts and mechanisms often in order to make the language extensible. In terms of supporting logical domain classification levels, however, they are still limited to two levels. In this paper we conservatively extend the object-oriented programming paradigm to feature an unbounded number of domain classification levels. We can therefore avoid the introduction of accidental complexity into programs caused by accommodating multiple domain levels within only two programming levels. We present a corresponding language design featuring "deep instantiation" and demonstrate its features with a running example. Finally, we outline the implementation of our compiler prototype and discuss the potentials of further developing our language design.
Action description language C+ is more expressive than ADL in many ways;for instance, it addresses the ramification problem. On the other hand, ADL is based on first-order logic, while C+ is only propositional;express...
详细信息
Agents' pro attitudes such as goals, intentions, desires, wishes, and judgements of satisfactoriness play an important role in how agents act rationally. To provide a natural and satisfying formalization of these ...
详细信息
暂无评论