Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Barbara Lerner

dblp:l/BSLerner · also Barbara J. Staudt, Barbara Staudt Lerner · DBLP profile ↗
← Back
11ranked-venue papers
5as first author
0since 2021 · last 2010
0000-0002-8345-706XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 3 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
9 papers
Requirements engineering and software design · 59% Program verification · 17% Software maintenance and evolution · 12%
Databases, data mining, and information retrieval
1 paper
Data models and query languages · 100%

Topics — the 18 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
business process modeling
0.112010
Exception Handling Patterns for Process Modeling · IEEE Trans. Software Eng. 2010
Requirements engineering and software design
design patterns
0.112010
Exception Handling Patterns for Process Modeling · IEEE Trans. Software Eng. 2010
Requirements engineering and software design
software architecture
0.132004
Containment units: a hierarchically composable architecture for adaptive systems · SIGSOFT FSE 2002
Using Little-JIL to Coordinate Agents in Software Engineering · ASE 2000
Verifying process models built using parameterized state machines · ISSTA 2004
Program verification
model checking
0.012004
Verifying process models built using parameterized state machines · ISSTA 2004
Program verification › model checking
process model verification
0.012004
Verifying process models built using parameterized state machines · ISSTA 2004
Data models and query languages › schema management
schema evolution
0.012000
A model for compound type changes encountered in schema evolution · ACM Trans. Database Syst. 2000
Data models and query languages
type system
0.012000
A model for compound type changes encountered in schema evolution · ACM Trans. Database Syst. 2000
Programming languages and type systems › domain-specific languages
process modeling language
0.012000
Little-JIL/Juliette: a process definition language and interpreter · ICSE 2000
Requirements engineering and software design › software process
process programming
0.012000
Using Little-JIL to Coordinate Agents in Software Engineering · ASE 2000
Software maintenance and evolution
software evolution
0.021997
TESS: Automated Support for the Evolution of Persistent Types · ASE 1997
TransformGen: Automating the Maintenance of Structure-Oriented Environments · ACM Trans. Program. Lang. Syst. 1994
Software maintenance and evolution › software evolution
type evolution
0.011997
TESS: Automated Support for the Evolution of Persistent Types · ASE 1997
Compilers and program optimization
program transformation
0.011994
TransformGen: Automating the Maintenance of Structure-Oriented Environments · ACM Trans. Program. Lang. Syst. 1994
Reconfigurable computing and FPGAs
dynamic reconfiguration
0.012002
Containment units: a hierarchically composable architecture for adaptive systems · SIGSOFT FSE 2002
Programming languages and type systems › programming environment
structure editors
0.011992
Automated Customization of Structure Editors · Int. J. Man Mach. Stud. 1992
Programming languages and type systems › concurrent programming languages
coordination languages
0.012000
Little-JIL/Juliette: a process definition language and interpreter · ICSE 2000
Requirements engineering and software design
software process
0.012000
Using Little-JIL to Coordinate Agents in Software Engineering · ASE 2000
Programming languages and type systems
type systems
0.011997
TESS: Automated Support for the Evolution of Persistent Types · ASE 1997
Programming languages and type systems
grammar formalisms
0.011994
TransformGen: Automating the Maintenance of Structure-Oriented Environments · ACM Trans. Program. Lang. Syst. 1994

Methods — techniques the papers use, named apart from their topics

