WO2010027666A3 - Flexible base class library - Google Patents

Flexible base class library Download PDF

Info

Publication number
WO2010027666A3
WO2010027666A3 PCT/US2009/054302 US2009054302W WO2010027666A3 WO 2010027666 A3 WO2010027666 A3 WO 2010027666A3 US 2009054302 W US2009054302 W US 2009054302W WO 2010027666 A3 WO2010027666 A3 WO 2010027666A3
Authority
WO
WIPO (PCT)
Prior art keywords
framework
base class
library
class library
flexible base
Prior art date
Application number
PCT/US2009/054302
Other languages
French (fr)
Other versions
WO2010027666A2 (en
Inventor
Patrick H. Dussud
Scott D. Mosier
Peter F . Sollich
Frank V . Peschel-Gallee
Raja Krishnaswamy
Simon J . Hall
Madhusudhan Talluri
Rudi Martin
Michael M . Magruder
Andrew Pardoe
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to CN200980135194.3A priority Critical patent/CN102144226B/en
Priority to BRPI0916698A priority patent/BRPI0916698A2/en
Priority to EP09811951.4A priority patent/EP2321739A4/en
Publication of WO2010027666A2 publication Critical patent/WO2010027666A2/en
Publication of WO2010027666A3 publication Critical patent/WO2010027666A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44584Portable applications, i.e. making applications self-contained, e.g. U3 standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.
PCT/US2009/054302 2008-09-03 2009-08-19 Flexible base class library WO2010027666A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200980135194.3A CN102144226B (en) 2008-09-03 2009-08-19 Flexible base class library
BRPI0916698A BRPI0916698A2 (en) 2008-09-03 2009-08-19 flexible base class library
EP09811951.4A EP2321739A4 (en) 2008-09-03 2009-08-19 Flexible base class library

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/203,860 2008-09-03
US12/203,860 US8271938B2 (en) 2008-09-03 2008-09-03 Flexible base class library

Publications (2)

Publication Number Publication Date
WO2010027666A2 WO2010027666A2 (en) 2010-03-11
WO2010027666A3 true WO2010027666A3 (en) 2010-05-06

Family

ID=41727185

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/054302 WO2010027666A2 (en) 2008-09-03 2009-08-19 Flexible base class library

Country Status (5)

Country Link
US (1) US8271938B2 (en)
EP (1) EP2321739A4 (en)
CN (1) CN102144226B (en)
BR (1) BRPI0916698A2 (en)
WO (1) WO2010027666A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8424107B2 (en) * 2010-06-14 2013-04-16 Microsoft Corporation Selectively exposing base class libraries based on application execution context
US9519468B2 (en) 2015-02-13 2016-12-13 Oracle International Corporation Modular co-versioning in a dynamically linked runtime environment
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications
US11954023B2 (en) 2022-07-20 2024-04-09 Microsoft Technology Licensing, Llc Garbage collection prefetching state machine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195476A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Platform for data services across disparate application frameworks
US20060200759A1 (en) * 2005-03-04 2006-09-07 Microsoft Corporation Techniques for generating the layout of visual content
US20080134016A1 (en) * 2006-11-30 2008-06-05 Secure Elements, Inc. Device, system and/or method for providing schema-independent access to object in documents

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2855797B2 (en) * 1990-06-15 1999-02-10 富士ゼロックス株式会社 Document processing device
US5907707A (en) * 1997-01-14 1999-05-25 International Business Machines Corporation Object model for Java
US6513152B1 (en) * 1997-07-23 2003-01-28 International Business Machines Corporation Object oriented framework mechanism for customization of object oriented frameworks
US6564375B1 (en) * 1999-07-23 2003-05-13 Cisco Technology, Inc. Reusable components for customization of wizard-based applications
US6754887B1 (en) * 1999-10-22 2004-06-22 International Business Machines Corporation Methods for implementing virtual bases with fixed offsets in object oriented applications
US7140012B2 (en) * 2001-03-09 2006-11-21 Bea Systems, Inc. Method and apparatus for multi-version updates of application services
US20030056195A1 (en) * 2001-07-19 2003-03-20 Hunt Joseph R. Code generator
US7076785B2 (en) * 2001-08-15 2006-07-11 Microsoft Corporation Lazy loading with code conversion
US7340718B2 (en) * 2002-09-30 2008-03-04 Sap Ag Unified rendering
US20040133445A1 (en) * 2002-10-29 2004-07-08 Marathon Ashland Petroleum L.L.C. Generic framework for applying object-oriented models to multi-tiered enterprise applications
US7293254B2 (en) * 2003-09-18 2007-11-06 Microsoft Corporation Extensibility application programming interface and framework for meta-model objects
US7406464B2 (en) * 2003-12-08 2008-07-29 Ebay Inc. Custom caching
US7392370B2 (en) * 2004-01-14 2008-06-24 International Business Machines Corporation Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics
US20050198624A1 (en) * 2004-03-02 2005-09-08 Chipman Timothy W. Method and system for program transformation
US20050229186A1 (en) * 2004-03-15 2005-10-13 Canyonbridge, Inc. Method and apparatus for dynamic runtime object aggregation
DE102005009529A1 (en) * 2005-03-02 2006-09-07 Siemens Ag Method for data processing with integration of two frameworks via a generic block to communicate between the frameworks
US7689985B2 (en) * 2005-03-04 2010-03-30 Microsoft Corporation Versioning support for drivers frameworks
US20060212847A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Type checker for a typed intermediate representation of object-oriented languages
US7644403B2 (en) * 2005-09-12 2010-01-05 Oracle International Corporation Method and system for automated root-cause analysis for class loading failures in java
US8024721B2 (en) * 2006-09-01 2011-09-20 Sap Ag System and method for implementing a safe framework
US20080059949A1 (en) * 2006-09-01 2008-03-06 Sap Ag System and method for implementing a safe framework
US7934207B2 (en) * 2006-12-19 2011-04-26 Microsoft Corporation Data schemata in programming language contracts
US9471282B2 (en) * 2007-03-21 2016-10-18 Ca, Inc. System and method for using annotations to automatically generate a framework for a custom javaserver faces (JSF) component

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195476A1 (en) * 2005-02-28 2006-08-31 Microsoft Corporation Platform for data services across disparate application frameworks
US20060200759A1 (en) * 2005-03-04 2006-09-07 Microsoft Corporation Techniques for generating the layout of visual content
US20080134016A1 (en) * 2006-11-30 2008-06-05 Secure Elements, Inc. Device, system and/or method for providing schema-independent access to object in documents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2321739A4 *

Also Published As

Publication number Publication date
EP2321739A2 (en) 2011-05-18
CN102144226B (en) 2014-08-06
US8271938B2 (en) 2012-09-18
BRPI0916698A2 (en) 2015-11-17
US20100058283A1 (en) 2010-03-04
EP2321739A4 (en) 2014-10-29
CN102144226A (en) 2011-08-03
WO2010027666A2 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
EP1938499A4 (en) Controllers, observers, and applications thereof
WO2009036400A9 (en) Methods and systems for generating desktop environments providing integrated access to remote and local resources
EP2144569A4 (en) Devices, systems, and methods for accessing the epicardial surface of the heart
WO2012058219A3 (en) Deuterium enriched rasagiline
WO2012116246A3 (en) Pesticidal compostions and processes related thereto
BRPI0911184A2 (en) rigid but flexible coatings and substrates coated with the same
WO2007117586A3 (en) Method and system for interactive simulation of materials
EP1727671A4 (en) Coatings containing nanotubes, methods of applying the same and transparencies incorporating the same
GB0511749D0 (en) Resisting the spread of unwanted code and data
PL2113101T3 (en) Providing unique views of data based on changes or rules
WO2007145875A3 (en) Data coding
IL192169A (en) Butylphthalide intravenous emulsion and application thereof
AR060693A1 (en) METHODS FOR MAKING POLYESTER RESINS IN POLYCHONDENSATION REACTORS IN THE FUNDED STATE OF DESCENDING FILM
NL1032361A1 (en) Cupboard with electronic lock.
BRPI0912249A2 (en) method of preventing the development of rheumatoid arthritis in individuals with undifferentiated arthritis.
BRPI0814341A2 (en) Method of producing an anti-reflective silica coating, resulting product, and photovoltaic device comprising the same.
IL217702A0 (en) Actinic ray-sensitive or radiation-sensitive resin composition, and resist film and pattern forming method using the same
WO2010027666A3 (en) Flexible base class library
EP2545412A4 (en) Actinic ray-sensitive or radiation-sensitive resin composition, and resist film and pattern forming method using the same
GB0507254D0 (en) Electronic learning environment
DE502004003469D1 (en) Safety-related transmission of data
WO2012016026A3 (en) Electrolarynx devices and uses thereof
EP2411873A4 (en) Actinic ray-sensitive or radiation-sensitive resin composition, resist film using the same and pattern forming method
WO2009073892A8 (en) Elastic tags
WO2007078746A3 (en) Computational and/or control systems related to individualized nutraceutical selection and packaging

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980135194.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09811951

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2009811951

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: PI0916698

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20110126