Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Patrick Lincoln is active.

Publication


Featured researches published by Patrick Lincoln.


Theoretical Computer Science | 2002

Maude: specification and programming in rewriting logic

Manuel Clavel; Francisco Durán; Steven Eker; Patrick Lincoln; Narciso Martí-Oliet; José Meseguer; José F. Quesada

Maude is a high-level language and a high-performance system supporting executable specification and declarative programming in rewriting logic. Since rewriting logic contains equational logic, Maude also supports equational specification and programming in its sublanguage of functional modules and theories. The underlying equational logic chosen for Maude is membership equational logic, that has sorts, subsorts, operator overloading, and partiality definable by membership and equality conditions. Rewriting logic is reflective, in the sense of being able to express its own metalevel at the object level. Reflection is systematically exploited in Maude endowing the language with powerful metaprogramming capabilities, including both user-definable module operations and declarative strategies to guide the deduction process. This paper explains and illustrates with examples the main concepts of Maudes language design, including its underlying logic, functional, system and object-oriented modules, as well as parameterized modules, theories, and views. We also explain how Maude supports reflection, metaprogramming and internal strategies. The paper outlines the principles underlying the Maude system implementation, including its semicompilation techniques. We conclude with some remarks about applications, work on a formal environment for Maude, and a mobile language extension of Maude.


rewriting techniques and applications | 2003

The maude 2.0 system

Manuel Clavel; Francisco Durán; Steven Eker; Patrick Lincoln; Narciso Martí-Oliet; José Meseguer; Carolyn L. Talcott

This paper gives an overviewof the Maude 2.0 system. We emphasize the full generality with which rewriting logic and membership equational logic are supported, operational semantics issues, the new built-in modules, the more general Full Maude module algebra, the new META-LEVEL module, the LTL model checker, and new implementation techniques yielding substantial performance improvements in rewriting modulo. We also comment on Maudes formal tool environment and on applications.


Electronic Notes in Theoretical Computer Science | 1996

Principles of Maude

Manuel Clavel; Steven Eker; Patrick Lincoln; José Meseguer

Abstract This paper introduces the basic concepts of the rewriting logic language Maude and discusses its implementation. Maude is a wide-spectrum language supporting formal specification, rapid prototyping, and parallel programming. Maudes rewriting logic paradigm includes the functional and object-oriented paradigms as sublanguages. The fact that rewriting logic is reflective leads to novel metaprogramming capabilities that can greatly increase software reusability and adaptability. Control of the rewriting computation is achieved through internal strategy languages defined inside the logic. Maudes rewrite engine is designed with the explicit goal of being highly extensible and of supporting rapid prototyping and formal methods applications, but its semi-compilation techniques allow it to meet those goals with good performance.


IEEE Transactions on Nanotechnology | 2003

Stochastic assembly of sublithographic nanoscale interfaces

André DeHon; Patrick Lincoln; John E. Savage