statistical survey · 0.1pattern cataloging · 0.1static analysis · 0.1transformer generation · 0.1schema comparison · 0.1operational semantics · 0.1parameterized state machine composition · 0.0labeled transition system analysis · 0.0graphical syntax · 0.0automated data migration · 0.0
YearPublicationVenuePosition
2010 Exception Handling Patterns for Process Modeling
abstract
Process modeling allows for analysis and improvement of processes that coordinate multiple people and tools working together to carry out a task. Process modeling typically focuses on the normative process, that is, how the collaboration transpires when everything goes as desired. Unfortunately, real-world processes rarely proceed that smoothly. A more complete analysis of a process requires that the process model also include details about what to do when exceptional situations arise. We have found that, in many cases, there are abstract patterns that capture the relationship between exception handling tasks and the normative process. Just as object-oriented design patterns facilitate the development, documentation, and maintenance of object-oriented programs, we believe that process patterns can facilitate the development, documentation, and maintenance of process models. In this paper, we focus on the exception handling patterns that we have observed over many years of process modeling. We describe these patterns using three process modeling notations: UML 2.0 Activity Diagrams, BPMN, and Little-JIL. We present both the abstract structure of the pattern as well as examples of the pattern in use. We also provide some preliminary statistical survey data to support the claim that these patterns are found commonly in actual use and discuss the relative merits of the three notations with respect to their ability to represent these patterns.
Barbara Lerner, Stefan Christov, Leon J. Osterweil, Reda Bendraou, Udo Kannengiesser, Alexander E. Wise
IEEE Trans. Software Eng.1
2004 Verifying process models built using parameterized state machines
abstract
Software process and work flow languages are increasingly used to define loosely-coupled systems of systems. These languages focus on coordination issues such as data flow and control flow among the subsystems and exception handling activities. The resulting systems are often highly concurrent with activities distributed over many computers. Adequately testing these systems is not feasible due to their size, concurrency, and distributed implementation. Furthermore, the concurrent nature of their activities makes it likely that errors related to the order in which activities are interleaved will go undetected during testing. As a result, verification using static analysis seems necessary to increase confidence in the correctness of these systems. In this paper, we describe our experiences applying LTSA to the analysis of software processes written in Little-JIL. A key aspect to the approach taken in this analysis is that the model that is analyzed consists of a reusable portion that defines language semantics and a process-specific portion that uses parameterization and composition of pieces of the reusable portion to capture the semantics of a Little-JIL process. While the reusable portion was constructed by hand, the parameterization and composition required to model a process is automated. Furthermore, the reusable portion of the model encodes the state machines used in the implementation of the Little-JIL interpreter. As a result, analysis is based not just on the intended semantics of the Little-JIL constructs but on their actual execution semantics. This paper describes how Little-JIL processes are translated into models and reports on analysis results, which have uncovered seven errors in the Little-JIL interpreter that were previously unknown as well as an error in a software process that had previously been analyzed with a different approach without finding the error.
Barbara Lerner
ISSTA1
2002 Containment units: a hierarchically composable architecture for adaptive systems
abstract
Software is increasingly expected to run in a variety of environments. The environments themselves are often dynamically changing when using mobile computers or embedded systems, for example. Network bandwidth, available power, or other physical conditions may change, necessitating the use of alternative algorithms within the software, and changing resource mixes to support the software. We present Containment Units as a software architecture useful for recognizing environmental changes and dynamically reconfiguring software and resource allocations to adapt to those changes. We present examples of Containment Units used within robotics along with the results of actual executions, and the application of static analysis to obtain assurances that those Containment Units can be expected to demonstrate the robustness for which they were designed.
Jamieson M. Cobleigh, Leon J. Osterweil, Alexander E. Wise, Barbara Lerner
SIGSOFT FSE4
2000 Little-JIL/Juliette: a process definition language and interpreter
abstract
Little-JIL, a language for programming coordination in processes is an executable, high-level language with a formal (yet graphical) syntax and rigorously defined operational semantics. The central abstraction in Little-JIL is the “step,” which is the focal point for coordination, providing a scoping mechanism for control, data, and exception flow and for agent and resource assignment. Steps are organized into a static hierarchy, but can have a highly dynamic execution structure including the possibility of recursion and concurrency.
Aaron G. Cass, Barbara Lerner, Stanley M. Sutton Jr., Eric K. McCall, Alexander E. Wise, Leon J. Osterweil
ICSE2
2000 Using Little-JIL to Coordinate Agents in Software Engineering
abstract
Little-JIL, a new language for programming the coordination of agents, is an executable, high-level process programming language with a formal (yet graphical) syntax and rigorously defined operational semantics. Little-JIL is based on two main hypotheses. The first is that the specification of coordination control structures is separable from other process programming language issues. Little-JIL provides a rich set of control structures while relying on separate systems for support in areas such as resource, artifact and agenda management. The second hypothesis is that processes can be executed by agents who know how to perform their tasks but can benefit from coordination support. Accordingly, each step in Little-JIl is assigned to an execution agent (human or automated). These agents are responsible for initiating steps and performing the work associated with them. This approach has so far proven effective in allowing us to clearly and concisely express the agent coordination aspects of a wide variety of software, workflow and other processes.
Alexander E. Wise, Aaron G. Cass, Barbara Lerner, Eric K. McCall, Leon J. Osterweil, Stanley M. Sutton Jr.
ASE3
2000 A model for compound type changes encountered in schema evolution
abstract
Schema evolution is a problem that is faced by long-lived data. When a schema changes, existing persistent data can become inaccessible unless the database system provides mechanisms to access data created with previous versions of the schema. Most existing systems that support schema evolution focus on changes local to individual types within the schema, thereby limiting the changes that the database maintainer can perform. We have developed a model of type changes involving multiple types. The model describes both type changes and their impact on data by defining derivation rules to initialize new data based on the existing data. The derivation rules can describe local and nonlocal changes to types to capture the intent of a large class of type change operations. We have built a system called Tess (Type Evolution Software System) that uses this model to recognize type changes by comparing schemas and then produces a transformer that can update data in a database to correspond to a newer version of the schema.
Barbara Lerner
ACM Trans. Database Syst.1
1999 Modeling Resources for Activity Coordination and Scheduling
Rodion M. Podorozhny, Barbara Lerner, Leon J. Osterweil
COORDINATION2
1997 TESS: Automated Support for the Evolution of Persistent Types
abstract
Persistent data often has a long lifetime. During its lifetime, the types that are used to structure the data may undergo evolution to support new requirements or provide more efficient services. This evolution often makes the persistent data inaccessible unless it also evolves with the types. Existing systems that support type and data evolution focus on changes isolated to individual types, thereby limiting what can be easily accomplished during maintenance. We extend this work by presenting a model of compound type changes that can also describe changes simultaneously involving multiple types and their effects on data. We then describe TESS (Type Evolution Software System), a system to automate the evolution of types and their associated data when the types undergo compound type changes.
Barbara Lerner
ASE1
1994 TransformGen: Automating the Maintenance of Structure-Oriented Environments
abstract
A serious problem for programs that use persistent data is that information created and maintained by the program becomes invalid if the persistent types used in the program are modified in a new release. Unfortunately, there has been little systematic treatment of the problem; current approaches are manual, ad hoc, and time consuming both for programmers and users. In this article we present a new approach. Focusing on the special case of managing abstract syntax trees in structure-oriented environments, we show how automatic transformers can be generated in terms of an implementor's changes to the grammar of these environments.
David Garlan, Charles W. Krueger, Barbara Lerner
ACM Trans. Program. Lang. Syst.3
1992 Automated Customization of Structure Editors
Barbara Lerner
Int. J. Man Mach. Stud.1
1985 The evolution of the GANDALF system
Robert J. Ellison, Barbara Lerner
J. Syst. Softw.2