We describe a technique for addressing individual nanoscale wires with microscale control wires without using lithographic-scale processing to define nanoscale dimensions. Such a scheme is necessary to exploit sublithographic nanoscale storage and computational devices. Our technique uses modulation doping to address individual nanowires and self-assembly to organize them into nanoscale-pitch decoder arrays. We show that if coded nanowires are chosen at random from a sufficiently large population, we can ensure that a large fraction of the selected nanowires have unique addresses. For example, we show that N lines can be uniquely addressed over 99% of the time using no more than /spl lceil/2.2log/sub 2/(N)/spl rceil/+11 address wires. We further show a hybrid decoder scheme that only needs to address N=O(W/sub litho-pitch//W/sub nano-pitch/) wires at a time through this stochastic scheme; as a result, the number of unique codes required for the nanowires does not grow with decoder size. We give an O(N/sup 2/) procedure to discover the addresses which are present. We also demonstrate schemes that tolerate the misalignment of nanowires which can occur during the self-assembly process.


computer and communications security | 1998

A probabilistic poly-time framework for protocol analysis

Patrick Lincoln; John C. Mitchell; Mark Mitchell; Andre Scedrov

We develop a framework for analyzing security protocols in which protocol adversaries may be arbitrary probabilistic polynomial-time processes. In this framework, protocols are written in a restricted form of pi-calculus and security may expressed as a form or observational equivalence, a standard relation from programming language theory that involves quantifying over possible environments that might interact with the protocol. Using an asymptotic notion of probabilistic equivalence, we relate observational equivalence to polynomial-time statistical tests and discuss some example protocols to illustrate the potential strengths of our approach.


ACM Transactions on Programming Languages and Systems | 1989

Efficient implementation of lattice operations

Hassan Aït-Kaci; Robert S. Boyer; Patrick Lincoln; Roger Nasr

Lattice operations such as greatest lower bound (GLB), least upper bound (LUB), and relative complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding is to plunge the given ordering into a boolean lattice of binary words, leading to an almost constant time complexity of the lattice operations. A first method is described based on a transitive closure approach. Then a more space-efficient method minimizing code-word length is described. Finally a powerful grouping technique called modulation is presented, which drastically reduces code space while keeping all three lattice operations highly efficient. This technique takes into account idiosyncrasies of the topology of the poset being encoded that are quite likely to occur in practice. All methods are formally justified. We see this work as an original contribution towards using semantic (vz., in this case, taxonomic) information in the engineering pragmatics of storage and retrieval of (vz., partially or quasi-ordered) information.


pacific symposium on biocomputing | 2001

PATHWAY LOGIC: SYMBOLIC ANALYSIS OF BIOLOGICAL SIGNALING

Steven Eker; Merrill Knapp; Keith R. Laderoute; Patrick Lincoln; José Meseguer; M. Kemal Sönmez

The genomic sequencing of hundreds of organisms including homo sapiens, and the exponential growth in gene expression and proteomic data for many species has revolutionized research in biology. However, the computational analysis of these burgeoning datasets has been hampered by the sparse successes in combinations of data sources, representations, and algorithms. Here we propose the application of symbolic toolsets from the formal methods community to problems of biological interest, particularly signaling pathways, and more specifically mammalian mitogenic and stress responsive pathways. The results of formal symbolic analysis with extremely efficient representations of biological networks provide insights with potential biological impact. In particular, novel hypotheses may be generated which could lead to wet lab validation of new signaling possibilities. We demonstrate the graphic representation of the results of formal analysis of pathways, including navigational abilities, and describe the logical underpinnings of the approach. In summary, we propose and provide an initial description of an algebra and logic of signaling pathways and biologically plausible abstractions that provide the foundation for the application of high-powered tools such as model checkers to problems of biological interest.


Journal of Computer Security | 2004

Multiset rewriting and the complexity of bounded security protocols

Nancy A. Durgin; Patrick Lincoln; John C. Mitchell; Andre Scedrov

We formalize the Dolev-Yao model of security protocols, using a notation based on multiset rewriting with existentials. The goals are to provide a simple formal notation for describing security protocols, to formalize the assumptions of the Dolev-Yao model using this notation, and to analyze the complexity of the secrecy problem under various restrictions. We prove that, even for the case where we restrict the size of messages and the depth of message encryption, the secrecy problem is undecidable for the case of an unrestricted number of protocol roles and an unbounded number of new nonces. We also identify several decidable classes, including a DEXP-complete class when the number of nonces is restricted, and an NP-complete class when both the number of nonces and the number of roles is restricted. We point out a remaining open complexity problem, and discuss the implications these results have on the general topic of protocol analysis.


rewriting techniques and applications | 1999

The Maude System

Manuel Clavel; Fransisco Durán; Steven Eker; Patrick Lincoln; Narciso Martí-Oliet; José Meseguer; José F. Quesada

Maude is a high-performance language and system supporting both equational and rewriting logic computation for a wide range of applications, including development of theorem proving tools, language prototyping, executable specification and analysis of concurrent and distributed systems, and logical framework applications in which other logics are represented, translated, and executed. Maude’s functional modules are theories in membership equational logic [8,1], a Horn logic whose atomic sentences are either equalities t = t′ or membership assertions of the form t : s, stating that a term t has a certain sort s. Such a logic extends OBJ3’s [4] order-sorted equational logic and supports sorts, subsorts, subsort polymorphic overloading of operators, and definition of partial functions with equationally defined domains. Maude’s functional modules are assumed to be Church-Rosser; they are executed by the Maude engine according to the rewriting techniques and operational semantics developed in [1]. Membership equational logic is a sublogic of rewriting logic [6]. A rewrite theory is a pair (T, R) with T a membership equational theory, and R a collection of labeled and possibly conditional rewrite rules involving terms in the signature of T . Maude’s system modules are rewrite theories in exactly this sense. The rewrite rules r : t −→ t′ in R are not equations. Computationally, they are interpreted as local transition rules in a possibly concurrent system. Logically, they are interpreted as inference rules in a logical system. This makes rewriting logic both a general semantic framework to specify concurrent systems and languages [7], and a general logical framework to represent and execute different logics [5]. Rewriting in (T, R) happens modulo the equational axioms in T . Maude supports rewriting modulo different combinations of associativity, commutativity, identity, and idempotency axioms. The rules in R need not be Church-Rosser and need not be terminating. Many different rewriting paths are then possible; therefore, the choice of appropriate strategies is crucial for executing rewrite theories. In Maude, such strategies are not an extra-logical part of the language.


international workshop on hybrid systems: computation and control | 2004

Symbolic Systems Biology: Hybrid Modeling and Analysis of Biological Networks

Patrick Lincoln; Ashish Tiwari

How do living cells compute and control themselves, and communicate with their environment? We describe the modeling and analysis of dynamic and reactive biological systems involving both discrete and continuous behaviors, to help begin to answer that question. Continuous components arise as differential equations specifying how the concentrations of various molecular species evolve over time. Discrete components of models of biological systems arise from state transitions (eg. from healthy to abnormal states), abstractions and approximations, nonlinear effects, and the presence of inherently discrete processes, often observed in systems governed by one or a few molecules. Once a hybrid model is obtained, analysis techniques such as those described in this and previous HSCC workshops can be usefully applied to help uncover structure in the dynamics of biological systems of interest.

Collaboration


Dive into the Patrick Lincoln's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Narciso Martí-Oliet

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andre Scedrov

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge